EngX Code Review: почни писати код іще краще й побудуй ефективний процес код-рев’ю.

«Тестувальники, які володіють інструментами ШІ, замінять тих, хто їх не використовує»

Менеджер із тестування програмного забезпечення в EPAM Наталія Богушевська розповідає, як ШІ може полегшити роботу тестувальникам, і рекомендує список джерел для вивчення цієї теми.


— Не секрет, що штучний інтелект (ШІ) стрімко увірвався у світ інформаційних технологій, — розповідає Наталія. — Уже понад 100 інструментів, які використовують різні алгоритми мовних моделей (Large Language Models — LLM), заманюють обіцянками спростити рутинні завдання.

Безумовно, усім цікаво: які саме завдання може виконувати ШІ? Як це вплине на швидкість і якість розробки програмного забезпечення? Водночас виникли загрози: ШІ замінить тестувальників, тестувати зможуть самі девелопери тощо.

Ґрунтуючись на власному досвіді, можу впевнено підтвердити: тестувальники, які володіють інструментами ШІ, замінять тестувальників, які ШІ не використовують. Ця теза справедлива як для мануальних тестувальників, так і для автоматизаторів.

EngX AI-Supported Testing
Leverage generative AI to minimize repetitive efforts throughout the software testing lifecycle.
View coursearrow-right-blue.svg

ChatGPT

— У роботі мануального тестувальника ChatGPT може допомогти з:

  1. Аналізом вимог (requirements), генеруючи чек-листи можливих перевірок.
  2. Написанням тест-кейсів у певному форматі. Це може бути як стиль написання (текстовий або Gherkin), так і формат (можна створювати тест-кейси у форматі JSON/XML й одразу завантажувати в систему тест-менеджменту).
  3. Генерацією тестових даних (табличних, SQL, JSON/XML).
  4. Створенням тестової документації (тест-планів, тест-стратегій, тестових звітів).
  5. Створенням діаграм (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

Відповідь: Із задоволенням!

Create a Page Object in Java

Лише маленьке уточнення «мовою 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.
    ChatGPT не замінить людину: думка експерт а про IT-хайп

    GitHub Copilot

    — Для автоматизатора продуктивніше застосування одночасно двох інструментів, — вважає Наталія:

    1. ChatGPT — для генерування ідей, коду, локаторів.
    2. 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. Статті англійською:

    1. Large Language Models Use Cases and Applications
    2. The Ultimate 100 AI Tools
    3. Top Large Language Models
    Визнач рівень володіння мовою

    2. Курси на LinkedIn Learning:

    1. Introducing AI to Your Organization
    2. How to Research and Write Using Generative AI Tools
    Отримай ліцензію LinkedIn Learning за 4 кроки

    3. Відеоогляди інструментів ШІ:

    1. Top 10 AI Tools Like ChatGPT You Must Try in 2023
    2. Top 5 AI Tools That Are Better Than ChatGPT, But Nobody is Using Them | Coding & Productivity Tools
    3. Workshop: ChatGPT in Testing
    4. AI in Testing
    5. AI для тестувальника. Загроза чи помічник?

    Чим ще корисний ШІ, можна дізнатися в розділі «ШІ» в нашому Блозі.

    Матеріали за темою
    Стеж за новинами на улюблених платформах