Разделы портала

Онлайн-тренинги

.
Как выбрать инструмент для тест-автоматизации?
14.01.2019 00:00

Автор: Катрина Клоки (Katrina Clokie).

Оригинал статьи

Перевод: Ольга Алифанова.

Когда вы договорились о том, что хотите автоматизировать, следующий шаг – это выбор подходящего инструмента. Я, как тестировщик, наблюдала разговоры об этом со стороны, когда менеджеры и люди, выбирающие инструмент, обсуждали ровно один фактор.

Стоимость

Не поймите меня неверно, менеджеров должна беспокоить финансовая сторона вопроса. Но выбор инструмента на основании исключительно его стоимости – это очень глупо, и я убеждена, что большинство менеджеров это понимает.

Вместо того, чтобы ставить стоимость во главу угла при принятии этого решения, откладывайте ее обсуждение, пока вас не спросят напрямую, сколько это будет стоить. Как эксперт по тестированию, в беседе о выборе инструмента вы должны защищать другие его аспекты, которые очень важно иметь в виду.

Поддержка

Стоит выбирать инструмент, который хорошо поддерживается: в этом случае вы будете уверены, что в случае возникновения проблем к вам придут на помощь.

Если вы заказываете инструмент у поставщика, есть ли у него официальная поддержка? Будет ли у вашей компании контрактная договоренность с поставщиком на случай, если что-то пойдет не так? Сколько времени займет ответ на ваш запрос, если у вас возникнут проблемы или появятся вопросы? Работает ли поддержка в вашем часовом поясе? В Новой Зеландии поддержка редко коррелирует с моими рабочими часами, и любой инцидент будет ждать разрешения до утра. Это сильно влияет на окружение со скоростными процессами разработки.

Если это инструмент с открытым исходным ходом, или популярный коммерческий продукт, насколько сильно он поддерживается документацией и пользовательским сообществом? Ища информацию об инструменте в сети, находите ли вы множество постов и статей? Пишут ли их люди со всего света? Есть ли информация на вашем языке? Отвечают ли на вопросы, заданные на форумах и в дискуссионных группах? Выглядит ли предоставленная документация полезной? Можно ли сделать вывод, что существуют люди, пользующиеся инструментом на экспертном уровне, или же все, что вы видите в сети, связано с экспериментированием или проблемами в продукте на начальной стадии?

Другой аспект поддержки – определить, как часто она вам понадобится. Если инструмент хорошо спроектирован, то можно надеяться, что он интуитивно понятен в использовании. Недостаток онлайн-сообщества может означать, что инструмент настолько качественный, что людям не нужна поддержка за его пределами, они и так знают, что делать, и могут достичь экспертного уровня, пользуясь ресурсами, предоставляемыми вместе с инструментами.

Срок жизни

Как долго этот инструмент существует? В сроке жизни как таковом нет ничего плохого или хорошего. Если вы расширяете легаси-приложение, вам может понадобиться такой же пожилой инструмент. Если вы работаете в новеньком JavaScript-фреймворке, вам может подойти инструмент, еще находящийся в стадии бета-тестирования. Однако очень важно оценивать каждую ситуацию с открытыми глазами, изучая историю инструмента и его возможное будущее.

Срок жизни не касается только первого релиза – он также связан с качеством поддержки и обновлений. Насколько часто он меняется? Когда вышло последнее обновление? Идет ли еще активная разработка? Как правило, не стоит выбирать инструмент, который не развивается сам, однако предназначен для тестирования все еще развивающейся технологии.

Интеграция

Интеграция – это очень широкий термин, и тут надо иметь в виду ряд различных вещей.

Как этот инструмент интегрируется с другими частями вашей технологии? В зависимости от того, что вы планируете тестировать, это может быть важным (или неважным). В моей организации автоматизация веб-сервисов обычно находится в отдельной базе кода по отношению к веб-приложениям, однако браузерные тесты Selenium делят базу кода с продуктом. Это значит, что технология автоматизации веб-сервисов не имеет никакого значения, однако внедрение наших Selenium-тест-наборов должно сохранять совместимость с решениями и идеями разработчиков и архитекторов.

Какие навыки требуются для использования инструмента, и как они коррелируют с навыками в вашей организации? Если у вас уже есть фреймворки для этого типа тестирования, использующие другие инструменты, подумайте, насколько имеет смысл диверсифицировать решения. Прежде чем двигаться дальше, остановитесь и оцените, насколько инструмент подходит людям в вашей компании, учитывая обучение и изменения будущих планов.

Интеграция также связана с тем, будет ли инструмент внедряться в окружение разработки или процессов, используемых командой. Если вы хотите, чтобы ваши разработчики участвовали в автоматизации тестирования, очень важно иметь в виду этот фактор, выбирая инструмент. Чем меньше контекстный сдвиг в этом случае, тем лучше. Если они могут использовать тот же репозиторий кода и то же IDE-окружение на своей машине, а также свои имеющиеся навыки в определенном языке программирования – вы, скорее всего, преуспеете и добьетесь их активного участия. Схожим образом поддержка совместной одновременной работы над тестами, чистого мержа от нескольких авторов, механизма для ревью и обратной связи – это важные моменты, которые надо иметь в виду, оценивая интеграцию инструмента с вашей командой.

Анализируйте

В обсуждениях выбора инструмента с менеджментом выигрывают те, кто способен внятно объяснить, почему инструмент А лучше инструмента Б, причем не только с технической стороны. Покажите, что вы глубоко размышляли о последствиях вашего выбора и о том, как он повлияет на организацию сейчас и в будущем.

Очень полезно подготовиться к разговору об инструментах. Осмотрите все доступные варианты и широко их оцените. Не ставьте стоимость во главу угла, пусть это будет последним, что вас беспокоит – активно отстаивайте достоинства выбранного решения в плане поддержки, срока жизни и интеграции вместе с другими аспектами, которые могут быть важны в вашем конкретном случае.

Вы не всегда получите тот инструмент, который хотите, но решение, принятое менеджментом на основании предоставленной вами информации – результата тщательного анализа доступных вариантов – будет куда проще принять, нежели решение, принятое вслепую или основанное исключительно на цене.

Обсудить в форуме