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

Создавайте матрицу вашего браузера, основанную на рисках, а не на флажках

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

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

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

Доска планирования сопоставляет регистрацию, ввод дат и поведение платформы с конфигурациями тестирования.
Наглядная доска планирования: браузерный движок, эмулируемые настройки и реальное железо - отдельное свидетельство.

В вашем наборе тестов есть раскрывающийся список браузера. Кто-то выбирает все. CI становится медленнее, сбои множатся, и никто не может объяснить, какие конфигурации защищают бизнес. Большая матрица выглядит осторожно, но в ней все равно может быть пропущена та, которую клиенты мобильного потока используют для завершения регистрации.

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

Отдельные три решения

Первое решение - движок браузера: Chromium, Firefox или WebKit. Второе - конфигурация устройства: область просмотра, пользовательский агент, сенсорный экран и другие эмулируемые настройки. Третий - аппаратное подтверждение: реальное устройство и его реальное поведение в браузере. Они родственны, но не взаимозаменяемы.

Playwright документирует поддержку Chromium, Firefox и WebKit, а также фирменных каналов Chromium, таких как Chrome и Edge. Его сборка WebKit не имеет торговой марки Safari. Поэтому зеленый результат WebKit следует рассматривать как свидетельство WebKit, а не как утверждение, что каждая версия Safari на каждом iPhone прошла проверку.

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

Составьте карту пути к риску, который он несет

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

Узнайте у своей команды требования к поддерживаемым браузерам и текущие данные об аудитории. Если такового не существует, запишите предварительный выбор и дату его рассмотрения вместо того, чтобы придумывать проценты клиентов. Инженер QA может вести этот разговор с продуктом и поддержкой; выбор не должен быть скрыт в файле-бегуне, который никто не читает.

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

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

Проект Playwright группирует тесты с одинаковой конфигурацией. Эта небольшая конфигурация иллюстрирует три различные точки зрения и сохраняет честность названий:

import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  projects: [
    { name: 'chromium-desktop', use: { ...devices['Desktop Chrome'] } },
    { name: 'firefox-desktop', use: { ...devices['Desktop Firefox'] } },
    { name: 'webkit-phone-emulation', use: { ...devices['iPhone 13'] } }
  ]
});

Установите соответствующие двоичные файлы браузера в тестовой среде. Запустите именованный проект с помощью npx playwright test --project=webkit-phone-emulation. Эти имена описывают конфигурацию, а не гарантию на продукт. Код - это отправная точка для вашей собственной политики поддержки, а не универсальная рекомендуемая матрица.

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

Диагностика различий вместо удаления конфигурации

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

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

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

Где подходит созданное исследование

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

По мнению одного инженера QA, матрица с учетом рисков предотвращает трату ограниченного времени на проверку из-за необъяснимого дублирования. Для более крупной команды это дает владельцам продуктовых областей общий словарный запас. Полезным результатом является набор конфигураций, которые вы можете защитить, с известными ограничениями и видимыми последующими действиями, а не самый длинный список, который позволяет экран настроек.

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

Стройте матрицу браузера из рисков, а не из флажков – что мне следует иметь в виду?

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

Являются ли примеры результатом измерения AnyTest?

Нет. Примеры иллюстрируют методы тестирования с использованием Playwright. AnyTest описывает исследование веб-страниц и создание сквозных тестов для проверки человеком; какая-либо конкретная интеграция бегуна не заявлена.

Источники