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

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

.
Автоматизация тестирования – это ваш огород
06.06.2016 11:04

Автор: Дороти Грэм (Dorothy Graham)

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

Оригинал статьи: http://dorothygraham.blogspot.ru/2016/05/test-automation-as-orchard.html

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

Автоматизация – это ОЧЕНЬ просто.

Переформулирую, пожалуй – зачастую автоматизация кажется очень простой штукой.

Когда вы смотрите на первое демо, или запускаете свой первый автотест, вы чувствуете себя волшебником . Ого-го! Это так круто! Хотел бы я уметь печатать так быстро!

Но хорошая автоматизация сильно отличается от этого вашего первого запуска.

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

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

С чего начать?

Для начала стоит выяснить, какие именно фрукты вы хотите выращивать. Яблоки? Апельсины (не очень разумный выбор, если вы британец)? Определите, насколько хороша ваша почва, какой климат в вашей стране, а также разузнайте, каковы тенденции вашего рынка сбыта – кому нужен фрукт, который никто не хочет ни покупать, ни есть?

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

Болезни роста

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

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

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

Подкормка, пестициды и болезни

Со временем вам придется начать удобрять почву, чтобы деревья получали достаточно питания и росли здоровыми и сильными.

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

Вам также придется иметь дело с плодожорками, которые атакуют ваши деревья и грызут ваши фрукты.

Какое отношение это имеет к автоматизации? Да самое прямое! Разве в скриптах не могут образоваться баги? А в инструментах? Да сколько угодно! И вам нужно уметь справляться с ними, уметь их искать и уничтожать.

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

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

Сбор урожая

Как насчет сбора фруктов? Я видела специальные машины, которые трясут деревья и собирают падальцы. Это неплохо для сидра или яблочных соусов, но мне не хотелось бы видеть паданцы на своем столе. Автоматизация не заменит ручное тестирование. Машины помогут вам, но они не всемогущи (ну и кто-то все-таки должен ими управлять).

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

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

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

Маркетинг, продажи, роли, ожидания

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

Автоматизацию тоже нужно продать! Нужно убедиться, что менеджеры и заинтересованные лица понимают, какую ценность приносит автоматизация, и готовы поддерживать ее и оплачивать ее.

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

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

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

Заключение

Хотите вырастить автоматизированное тестирование? Помните о том, что:

  • Это занимает время
  • Необходимо подготовить почву
  • А также выбрать правильные тесты
  • И быть готовым подрезать или рефакторить их
  • И справляться с багами и болезнями
  • Вам понадобится хорошая структура, чтобы автоматизация переживала перемены в проекте
  • Вам нужно несколько различных ролей, задействованных в автоматизации
  • Вы должны уметь ее "продать" и установить реалистичные ожидания
  • И если вы не забываете о всех предыдущих пунктах, то вы достигнете отличных результатов!

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