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

Написание отчетов об ошибках и определение приоритетов: четкие, воспроизводимые записи с помощью ИИ

Прибыль:

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

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

Анатомия хорошего отчета об ошибках

Эффективный отчет включает в себя следующие компоненты:

  • Название: короткое, конкретное, с возможностью поиска. Не «Произошла ошибка»; «Невозможно нажать кнопку «Оформить заказ», если в корзине более 10 товаров (Chrome)».
  • Шаги для воспроизведения: пронумерованы, отслеживаются с нуля, детерминированы. После выполнения этих шагов разработчик должен увидеть ошибку.
  • Ожидаемый результат: То, что должно было произойти согласно критериям приемки.
  • Фактический результат: что произошло (сообщение об ошибке, экран, поведение).
  • Среда: браузер/устройство, версия, среда (тестовая/действующая), роль пользователя, данные.
  • Доказательства: снимок экрана, видео, журнал, трассировка ошибок (трассировка стека).
  • Серьезность и приоритет: Подробно описано ниже.
Совет: Прежде чем отправлять отчет, спросите: «Если я передам эти действия кому-то другому, смогут ли они увидеть ошибку без моей помощи?» просить. Если ответ «нет», отчет является неполным. ИИ может сделать отчет красивым, но гарантировать воспроизводимость можете только вы.

Насилие и приоритет: два запутанных понятия

Серьезность — это технический эффект ошибки: произошел сбой системы, потерялись данные или это опечатка? Приоритет – это то, насколько срочно необходимо это исправить; речь идет о влиянии на бизнес. Эти два действия не всегда идут в одном направлении: ошибка в написании названия компании на домашней странице имеет низкую серьезность, но имеет высокий приоритет (репутация). В редких крайних случаях коллапс может иметь высокую степень тяжести, но низкий приоритет. ИИ помогает вам провести это различие, когда вы даете наблюдение; но окончательную оценку дает тот, кто знает бизнес-контекст.

насилие

пример

приоритет

пример

Критический (Блокирующий)

Платеж не может быть завершен

Срочно (P1)

Потеря дохода в прямом эфире

Высокий (Майор)

В отчете указана неправильная сумма

Высокий (P2)

Обязательно к предстоящему выпуску

Средний (незначительный)

Редкая ошибка в крайнем случае

Средний (P3)

В запланированном спринте

Низкий (тривиальный)

Выравнивание кнопок отключено

Низкий (P4)

Когда есть шанс

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

Слабое: «Сообщите об ошибке: платеж не работает».
Сильный: «Переведите мои наблюдения ниже в стандартный формат отчета об ошибках: заголовок, шаги воспроизведения (пронумерованные), ожидаемый результат, фактический результат, среда, серьезность и рекомендации по приоритету (обоснованные). Используйте только ту информацию, которую я предоставляю; заполните все недостающие поля, отметьте «ИНФОРМАЦИЯ ОТСУТСТВУЕТ: ...». Наблюдения: Chrome 120, тестовая среда, 12 товаров в корзине, ничего не происходит, когда я нажимаю «Оформить заказ», ошибка «неопределено не является функцией» в консоли, проблем нет с 11 товаров».

Мощная подсказка; накладывает формат, правило «подгонки» и маркировку недостающей информации. Таким образом, отчет будет точным и честным.

Обнаружение повторяющихся ошибок

В больших командах одна и та же ошибка сообщается снова и снова. ИИ может сравнивать ваш новый отчет с существующими открытыми ошибками и отмечать потенциальные дубликаты — это сохраняет чистоту вашей системы отслеживания ошибок (Jira, Azure DevOps, GitHub Issues). Но будьте осторожны: две ошибки, которые на первый взгляд кажутся похожими, могут иметь разные первопричины; Сравните повторяющиеся этапы производства и среду обоих отчетов, прежде чем закрыть «дубликат» предложения ИИ. В случайно закрытом «дубликате» на самом деле отсутствует отдельная ошибка.

От отслеживания ошибок к первопричине: возможности ИИ для чтения журналов

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

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

Совет: вместо того, чтобы вставлять в отчет весь журнал, включите наиболее важные 3–5 строк, которые суммирует AI, и ссылку на полный журнал. Таким образом, отчет остается читаемым, и разработчик, которому нужны подробности, может получить доступ к полному журналу.

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

1) От наблюдения к отчету:

Ваша роль: старший QA. Переведите следующие необработанные наблюдения в стандартный отчет об ошибках: Название / Этапы воспроизведения (пронумерованы) / Ожидаемые / Фактические / Среда / Примечания к доказательствам / Серьезность + Приоритет (обоснованный). ПРАВИЛО: используйте только предоставленную мной информацию; отметьте отсутствующее поле как «ОТСУТСТВУЮЩАЯ ИНФОРМАЦИЯ:...» Наблюдения: [необработанные примечания]

2) Контроль воспроизводимости:

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

3) Консультант по серьезности/приоритету:

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

4) Сводка журнала/трассировки ошибок:

Изучите трассировку/журнал ошибок ниже. Дайте мне краткое изложение (1) гипотезы об основной причине, (2) вероятного кода, в котором произошла ошибка, (3) трех наиболее важных строк, которые следует добавить в отчет. Маскируйте, если есть персональные данные.Журнал: [вставить лог]

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

Случай 1 — Освобождение от «Я не мог производить». В одной команде 30% ошибок закрыли как «невозможно воспроизвести». В процесс отчета добавлен шаблон «Проверка воспроизводимости»; Перед отправкой каждого отчета ИИ отмечал недостающие шаги и предварительные условия. Три месяца спустя уровень «невозможно произвести» упал с 30% до 8%. Разница заключалась в том, что шаги были точными с самого начала.

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

Случай 3. Различие между серьезностью и приоритетом. В слогане компании на главной странице допущена опечатка. Тестер сочтет это «низким»; Консультант по искусственному интеллекту напомнил, что технического насилия мало, но приоритет бизнеса высок (элемент репутации, который получает каждый посетитель). В тот же день ошибка была исправлена ​​с пометкой «высокий приоритет».

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

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

В заключение

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

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

Возьмите недавно обнаруженную ошибку и превратите свои необработанные наблюдения в отчет, используя шаблон «наблюдение для отчета» (с правилом «подгонки»). Затем выполните «проверку воспроизводимости» и заполните отмеченные пробелы. Передайте отчет коллеге и посмотрите, сможет ли он исправить ошибку без вашей помощи. Наконец, определите ярлыки с «консультантом по вопросам насилия/приоритета» и доработайте их по своему усмотрению. Обратите внимание на любую информацию, которую ИИ пытается собрать в процессе.

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

  • [ ] Мой заголовок конкретен и доступен для поиска.
  • [ ] Этапы воспроизведения выполняются с нуля, детерминированы и полны.
  • [ ] Отдельно написал ожидаемые и фактические результаты.
  • [ ] Информация о настройках и доказательствах заполнена; Я замаскировал личные данные.
  • [ ] Я наложил на ИИ правило «дополни, отметь недостающее» и сам восполнил пробелы.
  • [ ] Я оценил серьезность и приоритет отдельно и принял окончательное решение.