AI у QA: що справді варто використовувати у 2025 році

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Вітаю, спільното! Мене звати Андрій Опрофат, я QA Lead у компанії Patrianna LTD близько півтора року та понад 9 років загалом в галузі. За такий час починаєш швидко помічати нові популярні тренди. В моменті ці тренди відчуваються революційними та здатними змінити майбутнє нашої галузі. Деякі з них дійсно впливають на правила та стають базисом, що визначає технологічне майбутнє на десятки років наперед.

Інтернет, клієнт-серверна архітектура чи Біг-Дата — показові приклади. Інші технології, незважаючи на оптимістичні прогнози, залишаються обмеженими однією-двома сферами застосування. Яскравий приклад — блокчейн.

Головний тренд в IT

Якщо сьогодні поцікавитися думкою айті-інженерів, яку технологію вони вважають найбільш проривною, то найпопулярнішою відповіддю буде Генеративний AI. Цей новий інструмент може як зняти з вас частину робочих обов’язків, так і змусити змінити професію через конкуренцію, що виникла з його появою.

Галузь QA — не виняток. Наша професія певною мірою перебуває на межі технології та людського сприйняття. Одна з найцінніших якостей куа — «інтуїція тестувальника», взагалі набувається роками й навряд може бути замінена алгоритмом. Однак AI є потужним інструментом, а його використання може вигідно виділити інженера на тлі інших претендентів на роботу або додати кілька сотень доларів до компенсації під час переговорів.

І якщо ви вирішили, що саме робота з AI-тулами буде вигідно доповнювати ваше резюме, то перш за все потрібно розібратись в категоріях, щоб зрозуміти, з чим саме ви будете працювати.

Визначаємось з категоріями

Великі мовні моделі (LLM) — це такі системи, як GPT, Grok, DeepSeek та Gemini. Найкраще вони працюють з текстами. В дуже спрощеному вигляді це можна уявити так: ви пишете запит, а модель залежно від того, чому її навчили, видає результат.

Наприклад, ви можете попросити GPT написати тестовий репорт з даними від вас до зустрічі зі стейкхолдерами. Але якщо ви спитаєте, коли буде ця зустріч, то не отримаєте відповіді, тому що у LLM нема доступу до вашого календаря.

Важливо розуміти, що попри величезний об’єм даних, на яких навчаються мовні моделі, у них немає доступу до вашої особистої інформації чи до даних вашої компанії, якщо ви самі цього не налаштували.

Крім того, LLM — пасивні, самі вони нічого не роблять, а лише чекають вашого запиту.

Тепер припустимо, що ви підключили до моделі свій календар та TestRail з Jira. Тоді LLM вже зможе створити репорт та дати відповідь на питання про час зустрічі. Спочатку модель під’єднається до вашого календаря, а потім видасть відповідь. Але якщо далі ви спитаєте про погоду в цей день, то LLM знову зависне, оскільки ви прописали перевіряти лише календар.

Звісно, наразі моделі вже можуть піти в інтернет, якщо у них не вистачає інформації, але це приклад, щоб ви зрозуміли — якщо ви спитаєте щось, до чого у моделі нема доступу, вона не зможе дати відповідь.

В цій ситуації у нас з’являється AI-форкфлоу — заздалегідь заданий план дій для AI. В технічному плані це називається логікою управління.

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

При цьому навіть якщо цих кроків буде на два, а сто, це все одно буде AI-форкфлоу, тому що рішення, які дані перевіряти, які сервіси підключити, як їх пов’язувати один з одним, ухвалює все ще сама людина.

Але є ще третій левел — власне, AI-агенти. Під ними ми розуміємо такі AI-форкфлоу, в яких роль людини виконує сама мовна модель.

В нашому прикладі це може виглядати так: ми просимо створити нам тестовий репорт, AI-агент збирає дані з нашого TestRail та Jira, пов’язує їх між собою, формує репорт, підключає іншу мовну модель, яка порівнює репорт з попередніми та перевіряє відповідність корпоративним вимогам до таких репортів, а повертає першій моделі з корективами. Перша LLM редагує репорт, він знову перевіряється другою моделлю та відправляється на принтер біля вашого робочого місця. Звісно, це умовний приклад, але він дає зрозуміти різницю між категоріями. І так, універсальних AI-агентів поки не існує, хоча з деякими функціями вони вже справляються досить добре.

Чим користуватись QA

А тепер давайте розглянемо AI-інструменти, які я та мої колеги бачимо корисними, з невеликим описом того, як їх можна застосувати в роботі.

Disclaimer! Будь-яка LLM може «галюцинувати»: видавати неперевірену інформацію та вигадувати «факти». Зрештою, відповідальність лежить на QA-інженері, так що результати роботи агентів необхідно завжди валідувати!

Іншим критично важливим моментом є відсутність конфіденційності. Підходити до роботи потрібно з установкою, що все сказане буде збережено на серверах LLM. Отже, дані, що вводяться, потрібно фільтрувати з урахуванням цього ризику.

І почати варто з одного з інструментів, що найчастіше використовуються.

GPT стає гуглом у багатьох кейсах, дозволяє заощадити час при пошуках потрібної інформації.

  • Потрібно придумати додаткові тестові сценарії? Легко.
  • Знайти інформацію про дозволені для введення в поле мейлу символи? Будь ласка.
  • Незрозуміло, що конкретно мав на увазі девелопер/менеджер/куа своєю абревіатурою? Давай вирішимо це без зайвих запитань до колег.
  • Потрібно проаналізувати вимоги? Тримай.
  • Скласти документ чи інструкції? Ок, тільки скажи, коли зупинитися, я можу і на 40 сторінок розписати двокрокову дію.
  • Аналіз результатів тестування? Дай мені секунд 10 — незалежно від того, який обсяг даних.

Postman. Знайомий і такий рідний листоноша тепер теж з AI: допомога у створенні запитів з автозаповненням параметрів на основі раніше введених даних; Smart Testing — аналізує результати тестів та пропонує додаткові сценарії; Anomaly Detection — виявляє аномалії у результатах, що потенційно скорочує час на пошук рут-коза. Загалом звертайте увагу на таких «старих знайомих», вони теж можуть приємно здивувати.

Zero Steps. Корисний інструмент, може непогано перетворювати текстові сценарії на автотести з AI-розпізнаванням UI-елементів. Таким чином можемо швидко покрити типові сценарії, які потім провалідуємо вже вручну.

IDE-плагін Cursor. Генерація коду, автоматичний рефакторинг та пошук за кодом — це все допомагає скоротити рутину та підвищити продуктивність автоматизації.

AI-агенти типу n8n. Дозволяють тонко налаштувати процес за алгоритмом тригер (якась подія, наприклад, падіння тесту) — збір даних з логів — створення завдання (самі сформують тікет у Jira) — звіт (створять та прикріплять посилання на нього, щоб команда не втрачала час на пошук).

Testim. Аналізує дії користувача та за ними створює автотести. Серед цікавих функцій — Self-healing, яка самостійно оновлює автотести при змінах в UI. Ну і Smart Locators — використовує машинне навчання для розпізнавання елементів на сторінці навіть за зміни атрибутів.

Katalon Studio. Крім вже знайомого нам Self-healing пропонує інші цікаві функції. Smart Wait — аналізує час завантаження елемента і динамічно керує затримками, чим покращує стабільність тестів. Test Suit Recommendation — аналізує результати тестів і пропонує потенційно оптимальні с’юти, щоб заощадити час і розширити покриття.

mabl. Ті ж функції зі створення автотестів і Self-healing, а ще непогано аналізує результати ранів, допомагає виявляти аномалії, дає рекомендації щодо оптимізації тестових сценаріїв.

SmartBear/TestComplete. Це допомога у створенні автотестів, Self-healing, а також ще кілька функцій, що інтригують. Оптичне розпізнавання символів (OCR) — розпізнає текст у зображеннях, а це вже можливість тестування динамічного контенту. Image Recognition — розпізнає елементи на основі їх візуального подання. Корисно, коли потрібно протестувати застосунок з нестандартними елементами інтерфейсу. Smart Steps — аналіз кроків тесту в пошуках повторень, які функція пропонує спростити/замінити.

Functionize. Ще один продукт, який допомагає в автоматизації та підтримці автотестів, а також з аналізом та оптимізацією. Приблизно те саме, але дорожче :)

SeleniumBase. Фреймворк на базі Selenium, який покликаний допомогти в автоматизації тестування. Крім цієї допомоги та Self-healing тут є цікава фішка, яка називається Smart Waits: AI в автоматичному режимі управляє Expected Results, що покращує стабільність тестів.

Чого чекати далі

Ми почали з ретроспективного погляду на технології, одні з яких пішли в небуття, поки інші завоювали місце під сонцем. Яка доля чекає на AI? Точної відповіді не знає ніхто, як би авторитетно не звучала його думка. Однак дозволимо собі зробити прогноз. AI зараз — на вершині хайпу, а отже через деякий час ми більш чітко побачимо його обмеження і популярність піде на спад. Проте сама технологія нікуди не зникне і залишиться з нами при вирішенні повсякденних задач.

При цьому важливо пам’ятати, і про це вже говорять вчені, що кожного разу, коли ми доручаємо завдання AI, ми потроху послаблюємо свої когнітивні навички. А будь-який скіл, яким ми не користуємося (або делегуємо іншому агенту), стає трохи складнішим для нас. Тому використовуйте AI обережно, не дозволяйте йому замінити ваші професійні навички. Адже саме вони роблять вас експертом.

Це перший ознайомчий матеріал по AI для QA інженерів. Якщо тема виявиться цікавою, більш детально розберемо інструменти з їх особливостями та прикладами роботи.

Ну і поділіться в коментарях, як ви використовуєте AI? Безперечно, ви знайомі з іншими корисними інструментами, які допоможуть колегам по тестувальній справі ;)

Сподобалась стаття? Підписуйтесь на автора, щоб отримувати сповіщення про нові публікації на пошту.

👍ПодобаєтьсяСподобалось11
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Пропрацював з TestComplete 5 років, автоматизація тестів для десктопу. Починав ще з 12-ї версії (зараз 14.nn). Дорогий і «хитрий» в ліцензуванні.
Спочатку треба придбати ліцензію TestComplete Platform — окрема ліцензія, але з ним ви нічого не зробите. Потрібно докупити модулі в залежності від того, що вам потрібно — Desktop / Mobile / Web — модуль, окремі ліцензії на кожен модуль. Якщо планується запускати тести на CI (а вам це знадобиться), треба придбати TestExecute — урізаний TestComplete, без IDE, тільки з можливістю запуску тестів, окрема ліцензія. Image Recognition — нічого особливого, порівнював з цікавості з OpenCV — результат той самий, підозрюю, що під капотом може OpenCV і є :). Для OCR потрібен Intelligent Quality Add-On, привіт — окрема ліцензія :)

Для автотестів для десктопу — може найкріщій движок, або один з найкращіх, бачить API методи і проперті контролів, підтримує багато типів контролів на додачу до розповсюджених (VCL, DevExpress, JavaFX ). Для автотестів для мобільних платформ, можливо, теж. Дуже зручно, що у них є плагін до Jenkins.

Для автотестів для вебу — не бачу сенсу, в порівнянні з Playwright. Треба дуже постаратися щоб обґрунтувати, чому треба витратити купу грошей на нього для тестування вебу :)

Дякую, що ділитесь власним досвідом!

На рахунок «хитрих ліцензій» — ну звісно, як без цього :)

якщо захочете більш практично почути та побачити як саме ШІ можна впровадити та що можна навайбкодити, приходьте на мій благодіййний тренінг)
dou.ua/calendar/55636

Підписатись на коментарі