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

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

.
Ошибки в автоматизации
23.12.2020 00:00

Автор: Тоби Стид (TobySteed)
Оригинал статьи
Перевод: Ольга Алифанова

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

К сожалению, такие компании – редкость, поэтому, обнаружив себя в такой ситуации, легко испытать головокружение от всего, что вы хотите сделать и чего достичь. Однако куда меньшая редкость – это в один прекрасный день открыть бэклог или доску JIRA (или того инструмента, которым вы пользуетесь), и увидеть, что все сложности по запуску новой тест-автоматизации, все ее проблемы и задачи дистиллированы в один-единственный тикет – зачастую с расплывчатым именем вроде "Создание автотестов".

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

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

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

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

Еще тут стоит иметь в виду, что даже если вы сделали все правильно и отнеслись к автотестам как к сложному проекту (что правда), надо запланировать, что вы будете делать потом. Тест-автоматизация – это не то, что можно просто поднять, запустить, сделать вид, что все готово, и умыть руки. Поддержку тест-автоматизации надо всегда иметь в виду – ее можно снизить через грамотное планирование и внедрение, но полностью избавиться от этих издержек нельзя.

Ниже – пять моментов, которые помогут вам спланировать и запустить успешный проект по тест-автоматизации:

  1. Неважно, каким инструментом отслеживания вы пользуетесь – JIRA, Azure, Favro– создайте отдельный проект/пространство для тикетов по тест-автоматизации. Проведите декомпозицию, как для любого другого проекта, создайте эпики, стори, задачи, спайки. Сделайте спринты и релизы с четкой целью, чтобы вам было к чему стремиться и чего достигать, а не просто бесцельно копаться в тикетах.
  2. Планируйте долгосрочно. Не будьте близоруким, не стремитесь к быстрым выигрышам. Возможно, это поможет вам запуститься быстрее, но зачастую приведет к серьезным проблемам позднее. Выбирайте инструменты и технологии, основываясь на долгосрочных целях. Идти на компромисс в некоторых аспектах, чтобы стартовать побыстрее, нормально, но не стройте фундамент своих автотестов на краткосрочных целях.
  3. Убедитесь, что у вас есть способ запустить эти тесты. Неважно, виртуальная ли это лаборатория, облако или физическая машина. Избегайте необходимости запускать тесты на собственной машине. Если это все, что у вас есть сейчас, то это лучше, чем ничего, но со временем ваши тесты будут прогоняться дольше, и их эффективный прогон заставит вас сидеть на руках в ожидании, когда они завершатся.
  4. Не работайте в одиночку, пусть вам помогут разработчики. Для действительно успешной тест-автоматизации вам нужна поддержка разработчиков, и нет ни одной причины для них не участвовать в таком проекте – неважно, в создании тестов, работе с фреймворком или даже прогоне тестов. Вам необходимо сотрудничать с разработчиками, чтобы убедиться, что ваша система непрерывной интеграции правильно и эффективно настроена – это важно для успешного проекта по тест-автоматизации.
  5. Настаивайте, настаивайте, настаивайте еще. В ходе проекта вы с гарантией столкнетесь с препятствиями. Вам понадобится лицензия, настройка окружения, или что-то тривиальное, вроде необходимых прав. В зависимости от того, как далеко надо тянуться для решения этих вопросов, и количества канцелярщины, связанной с заказом и оплатой лицензии, может показаться, что вы тут бессильны, или что это вне вашей компетенции. Не сидите и не ждите милостей от природы! Не бойтесь быть навязчивым. Я столько раз видел, как препятствие заставляло большой проект, набравший высокую скорость, тормозить со скрежетом – а потом все сидели и ждали, чтобы кто-то что-нибудь с этим сделал. Со временем, если проект еще не дает отдачи, бороться за ресурсы и поддержку будет все сложнее. Не давайте вашим усилиям пропасть втуне, потому что вы столкнулись с препятствием.