Что такое TestFest, или Как мы тестируем без отдельного QA

[Об авторе: Сергей Королев — управляющий директор в Railsware с более чем 15-летним опытом работы в ИТ: от стартапов до корпораций. Инженер, продакт-оунер, бизнес-лидер]

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

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

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

Что такое TestFest

Мы стараемся, чтобы покрытие unit- и интеграционными тестами кода стремилось к 100%. Более того, функциональность каждой новой фичи проверяется повторно на TestFest.

TestFest — это сессия мануального тестирования фич до перехода в продакшн. Участники команды тестируют соседние фичи (те, которые не разрабатывали сами), тем самым получая доступ к более широкой картине функциональности продукта. Частота проведения сессии зависит от стадии разработки. В активной фазе TestFest-ом заканчивается каждая итерация (раз в 2 недели). На стадии более комплексных итераций или рефакторинга TestFest проводится реже.

Планирование

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

Scrum Master, Product Manager или Lead Engineer (в зависимости от структуры команды) отвечает за формирование списка чоров и фич для тестирования.

Составляя указанный список, ведущий утверждает с командой среду для тестирования:

  • Девайсы для тестирования — десктоп, лэптоп, планшеты, смартфоны с разным разрешением экрана.
  • Операционные системы — Macintosh, Windows, Linux, iOS, Android и т. п.
  • Браузеры — Safari, Chrome, FireFox, Internet Explorer, Edge и т. п.

Ведущий процесса должен убедиться, что каждый участник TestFest получил свой уникальный набор «девайс-ОС-браузер».

Если у команды нет доступа ко всем девайсам или операционным системам, можно использовать эмуляторы. Например, мы часто пользуемся BrowserStack.com — инструмент разработан специально для тестирования, и может имитировать множество устройств и операционных систем.

Сессия

Главный результат TestFest — список выявленных багов. Мы предпочитаем работать с результатами в тот же день: если улучшения не терпят до следующей итерации, они сразу берутся в работу. Остальные проблемы обсуждаются, получают свой приоритет и добавляются в общий скоуп для последующего исправления и покрытия тестами.

В результате проведения сессии получаем лог такого формата:

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

Почему это работает

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

Но, при комплексном подходе, альтернативы внедрения функции ручного QA существуют. Одну из них наша команда испробовала при переходе к модели software consultancy. Наши способы тестирования продуктов были трансформированы на ряду с остальными подходами. Как результат, мы смогли оптимизировать функцию QA, что привело к сокращению потребности в отдельном тестировщике. Сегодня Quality Assurance обеспечивается unit- и integration-тестами, парным программированием, кросс ревью кода, а также результатами TestFest сессий (больше деталей в предыдущей статье).

Среди основных преимуществ трансформации QA и применения TestFest-ов выделю следующие:

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

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

Похожие статьи:
Длительность: 2,5 месяца Хочешь стать JavaScript разработчиком или прокачать свои знания на новый качественный уровень? Курс «Понятный...
Відтепер клієнти «ПриватБанку» і Payoneer зможуть користуватися новими функціями у «Приват24», щоб швидше отримувати кошти з Payoneer...
Oftentimes consumers seek out more affordable rates for their car insurance, home insurance, life insurance, and more. Here are some common questions, “Where is the best place to find better insurance rates? Should you call a 1-800...
Сегодня компания Samsung Electronics представила новинки серии смартфонов Samsung Galaxy S –  Samsung Galaxy S7 и Galaxy S7 edge, которые она...
С развитием технологий мир меняется. Все больше функций и процессов автоматизируются, все менее востребован...
Яндекс.Метрика