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

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

.
Как вовлечь своих коллег в процесс автоматизации
09.10.2015 13:09

Автор: Грег Сиполт

Оригинал статьи: http://sauceio.com/index.php/2015/08/getting-the-existing-team-on-board-with-automation-scripts/

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

Введение

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

"Единственный способ принять перемены - это погрузиться в них, осознавать их, двигаться в танце с ними" - Алан Уоттс.

Все хоть раз в жизни проходили собеседование. К нему нужно готовиться! Первые минуты собеседования могут стать решающими в вопросе, возьмут ли вас на работу. Почему? Да потому, что первое впечатление - всегда самое сильное. Никогда не недооценивайте силу первых впечатлений. Используйте аналогичный подход при внедрении автоматизации в команде ручных тестировщиков. Считайте, что презентация нового подхода вашей команде или организации - это собеседование. Тщательно подготовьтесь к нему. Оправдайте ожидания команды, разъясните им их новые обязанности - это очень важно, потому что люди склонны эмоционально реагировать любые потенциальные угрозы их работе.

 

В чем плюсы автоматизации?

Если все и так идет хорошо, зачем нам автоматизация? Затем, чтобы успевать больше, тратя меньше сил - ручное тестирование просто не справится с такой задачей. Однако и автоматизация - не панацея. Тем не менее, если она грамотно внедрена, она повысит гибкость команды и сократит время тестирования.

Источник изображения: http://marketing-works.net/

Типы подходов к автоматизации

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

Запись и воспроизведение

Гибкий подход для людей без опыта программирования.

Keyword-Driven

Тип функционального автоматизированного тестирования, известный также как table-driven / action-word-based.

Data-Driven

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

Modularity-Driven

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

Управление ожиданиями

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

Как этого добиться?

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

Распределение ролей и обязанностей

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

Роль

Обязанности

Необходимые навыки

QA Lead

Создает первичную стратегию тестирования, оценивает временные затраты, документирует все, что относится к качеству продукта и тестовому покрытию, определяет риски, обучает тестированию других членов команды. Тестирует вручную сам, и при необходимости разрабатывает скрипты для автоматизации.

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

QA-инженер
Инженер по автоматизации
Инженер-программист

Проектирование и разработка скриптов автоматизации. Скрипты могут создаваться на основе ручных сценариев (например, ручной регрессии), перерабатываясь с учетом возможностей автоматизации.

Хорошее знание соответствующих инструментов, навык тестирования, базовые знания о программировании.

Ведущий инженер по автоматизации
Разработчик скриптов

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

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

DevOps-инженер

Проектирование и настройка тестового окружения. Обновление программного обеспечения для автоматизации. Эти задачи может также выполнять ведущий инженер.

Отличное знание тестовых окружений, инструментов, практик и процессов.

Развитие командных навыков

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

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

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

Будущее - это не просто автоматизированное тестирование

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

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

Грег Сиполт (@gregsypolt) - ведущий инженер в компании Ганнетт и один из основателей Quality Element. Он занимается автоматизацией и стремится оптимизировать качество, обучая свою команду писать отличные скрипты и помогая советами сообществу тестировщиков. Грег занимается обеспечением качества практически всю жизнь, специализируясь на браузерах, API и мобильных приложениях. В течение последних пяти лет он фокусируется на создании и внедрении стратегий автоматизированного тестирования, фреймворков, инструментов и платформ.