Експертка і QA-інженерка міжнародного рівня Яніна Шингельська розповідає, як машинне навчання змінює підхід до запуску продуктів.
Активний розвиток нейромереж та інструментів на основі штучного інтелекту викликає хвилювання у багатьох фахівців у сфері IT, включно з тестувальниками. У професійному співтоваристві обговорюється, чи може AI замінити тестувальників або стане їхнім безцінним помічником. Розвиток інструментів машинного навчання дає змогу QA-інженерам і тестувальникам перекласти аналіз величезних обсягів даних на АІ-сервіси, вважає Яніна Шингельська, провідний QA-інженер низки проєктів міжнародної консалтингової ІТ-компанії Customertimes, визнаної лідером у своїй галузі на підставі звіту ISG Provider Lens™. Проєкт Програми доступу до послуг у сфері психічного здоров’я у Вірджинії (VMAP), який Яніна веде як QA-інженер, здобув премію ISG Paragon Award™️️2024 у категорії «Інновації».
Будучи викладачем курсу для тестувальників-початківців у Quality Assurance Group, Яніна визнає, що автоматизація процесів тестування вже значно підвищила їхню ефективність, виключаючи логічні невідповідності та «людські помилки».
У бесіді з Яніною ми з’ясували, яку роль відіграє штучний інтелект у розширенні можливостей тестувальників.
— Яніно, ви як провідний фахівець із забезпечення якості в міжнародних компаніях активно працюєте над впровадженням передових методик тестування. Наскільки важливо QA-інженеру використовувати інструменти AI в роботі?
— У своїй роботі я використовую AI для аналізу вимог, це допомагає виявляти невідповідності, прогалини та потенційні проблеми ще до початку тестування. AI може порівнювати нові та старі версії документів, знаходити протиріччя і навіть пропонувати уточнення до вимог. Наприклад, GitHub Copilot допомагає в написанні коду для автоматизованих тестів, що знімає частину необхідної, але досить механічної роботи. І це дає змогу звернути увагу на нестандартні випадки тестів.
Штучний інтелект має низку переваг у питаннях аналізу вимог. Перш за все, AI аналізує задані вимоги та виявляє логічні невідповідності, які могли залишитися непоміченими. Інструменти машинного навчання допомагають виявити відсутні бізнес-правила, невраховані граничні випадки, а також вказують на нечіткі формулювання, які можуть викликати різне розуміння у команди.
Також не варто забувати і про тестування безпеки продуктів: інструменти, що використовують алгоритми машинного навчання, можуть аналізувати код і виявляти такі вразливості, як SQL-ін’єкції та міжсайтовий скриптинг.
Однак у будь-якому разі AI тільки виявляє проблеми, а остаточне рішення залишається за тестувальником.
— Ви проходили навчання за спеціальністю Software Testing і отримали міжнародний сертифікат тестувальника програмного забезпечення від найбільшої компанії професійної сертифікації ISTQB у 2022 році. За минулі роки які можливості відкрилися перед QA-фахівцями завдяки AI?
— В останні два роки інтерес до використання AI-інструментарію в тестуванні значно зріс. Тестувальники навчилися правильно використовувати нейромережі — задавати коректні промти, визначати пріоритетність дефектів і групувати їх за категоріями, чітко прописувати рекомендації.
У питанні аналізу величезних обсягів даних AI, безсумнівно, лідирує. Завдяки високій точності виконання тестів, використання AI дає змогу уникнути помилок, спричинених людським фактором, і дотримуватися чіткої послідовності тестування. Рекурентні нейронні мережі проводять аналіз відповідності вимогам у текстовому форматі, в той час як згорткові нейронні мережі працюють з візуальною складовою. Сервіс Applitools використовує візуальний AI для виявлення дефектів у користувацькому інтерфейсі та відхилень від очікуваного результату.
Інструменти AI аналізують наявні тести, усувають дублі та пропонують поліпшення. AI допомагає автоматизувати виконання регресивних тестів, прогнозувати дефекти програмного забезпечення або застосунків.
— Завдяки вашій роботі як QA-інженера над Програмою доступу до послуг у сфері психічного здоров’я у Вірджинії (VMAP), Customertimes була удостоєна престижної премії ISG Paragon Award™️️2024. Як би ви оцінили «спільне майбутнє» тестувальників і AI?
— Насправді поки що абсолютно немає приводу для тривог. AI не здатний враховувати контекст і нюанси так само добре, як людина. Плюс штучному інтелекту складно оцінити зручність інтерфейсу або придумати нестандартний тест. Зараз AI-інструменти лише знімають рутинні завдання і дають змогу фахівцям зануритися у творчі процеси.
AI — це потужний помічник, але не заміна тестувальнику. Його варто використовувати для підтримки тестування, але остаточні рішення залишаються за людиною.
— Ви розробили презентації до навчальної програми Practice of Software Testing для тих, хто ніколи не був знайомий з роботою в IT. Ваша викладацька діяльність у компанії Quality Assurance Group була відзначена премією CatalyX Champions Series Awards. На які аспекти роботи з AI ви б порадили звертати увагу новачкам?
— Для використання AI-інструментів, перш за все, необхідно зануритися в їх вивчення. Тестувальники повинні розвивати навички в галузі аналізу даних і роботи з інструментами AI. Важливо розбиратися в принципах і алгоритмах їхньої роботи, вибирати відповідні програми для вирішення різних конкретних завдань. Від цього залежить навіть підбір інструментів: на початковому етапі тестувальник може використовувати ChatGPT для написання тестів, а надалі перейти на сервіси Testim або Functionize, які автоматично створюють, виконують і адаптують тести.
Варто зазначити, що тестувальники з сертифікацією ISTQB і досвідом роботи зі AI з кожним роком користуватимуться дедалі більшим попитом. Адже, незважаючи на те що AI може полегшити процес тестування, отримані дані необхідно перевіряти ще раз. Навіть штучний інтелект не застрахований від помилок.
Важливо, щоб QA-фахівці відстежували два етичні моменти: конфіденційність і збереження даних, а також «неупередженість» AI-сервісу. Тобто в процесі роботи варто виявляти, на основі яких даних працює алгоритм.
2 Comments