QA Journal

Нейросети заменят тестировщиков?

Нейросети поделили людей на два лагеря: тех, кто с любопытством наблюдает за развитием ИИ и тех, кто боится, что машины их заменят. Только ленивый не слышал опасений: «скоро из-за нейросетей я лишусь работы!». Многие откладывают изучение новой профессии или отказываются развиваться даже на текущем месте работы из-за страха, что это будет напрасно.

Паника растёт пропорционально развитию технологий и мешает увидеть, что ИИ может стать соратником, особенно в тестировании, где критически важно снижать число ошибок.

Давайте вместе разбираться, почему ИИ не заменит тестировщиков

Главная задача тестирования — обеспечение качества продукта и его соответствия техническим требованиям. Тестировщик, устраняя ошибки, помогает сделать продукт таким, каким его задумали.

Чтобы это реализовать, QA-специалист осваивает инструменты тестирования (Postman, Devtools, Charles, Kibana и другие), изучает клиент-серверную архитектуру, базы данных, пишет тестовую документацию — формирует пул профессиональных навыков и знание предметной области.

Нейросети неплохо работают с категорией задач, связанных с упрощением рутинных действий. Например, ChatGPT справляется с генерацией тест-кейсов и тестовых данных, а также написанием сценариев (скриптов), анализом требований, подготовкой чек-листов и другой тестовой документации. Всё это облегчает и ускоряет процесс тестирования.

Вот так, например, ChatGPT пишет тест-кейс по заданному условию: «Напиши 10 тест-кейсов на проверку авторизации, где есть два поля — почта и пароль».
Нарастает напряжение: если ИИ способен забрать на себя рутинные задачи, то неизбежно настанет момент, когда он доберётся до более сложной работы и обучится выполнять её лучше человека.

Однако из виду упускается главное — сознание. Нейросети — механизм, который работает только на основе входящих данных, условий и инструкций. ИИ не может выйти за рамки указанных параметров, значит, не понимает контекст, не может критически осмысливать информацию, подходить к задаче комплексно и, тем более, запускать новые процессы. Всё это доступно только человеку.

Не стоит забывать и о культуре промтов — запросов к ИИ — от которых зависит и корректность, и релевантность результата. Именно человек пишет промт и, тем самым, регулирует работу нейросети.
Остановимся на ключевых причинах, почему нейросети не заменят тестировщиков

  • Критическое мышление

Одна из возможностей человеческого интеллекта — критически обрабатывать входящую информацию, решая, какой информации верить, как её воспринимать и использовать.

У нейросетей же нет фильтра: они работают с общедоступными и усреднёнными данными. Да, нейросети делают это быстро, тем не менее, результат часто приходится перепроверять — будь то текст, таблица или код. Не стоит также забывать, что источники данных, с которыми работают нейросети, могут содержать ошибки, быть поверхностными, а порой и вводить в заблуждение. Анализирует, проверяет и совершенствует результат — человек.

В тестировании критическое мышление необходимо. К примеру, когда мы работаем над анализом требований — важно проработать ТЗ и макет, оценить фичу с точки зрения пользователя, насколько она удобна и понятна, подготовить чек-листы.

В данном случае нейросети могут помочь только с сегментами работы. Например, ускорить подготовку чек-листов или тест-кейсов.

  • Творческий подход

Ещё одно качество, которого лишён ИИ — латеральность. Латеральное мышление — умение мыслить творчески и нестандартно. Может ли нейросеть предложить вам принципиально новое решение? Может ли сломать границы привычных паттернов мышления? Вряд ли. Только человек обладает творческим сознанием, умеет созерцать, мыслить метафорически и складывать наблюдения в нечто новое.

Навыки латерального мышления нужны в работе тестировщика. Самый простой пример — поведение пользователя. Все самые непредсказуемые и порой удивительные ошибки случаются там, где мы их не ждём.
Как писал Lee Copeland в книге «A Practitioner’s Guide to Software Test Design»: «If you don’t try strange things, you know the users will».

Перевод: «Если вы не тестируете самые странные ситуации, будьте уверены, что пользователи сделают это за вас».
Так, существует методика — black box testing — которая сосредоточена на проверке программы без доступа к коду. Тестировщик «вслепую» тестирует продукт, будто он сторонний пользователь. Его задача — придумать и протестировать как можно больше нестандартных тестовых случаев, которые могут возникнуть при спонтанном и «живом» использовании ПО.

Здесь необходимо задействовать творческий подход и тестировать самые странные и непривычные комбинации, чтобы найти возможный баг и пофиксить его до того, как его обнаружит пользователь.
  • Чувствительность к контексту

Контекстуальное мышление — «гибкий» навык, который помогает видеть как общую картину, так и мелкие детали. Детали — это пазлы, из которых строится и целеполагание, и бизнес-логика. Всё это необходимо учитывать, чтобы верно приоритизировать задачи, избегать подводных камней, вовремя улучшать процессы.

Благодаря пониманию контекста человек может выбирать не стандартный ход операций (пусть даже это «золотой стандарт»), а оптимальные практики. Важно и то, что человек учитывает разные формы контекста: юридический, экономический, культурный, технологический, этический, а также особенности индустрии. Всё это чрезвычайно важно для бизнеса.

В тестировании существует концепция «контекстного тестирования» — подход, описанный Джемом Канером, Джеймсом Бахом и Бретом Петтихордом в книге «Lessons Learned in Software Testing». Они описали 7 принципов контекстного тестирования, один из которых звучит так: «Ценность любой практики зависит от её контекста». Это значит, что важно учитывать одновременно множество переменных для успешного тестирования. Как мы выяснили, ИИ не может обрабатывать контекст, противоречия и прочие сложные смысловые нюансы.

  • Коммуникация

Без эффективной коммуникации невозможна работа ИТ-команды. Тестировщики регулярно общаются с коллегами: другими тестировщиками, разработчиками, дизайнерами и project-менеджерами.
Ещё одно утверждение из книги «Lessons Learned in Software Testing» гласит: «Люди, работающие в одной команде, являются наиболее важной частью контекста любого проекта».
Понимание зон ответственности, благоприятный климат в команде, навыки эмоционального интеллекта — из этого складывается слаженная и продуктивная работа.

ИИ не может общаться (умеет только имитировать общение), не имеет эмоционального интеллекта и не распознаёт эмоциональные сигналы, поэтому не может работать в команде и нести ответственность за результат.

Как нейросети могут стать вашим союзником?

С помощью нейросетей можно оптимизировать работу. Опасение, что всех тестировщиков сократят, а их задачи возьмут на себя нейросети — сильно преувеличены. Однако можно с уверенностью сказать: более востребованными станут тестировщики, которые умеют работать с ИИ. Это справедливо как для ручных тестировщиков, так и для автоматизаторов. Сама же профессия продолжит развиваться.
Давайте рассмотрим несколько примеров, какие задачи в тестировании может ускорить и упростить ИИ

ChatGPT может помочь с подготовкой тестовой документации, анализом требований и созданием диаграмм и таблиц, однако нужно грамотно составлять промты, чтобы ИИ понял задачу и отправил релевантный ответ. Также предлагаем обратить внимание на следующие ИИ-сервисы:

  1. GitHub Copilot (для автоматизаторов)
  2. Applitools (тестирование интерфейсов)
  3. Datadog (UI-тестирование)
  4. Functionize (тесты без написания кода)
  5. Mabl (автоматизация функционального и регрессивного тестирования)
  6. Testim (автоматизация функционального и UI-тестирования)

Выводы:

Нейросети не смогут заменить тестировщиков и стать самостоятельной рабочей единицей, так как не обладают сознанием — лишены воли, критического мышления, креативности, эмоционального интеллекта, понимания контекста и навыка коммуникаций. Но тестировщику важно их освоить, чтобы оптимизировать тестирование и ускорить рутинные процессы.