Рубріки: Досвід

Гроші — не єдина «приманка»: 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 зможуть долучитися до нового виду тестування. Вони познайомляться з новими технологіями та підходами, візьмуться за цікаві для них задачі та розвиватимуться у нових напрямках. При автоматизації рутинних тестів мануальні спеціалісти можуть зосередитися на пошуку незвичайних і дуже дорогих помилок у системі. Тож автоматизація тестів — це ще й простір для розвитку команди.


Наостанок моя проста порада: будьте чесними. Якщо бачите, що вигода від автоматизованого тестування на проєкті невелика або є ризики — прямо кажіть про це. Клієнти цінують прозорість та чесність.

Ваша відкритість буде кроком до побудови довірливих стосунків із замовником. А це вже основа для довготривалої та плідної співпраці.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

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

IT в Україні йде до свого фінального кінця. І потраплятимуть туди виключно за покликом душі

Коротко про українську IT-сферу у 2024 році Це коли на одну вакансію Middle розробника по…

26.03.2024

Блокчейн-розробка сьогодні: зарплати і перспективи на ринку праці

Формування криптовалютної галузі в Україні почалося ще у 2014 – саме тоді з'явилися перші стартапи,…

18.03.2024

Скільки рішень ухвалює розробник? Погляд новачка, який запускає продукт

Автор цього блогу — Python-девелопер Сергій Солдатов, який вирішив створити досить унікальний продукт. І це…

12.03.2024

Чи треба готуватись до співбесіди?

Думки шукачів діляться на: «так, однозначно» і «ні, не вартує, я все і так про…

04.03.2024

Відкладаєте до останнього? Що таке «синдром студента» і як з ним боротися

Синдром студента — це форма прокрастинації, яка полягає в тому, що людина, якій дали завдання,…

23.02.2024

Вчимося працювати з Git: основи конфігурації, гілки, додавання файлів та директорій

Git — це найпопулярніша CVS прямо зараз, яка дозволяє відстежувати історію розробки і спільно працювати.…

20.02.2024