Рубріки: Опыт

Деньги — не единственная «приманка»: 5 выгод от внедрения автоматизированных тестов на проекте

Ілля Книш

В первой части своей статьи на Highload я рассказывал о финансовом обосновании инвестиций в автотесты. Теперь сосредоточимся на том, как построить процесс оценки выгоды от автоматизации тестирования.

Поверьте, заинтересовать клиента в этом вопросе можно не только экономией денег.

Обоснование инвестиций: ваши основные шаги

Вместе с проектным менеджером, QA, разработчиком продукта и экспертом по автоматизации вы должны пройти несколько этапов. Вот они.

1 Оценить ситуацию

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

2 Определить техническую сложность

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

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

Следует знать интерфейсы взаимодействия с системой и ее архитектуру, понимать, реально ли предсказать ожидаемое поведение системы. На базе собранных данных продумайте варианты реализации автотестов. Можно даже создать Proof of Concept.

3 Подсчитать ROI

Это основной этап, когда у вас будет прогноз оправдания инвестиций. Говорить о конкретных показателях вряд ли стоит.

На одном проекте вы сможете продать автоматизированные тесты при 3%, а на другом и 20% будет мало.

Иногда автоматизация тестирования имеет смысл даже при ROI меньше нуля. Просто здесь целесообразность автотестов измеряется не в финансовой плоскости. Больше об этом расскажу дальше.

4 Подготовить план работ

Для начала нужно ответить себе на три вопроса:

  • Тестирование чего вы автоматизируете? Это может касаться фронтенда, бэкенда или их составных частей.
  • Когда желаете внедрять автотесты? Это можно делать, например, после разработки бэкенда, на стабильной GUI или при наличии черновика тестовых сценариев и т.д.
  • Какие тесты будут автоматизированы: интеграционные, системные или компонентные на уровне сервисов?

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

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

Прочие выгоды от внедрения автоматизированных тестов

Деньги — не единственная «приманка» инвестиций. Некоторые компании позволяют себе не экономить бюджеты. Но в общем-то любые инновации на проекте клиенты воспринимают как риск. Они нуждаются в вводе в команду новых ролей, сложных процессов и потоков данных. Поэтому прибыльному бизнесу невысокий ROI не всегда интересен. Для таких заказчиков необходимо искать другие преимущества автоматизированного тестирования.

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

Ускорение доставки функционала на продакшн

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

Автоматизированное тестирование длится гораздо меньше по сравнению с мануальным. При этом обратная связь в команде становится более плотной.

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

Переход к стратегии Shift-left

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

В идеале автоматизированное тестирование проходит сразу после написания кода. Например, при наличии smoke-тестовОзначает минимальный набор тестов на явные ошибки. Этот тест обычно выполняется самим программистом. Программу, которая не прошла такой тест, нет смысла передавать на более глубокое тестирование., которые привязаны к CI/CD, разработчик видит ошибки после деплоя и по ходу дела исправляет их. Это также помогает экономить время и деньги на разработке.

Улучшение регрессионного тестирования

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

Более подходящий к тестированию продукт

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

Благодаря активному взаимодействию девелоперов и тестировщиков может появиться совершенно новый функционал для тестирования.

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

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

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


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

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

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Останні статті

Токсичные коллеги. Как не стать одним из них и прекратить ныть

В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…

07.12.2023

Делать что-то впервые всегда очень трудно. Две истории о начале карьеры PM

Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…

04.12.2023

«Тыжпрограммист». Как люди не из ІТ-отрасли обесценивают профессию

«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…

15.11.2023

Почему чат GitHub Copilot лучше для разработчиков, чем ChatGPT

Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…

13.11.2023

Как мы используем ИИ и Low-Code технологии для разработки IT-продукта

Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…

07.11.2023

Университет или курсы. Что лучше для получения IT-образования

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

19.10.2023