У першій частині своєї статті на Highload я розповідав про фінансове обґрунтування інвестицій в автотести. Тепер зосередимось на тому, як побудувати процес оцінювання вигоди від автоматизації тестування.
Повірте, зацікавити клієнта в цьому питанні можна не лише економією грошей.
Разом з проєктним менеджером, QA, розробником продукту та експертом з автоматизації ви маєте пройти кілька етапів. Ось вони.
Передусім треба зрозуміти, чи готовий проєкт до покриття тест-кейсами. На старті це неможливо, але можна на майбутнє передбачити для автоматизації необхідні технічні можливості.
У деяких випадках майже неможливо автоматизувати тести (наприклад, для відео). Іноді автоматизація невиправдано складна або дорога (як для тієї ж капчі). Зрозумійте весь обсяг зусиль на впровадження автоматизації.
Для цього розпитайте розробників про технології, які використовуються у застосунку. В ідеалі у вас має бути повноцінний стек.
Варто знати інтерфейси взаємодії із системою та її архітектуру, розуміти, чи реально передбачити очікувану поведінку системи. На основі зібраних даних продумайте варіанти реалізації автотестів. Можна навіть створити Proof of Concept.
Це основний етап, коли ви матимете прогноз виправдання інвестицій. Говорити про конкретні показники навряд чи варто.
На одному проєкті ви зможете «продати» автоматизовані тести при 3%, а на іншому й 20% буде замало.
Інколи автоматизація тестування має сенс навіть при ROI менше нуля. Просто тут доцільність автотестів вимірюється не у фінансовій площині. Більше про це розповім далі.
Для початку треба відповісти собі на три питання:
Чим більше ви зможете самі собі пояснити, тим краще вам вдасться розробити тест-план та виділити пріоритетні напрями автоматизації. На основі цих відповідей ви зможете правильно підібрати стек технологій і побудувати роадмап.
А головне — це покаже замовнику ваше розуміння бізнес-цілей, що врешті може позитивно позначитись на обговоренні вашої пропозиції.
Гроші — не єдина «приманка» інвестицій. Деякі компанії дозволяють собі не економити бюджети. Та загалом будь-які інновації на проєкті клієнти сприймають як ризик. Вони потребують введення у команду нових ролей, складних процесів і потоків даних. Через це прибутковому бізнесу невисокий ROI не завжди цікавий. Для таких замовників треба шукати інші переваги автоматизованого тестування.
Достатньо погуглити, і ви побачите десятки досліджень, які підкреслюють вигоди від такого тестування. Я ж хочу виокремити декілька найбільш значущих, на мій погляд.
Замовник швидше отримуватиме релізи завдяки тому, що паузи між розробкою, пошуком дефектів та їх усуненням стануть коротшими.
Автоматизоване тестування триває значно менше у порівнянні з мануальним. При цьому зворотний зв’язок у команді стає більш щільним.
Розробнику не треба витрачати багато часу на вивчення свого коду, який він писав кілька тижнів або навіть місяців тому. В результаті отримаємо здешевлення багів та всієї розробки.
Назва цієї моделі означає, що тестування зміщується на часовій шкалі ліворуч. Як приклад, можна згадати підхід Test Driven Development, коли тести пишуться ще до початку розробки функціоналу.
В ідеалі автоматизоване тестування відбувається одразу після написання коду. Наприклад, за наявності smoke-тестів
З автотестами регресійне тестування можна проводити частіше під час розробки. Самі ж регресії будуть менш «болісними». Адже автоматизоване тестування є стандартизованим і виключає людський фактор. Тож ризики появи помилок та їх повернення значно нижчі, ніж при мануальному тестуванні. До того ж частіші запуски не призведуть до суттєвого підвищення вартості проєкту.
Впровадження автоматизації дозволяє розробникам створити інструменти, які спростять тестування.
Завдяки активній взаємодії девелоперів та тестувальників може з’явитися абсолютно новий функціонал для тестування.
Наприклад, айдішники в UI, з якими простіше написати локатори при створенні автотестів. Або ж програми, які створюють сутності в системі, чим зазвичай займаються мануальні QA. Таким чином фахівці можуть зосередитись на інших, складніших задачах. І це знову ж таки дозволить оптимізувати бюджети.
З появою автоматизації на проєкті мануальні QA зможуть долучитися до нового виду тестування. Вони познайомляться з новими технологіями та підходами, візьмуться за цікаві для них задачі та розвиватимуться у нових напрямках. При автоматизації рутинних тестів мануальні спеціалісти можуть зосередитися на пошуку незвичайних і дуже дорогих помилок у системі. Тож автоматизація тестів — це ще й простір для розвитку команди.
Наостанок моя проста порада: будьте чесними. Якщо бачите, що вигода від автоматизованого тестування на проєкті невелика або є ризики — прямо кажіть про це. Клієнти цінують прозорість та чесність.
Ваша відкритість буде кроком до побудови довірливих стосунків із замовником. А це вже основа для довготривалої та плідної співпраці.
Днями я завзято нила про щось ChatGPT (експериментую між сеансами з живим терапевтом). І от…
«Крутіть колесо, щоб отримати знижку до 50%!» «Натисніть тут, щоб відкрити таємничу пропозицію!» «Зареєструйтесь зараз,…
Дуже хочеться робити якісь десктопні апки. Сумую за часами коли всі програми були offline-first, і…
Надсилаючи криптовалюту, багато новачків ставлять запитання: як працюють комісії та чому вони відрізняються в різних…
Нова афера набирає обертів — ось детальний розбір того, як фальшиві потенційні роботодавці намагаються вкрасти…
Соцмережа з можливістю вбудовувати повноцінні додатки прямо в пости — звучить як фантастика, але Farcaster…