«Тестувальники, які володіють інструментами ШІ, замінять тих, хто їх не використовує»
Менеджер із тестування програмного забезпечення в EPAM Наталія Богушевська розповідає, як ШІ може полегшити роботу тестувальникам, і рекомендує список джерел для вивчення цієї теми.
— Не секрет, що штучний інтелект (ШІ) стрімко увірвався у світ інформаційних технологій, — розповідає Наталія. — Уже понад 100 інструментів, які використовують різні алгоритми мовних моделей (Large Language Models — LLM), заманюють обіцянками спростити рутинні завдання.
Безумовно, усім цікаво: які саме завдання може виконувати ШІ? Як це вплине на швидкість і якість розробки програмного забезпечення? Водночас виникли загрози: ШІ замінить тестувальників, тестувати зможуть самі девелопери тощо.
Ґрунтуючись на власному досвіді, можу впевнено підтвердити: тестувальники, які володіють інструментами ШІ, замінять тестувальників, які ШІ не використовують. Ця теза справедлива як для мануальних тестувальників, так і для автоматизаторів.
ChatGPT
— У роботі мануального тестувальника ChatGPT може допомогти з:
- Аналізом вимог (requirements), генеруючи чек-листи можливих перевірок.
- Написанням тест-кейсів у певному форматі. Це може бути як стиль написання (текстовий або Gherkin), так і формат (можна створювати тест-кейси у форматі JSON/XML й одразу завантажувати в систему тест-менеджменту).
- Генерацією тестових даних (табличних, SQL, JSON/XML).
- Створенням тестової документації (тест-планів, тест-стратегій, тестових звітів).
- Створенням діаграм (mind map, state transition, sequence).
Водночас дуже важливою стає культура промптів (prompt). Для того, щоб інструмент ШІ згенерував корисну відповідь, необхідно правильно його попросити про це:
- указати ключові слова;
- надати достатній, але не зайвий контекст. Тому що ШІ іноді любить фантазувати.
Наприклад, якщо попросити ChatGPT підготувати Page Object для сторінки https://en.wikipedia.org/wiki/Main_Page (без уточнень), то у відповідь отримаємо такий текст: «Ой, я всього лише штучний інтелект. Я не можу це зробити, я можу тільки дати поради, як це зробити» (переклад з англійської). Але якщо скласти промпт коректно, результат не змусить чекати:
Промпт: Підготуй, будь ласка, Page Object мовою Java для сторінки https://en.wikipedia.org/wiki/Main_Page
Відповідь: Із задоволенням!
Лише маленьке уточнення «мовою Java» повністю змінило відповідь ChatGPT.
Ось іще кілька прикладів хороших промптів:
- Use tabular form with the columns #. Checklist Item, Pass/Fail.
- Use positive (negative) testing.
- Include localization (i18n, performance, accessibility...) testing types.
- I want you to act as a Software Testing Engineer.
GitHub Copilot
— Для автоматизатора продуктивніше застосування одночасно двох інструментів, — вважає Наталія:
- ChatGPT — для генерування ідей, коду, локаторів.
- GitHub Copilot — як «кореспондент».
Що таке Copilot?
- GitHub Copilot — це інструмент на основі штучного інтелекту, який генерує пропозиції щодо коду в режимі реального часу.
- GitHub Copilot заснований на OpenAI Codex, модифікованій виробничій версії GPT-3.
- Copilot OpenAI Codex навчений на мільярдах рядків коду з загальнодоступних репозиторіїв GitHub та інших загальнодоступних джерел.
- GitHub Copilot — це розширення для Visual Studio Code, JetBrains та інших IDE.
Тут наведено цікаву статистику щодо використання GitHub Copilot.
Нещодавно ми з колегами провели експеримент: вирішили перевірити, чи зможе використання ШІ прискорити час вивчення нового стека для автоматизаторів. Є стандартні програми для таких світчерів (з Java на .NET), які розраховані на 4–6 місяців. За допомогою ШІ було досягнуто найкращого результату — 2 тижні. Людина успішно пройшла внутрішню співбесіду (з чотирма лідами) та співбесіду з клієнтом.
— Інструменти ШІ змінюють вимоги до тестувальників, — переконана Наталія. — Іноді завдання, на яке відводять кілька днів, тепер виконується за кілька годин завдяки використанню різних інструментів ШІ. Написання сценаріїв автоматизації в нотації Gherkin, аналіз відповідності програмного коду (справжнісінький white-box testing) і, безумовно, ґрунтовний аналіз вимог — усе це зараз звичайна складова вимог до функціонального тестувальника. Якщо ви володієте різними інструментами ШІ, то для цих завдань точно знайдуться помічники.
Джерела вивчення
Дізнатися більше інформації про те, що таке штучний інтелект і як його застосовувати в тестуванні, можна з наступних матеріалів:
1. Статті англійською:
2. Курси на LinkedIn Learning:
Чим ще корисний ШІ, можна дізнатися в розділі «ШІ» в нашому Блозі.