Как стратегия Quality Assistance позволяет выпускать более качественные приложения

Традиционно тестирование — последний этап перед выходом продукта на рынок, и нередко именно из-за него откладывается релиз. QA Lead IT Test Дмитрий Трофимов рассказывает о новом подходе к тестированию, которому следуют Atlassian, Canva и Wolt, и том, как перераспределение ролей в команде разработки позволяет повысить качество и сократить сроки.

Как стратегия Quality Assistance позволяет выпускать более качественные приложения

При разработке любого проекта формируют стратегию тестирования — подробное описание целей и конкретных действий QA-команды, инструментов и возможных рисков.

По опыту, большинство стратегий, как правило, описывают только этапы тестирования. Например: изучить ТЗ, написать кейсы, проверить фичу, провести регресс. Разница может быть разве что в типе тестирования: проверяем мы поэтапно каждый модуль и приходим к тестированию всего ПО или, наоборот, начинаем с ядра приложения и спускаемся от основных функций к отдельным модулям. В любом случае, в стратегиях редко уделяют достаточно внимания автоматизации. Хотя именно автоматизация — один из главных трендов в тестировании.

Cреди всех тестовых стратегий выделю Quality Assistance — подход, который разработала команда Atlassian и взяли на вооружение другие крупные компании.

Задача стратегии Quality Assistance — закрыть потребность в тестировании приложения автотестами, которые для своего кода пишут разработчики. QA-инженерам в этом случае остается протестировать только то, что невозможно автоматизировать — насколько удобен интерфейс, как сложно пользоваться ПО людям с ограниченными возможностями и многое другое. Для бизнеса это выгодно, ведь тогда одной команды QA хватает на несколько команд разработки.

Quality Assistance опирается на четыре принципа

  • Качество кода

    Разработчик не релизит новую фичу, не покрыв ее автотестами. Разработка фактически становится последним звеном перед релизом и не может рассчитывать на команды QA, альфа- или бета-тесты.

  • Скорость

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

  • Независимость

    Команда разработки не полагается на QA и ревью.

  • Совершенствование

    Каждая команда, использующая Quality Assistance, улучшает и адаптирует стратегию под себя.

Так как одна команда QA часто помогает сразу нескольким командам разработки, освободившиеся ресурсы можно направить на улучшение продукта. Например, заняться анализом слабых мест, анализом метрик или увеличить ресурсы в области нефункциональных тестов (UX, нагрузка, безопасность).

Однако основная задача команды QA при стратегии Quality Assistance — прокачать команду разработки. Для этого тестировщики принимают на себя роль менторов:

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

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

Поскольку команда QA принимает минимальное участие в самом тестировании, смысла в отдельном запуске тестов и регрессов нет. А значит, продукт можно выпускать сразу после создания актуального билда. На этом этапе будут запущены автотесты и, если что-то пойдет не так, разработка узнает об этом сразу.

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

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

Больше экспертных материалов о заказной разработке, дизайне и тестировании в Telegram-канале IT Test.

3636
1 комментарий