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

Ответ: C удовольствием!

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

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

    • 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. Статьи на английском:

      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

      Чем еще полезен ИИ, можно узнать в разделе «ИИ» в нашем Блоге.

      Материалы по теме
      Следи за новостями на любимых платформах