QA The Other WayОбеспечение качества в эпоху тестов, написанных искусственным интеллектом. QA The Other Way.
Анализ отказов

Сохраните данные сбоя до перезапуска

Последний скриншот не показывает весь путь к сбою. Сохраните последовательность действий, сетевой контекст и проверку до нового запуска.

6 мин. чтенияQA The Other Way
Полоски фотографических доказательств и лупа, иллюстрирующие последовательность отказов.
Редакционная иллюстрация, созданная искусственным интеллектом.
Иллюстративное видео к этой статье. английский экранный текст; выберите субтитры для этого языка.

Переведенное издание. Технические идентификаторы остаются в своей первоначальной форме.

Иллюстративный тест открывает страницу настроек, отправляет изменения и завершается неудачей, поскольку ожидаемое значение так и не появляется. Кто-то выкладывает последний скриншот. Показывает пустую панель. Пользователь вышел из системы? Запрос на сохранение не выполнен? Неужели это проверка противоречит неверной записи? Изображение само по себе не может ответить на эти вопросы.

Неудачный тест - это последовательность, а не фотография. В этой статье предлагается небольшой пакет доказательств, который QA-инженер или разработчик может прочитать, не повторяя все исследование. Цель состоит в том, чтобы сократить количество расследований, которых можно избежать, а не собирать все возможные байты или обещать автоматический диагноз.

Начните с действия и его контекста

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

Запишите идентификатор теста, версию кода, среду, исходную роль учетной записи и проверка, которое не удалось. Опишите ожидаемое состояние простыми словами. Храните секреты в описании. В доказательствах должно быть указано, какая промежуточная роль использовалась, а не публиковаться файлы cookie сеанса или реальные данные клиента.

Передача из пяти полей

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

Не позволяйте объяснениям агента заменить первоначальные доказательства. Уверенное повествование является гипотезой до тех пор, пока журнал действий или состояние приложения не подтвердят его. Отметьте предполагаемые причины как подозреваемые. Если артефакт недоступен, укажите этот пробел, а не записывайте правдоподобную последовательность из последнего снимка экрана.

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

Выберите, когда собирать трассировку

Параметры тестирования Playwright документируют режимы трассировки, включая сохранение трассировки в случае сбоя и запись при первой повторной попытке. Выбор имеет значение. Трассировка первой попытки записывает последующие попытки, которые могут вести себя иначе, чем первоначальная неудача. Если для критического потока необходимы данные первой попытки, не предполагайте, что они содержатся в записи, предназначенной только для повторных попыток.

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

Защитите пакет перед его отправкой

Трассировки и снимки экрана могут содержать содержимое страницы и сведения о запросе. Используйте синтетические промежуточные данные, ограничьте доступ к артефактам и установите период хранения. Просмотрите фактическое содержимое, прежде чем делиться следом за пределами команды. Удаление имени файла, которое выглядит конфиденциальным, не удаляет сеанс или личные данные внутри файла.

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

Измеряйте расследование, а не количество скриншотов

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

Общие вопросы

Достаточно ли снимка экрана для устранения сквозного сбоя?

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

Содержит ли трассировка первой попытки исходную ошибку?

Он записывает первую повторную попытку. Эта попытка может отличаться от первоначальной неудачи, поэтому выбирайте настройки трассировки на основе необходимых вам данных.

Могут ли тестовые трассировки содержать частные данные?

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

Источники