«Тестировщики, владеющие инструментами ИИ, заменят тех, кто их не использует»
Менеджер по тестированию программного обеспечения в 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
Ответ: C удовольствием!
Лишь маленькое уточнение «на языке 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:
Чем еще полезен ИИ, можно узнать в разделе «ИИ» в нашем Блоге.