Единицы
1. Введение в искусственный интеллект в тестировании программного обеспечения и обеспечении качества: роли, границы, риск подделки и проверка 2. Генерация тестовых сценариев и тест-кейсов: от требования к комплексному контролю 3. Исследовательское тестирование и генерация тестовых идей: творческий поиск ошибок с помощью ИИ 4. Автоматизация тестирования пользовательского интерфейса: генерация кода Selenium, Playwright и Cypress с помощью ИИ 5. Автоматизация тестирования API: контракт, схема и сквозная проверка с помощью ИИ 6. Генерация и тестируемость модульных тестов: надежное тестирование с помощью ИИ 7. Написание отчетов об ошибках и определение приоритетов: четкие, воспроизводимые записи с помощью ИИ 8. Анализ тестового покрытия и тестирование на основе рисков: правильный подход с помощью ИИ 9. Регрессионное тестирование, сопровождение тестов и борьба с хрупкими тестами 10. Риск ложного доверия, качество тестов и тестирование мутаций: тестовые тесты 11. Сквозной рабочий процесс, интеграция CI/CD, этика и безопасность: ответственное использование ИИ
Единица 3 / 11

Исследовательское тестирование и генерация тестовых идей: творческий поиск ошибок с помощью ИИ

Прибыль:

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

Каждый написанный тестовый пример проверяет что-то, о чем уже думали. Но самые опасные ошибки часто скрываются там, где раньше никто не задумывался. Исследовательское тестирование — подход к тестированию, при котором тестировщик одновременно изучает, проектирует и запускает продукт, исследуя его, не полагаясь на заранее написанный сценарий — нацелено именно на этот пробел. При исследовательском тестировании эксперт свободно играет с продуктом, спрашивает «а что, если я сделаю это» и улавливает неожиданное поведение системы. Это тот тип тестирования, который больше всего полагается на человеческую интуицию и любопытство — и именно поэтому роль искусственного интеллекта (ИИ) здесь заключается не в «замене», а в усилении любопытства, выявлении «слепых зон» и генерации идей.

В этом модуле вы узнаете, как использовать ИИ в качестве партнера по исследовательскому тестированию: от печати протоколов тестирования, вызова эвристики до обобщения послесессионных заметок.

Почему исследовательское тестирование все еще остается человеческой работой?

Сценарное тестирование — тест, шаги которого записаны заранее и повторяются дословно — подтверждает то, что известно; Исследовательское тестирование ищет неизведанное. Ценность исследовательского тестирования проявляется в тот момент, когда тестировщик видит продукт и чувствует, что «здесь есть что-то странное». ИИ не может видеть продукт так, как вы его видите, он не может почувствовать, что беспокоит реального пользователя, его нельзя побеспокоить, сказав: «Эта кнопка не в том месте». Но ИИ является очень мощной помощью в трех отношениях: (1) создание систематических списков идей для испытаний, (2) напоминание вам о тестовых осях, которые вы забыли, (3) превращение ваших разрозненных заметок об открытиях в организованный отчет.

Совет: попросите ИИ «разогреть тестовую идею» перед началом сеанса обнаружения; Не оставляйте экран ИИ во время сеанса. ИИ полезен до и после сеанса; Сам сеанс обусловлен вашим любопытством.

Эвристика и ИИ

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

  • CRUD: попробуйте создать, прочитать, обновить и удалить поток для каждого данных; перебить кого-л.
  • Златовласка (маленькая/полная/много): введите очень мало, полностью или много данных в поле (0 символов, 1 символ, 10 000 символов).
  • CRUD + планирование: редактируйте одну и ту же запись одновременно в двух вкладках, а затем сохраните обе.
  • Прерывание: обновить страницу во время действия, отключить сеть, нажать клавишу Backspace.
  • Обратный порядок: выполните действия в обратном порядке (сначала оплатите, затем добавьте в корзину).

Когда вы просите ИИ «предложить конкретные испытания, применив эти интуитивные подсказки к этому экрану», вы получаете готовый к использованию контрольный список.

Написание условия тестирования (устава)

Исследовательское тестирование – это не блуждание; Он сосредоточен на уставе тестирования (короткой директиве, определяющей, что будет исследоваться в ходе исследовательской сессии и с какой целью). Хороший устав следует такому шаблону: «Исследуйте [целевую область], используя [инструменты/данные], чтобы выявить [какую информацию/риск]». ИИ быстро составляет эти условия.

Балансирование скриптового тестирования с исследовательским тестированием

Грамотная стратегия тестирования использует комбинацию сценарного (автоматического, повторяемого) тестирования и исследовательского тестирования. Скриптовые тесты позволяют дешево проверить, что известное поведение не нарушено, версия за версией; С другой стороны, исследовательское тестирование ищет новые риски, которые эти сценарии никогда не учитывали. Эти двое не конкуренты, а дополняющие друг друга. Распространенной ошибкой является мысль: «Давайте все автоматизируем, чтобы не было необходимости в открытиях»; в то время как автоматизация проверяет только то, что вы уже знаете, она никогда не сможет найти то, чего вы не знаете. Другая ошибка — обратная: полагаться на ручное обнаружение в каждом выпуске без настройки какой-либо автоматизации — это приводит к тому, что одни и те же базовые ошибки закрадываются снова и снова.

ИИ помогает установить этот баланс: вы можете превратить аномалию, обнаруженную во время сеанса обнаружения, в постоянный регрессионный тест по сценарию, передав его ИИ. Таким образом, ошибка, однажды обнаруженная при открытии, больше никогда не может вернуться незамеченной. Discovery заботится о том, чтобы «найти новый риск», автоматизация заботится о том, чтобы «не упустить найденное»; ИИ ускоряет мост между ними.

Совет: разделите результаты каждого сеанса обнаружения на две группы: «ошибки, которые нужно исправить немедленно» и «сценарии, которые нужно превратить в постоянную автоматизацию». Вторая корзина переносит долгосрочную ценность открытия в ваш пакет регрессии.

Слабая подсказка / Сильная подсказка

Слабый: «Что мне протестировать на этом экране?»
Сильный: «Для функции «загрузки фотографий профиля» разделите 90-минутный сеанс исследовательского тестирования на 3 тестовых условия. Для каждого условия: дайте цель, интуитивные подсказки для использования (размер файла/формат/золотые замки/усечение), 5 конкретных действий, которые следует попробовать, и сигналы риска, на которые следует обратить внимание (замедление работы, поврежденное изображение, безопасность). Особое внимание уделите рискам загрузки вредоносных файлов (слишком большой файл, неправильное расширение) в целях защиты».

Мощная подсказка; дает продолжительность, структуру, подсказки и фокус на риске. В результате вы получите дорожную карту, которую вы будете держать под рукой на протяжении всего занятия.

Таблица осей исследования

ось

вопрос, который нужно задать

образец эссе

Входные ограничения

Что делает поле при экстремальных значениях?

Имя из 10 000 символов

время

Что происходит при параллельной/прерывистой обработке?

Сохраните одну и ту же запись в двух вкладках

Формат

Как справиться с неожиданным форматом?

Эмодзи, текст справа налево, HTML

авторитет

Может ли несанкционированный доступ пользователя?

Изменить URL вручную

Статус

Возможен ли недопустимый переход состояния?

Попробуйте оплатить отмененный заказ

вычет

Согласованы ли данные при прерывании сети/сеанса?

Отключить сеть во время записи

Четыре копируемых шаблона

1) Генератор тестовых условий:

Ваша роль: старший исследовательский тестировщик. Разделите [продолжительность] минутного исследовательского сеанса на 3–4 условия тестирования для функции:[функция]. Каждое условие: цель, интуитивные подсказки, которые нужно использовать, 5 конкретных действий, которые нужно попробовать, сигналы риска, за которыми стоит следить. Шаблон условия: «Исследуйте [домен] с помощью [инструмента/данных] на предмет [риска/информации]».

2) Интуитивно понятный адаптер сигнала:

Преобразуйте эти интуитивные подсказки в конкретные эксперименты для следующего экрана: CRUD, златовласка (меньше/полно/больше), прерывание, обратный порядок, обход авторизации. Экран: [описание экрана/потока]. Напишите по два эксперимента для каждого экрана для каждой подсказки.

3) Напоминание о слепых зонах:

Я тестирую следующую функцию: [функция]. Перечислите 10 случаев, когда опытные тестировщики САМОЕ упускают из виду эту функцию. Включите оси доступности, локализации (язык/дата/валюта), параллелизма, безопасности и производительности.

4) Краткое изложение протокола сессии:

Ниже приведены необработанные заметки моего сеанса открытия. Организуйте их в следующую структуру: - Обнаруженные аномалии (с предполагаемой серьезностью) - Аномалии с известной стадией воспроизводства - Те, которые требуют дальнейшего изучения - Предложения для следующего сеанса Необработанные примечания: [вставить примечания]

три мини-кейса

Случай 1. Напоминание о слепых зонах в действии. Эксперт тестировал функцию поиска в многоязычном приложении. На напоминание ИИ «не забывать ось локализации» он попробовал преобразовать буквы «i/I» в турецком языке. Поиск по запросу «Стамбул» не дал никаких результатов; Обнаружена ошибка преобразования нижнего регистра. AI ось напомнила, эксперт попробовал и нашел.

Случай 2. Цель Хартии. Новый тестировщик провел 2 часа, «просматривая» экран оплаты, но сделал только 2 небольшие заметки, потому что он был неструктурирован. После планирования сеанса с ИИ, разделенного на 3 тестовых условия, он за тот же период зафиксировал 11 аномалий; двое из них были серьезными. При этом время было в 5 раз эффективнее благодаря структуре.

Случай 3. Защитное тестирование загрузки файлов. Команда попробовала «неправильное расширение/слишком большой файл», предложенный YZ, при загрузке фотографии профиля в своих продуктах. Обнаружил, что файл размером 50 МБ приводил к сбою сервера на 40 секунд, и добавил ограничение на размер и тайм-аут. Тестирование проводилось только на собственной продукции, в оборонных целях.

Распространенные ошибки

  • Замена ИИ сеансом. Ценность открытия заключается в вашей наблюдательности и интуиции; ИИ помогает в подготовке и восстановлении.
  • Просмотр без оговорок. Проводить часы без сосредоточения и мало что находить. Условие теста дает фокус.
  • Не собираю записи. Если вы не сохраните аномалию, обнаруженную при открытии, на этапе производства еще раз, это открытие будет потеряно.
  • Застревание на одной оси. Всегда проверяйте пределы ввода; Обход осей полномочий, планирования, локализации.
  • Проведение несанкционированных тестов безопасности. Пытайтесь манипулировать файлами/URL-адресами только в своем продукте и с разрешения.

В итоге

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

Задача приложения

Выберите функцию в своем продукте. Разделите 60-минутный сеанс на 3 условия, используя шаблон «Генератор тестовых условий» с искусственным интеллектом. Проведите сеанс (без ИИ, исследуя вручную), сохраняйте необработанные записи. По завершении организуйте заметки с помощью шаблона «Сводка заметок сеанса». Результат: минимум 5 аномалий, шаг регенерации для каждой и оценка серьезности. Обратите внимание, какое тестовое условие и интуитивная подсказка привели к обнаруженной вами наиболее ценной аномалии.

контрольный список

  • [ ] Перед сессией я создал условия тестирования с помощью ИИ и определил фокус.
  • [ ] Я попробовал как минимум 4 разные оси обнаружения (ввод, время, формат, авторизация, прерывание).
  • [ ] Я проводил сеанс вручную, из собственного любопытства; Я не заменял AI.
  • [ ] Я записал каждую аномалию с указанием шага ее воспроизведения и оценки серьезности.
  • [ ] Я превратил свои заметки в обычный отчет с помощью ИИ.
  • [ ] Я пытался защитить/манипулировать только своим собственным продуктом и с разрешения.