Прибыль:
- Возможность преобразования разрозненных наблюдений в отчет, содержащий четкое название, детерминированные этапы воспроизведения, ожидаемые/фактические результаты и доказательства, при поддержке искусственного интеллекта.
- Возможность навязать искусственному интеллекту правило «использовать только ту информацию, которую я даю, не выдумывать ее» и гарантировать воспроизводимость под собственным контролем.
- Умение различать серьезность (техническое воздействие) и приоритет (срочность бизнеса) и давать окончательную оценку с учетом бизнес-контекста.
Ошибка, обнаруженная тестировщиком, имеет ценность только в том случае, если она исправлена; Исправление во многом зависит от качества отчета об ошибке — записи, документирующей дефект таким образом, чтобы разработчик мог его понять, воспроизвести и исправить. Плохо написанный отчет об ошибке («логин не работает») задерживает разработчика на несколько часов, приводит к постоянной переписке и часто закрывается из-за «невозможно воспроизвести». Хороший отчет включает четкие шаги, ожидаемые и фактические результаты, контекстную информацию и фактические данные. Искусственный интеллект (ИИ) очень хорошо превращает ваши разрозненные наблюдения в профессиональный структурированный отчет. Но главное предостережение применимо и здесь: ИИ не может делать шаги, которых вы не видите; может восполнить недостающую информацию «разумными на первый взгляд», но неточными догадками. Ваша задача — убедиться, что каждая строка отчета основана на том, что вы действительно наблюдали.
Анатомия хорошего отчета об ошибках
Эффективный отчет включает в себя следующие компоненты:
- Название: короткое, конкретное, с возможностью поиска. Не «Произошла ошибка»; «Невозможно нажать кнопку «Оформить заказ», если в корзине более 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. Различие между серьезностью и приоритетом. В слогане компании на главной странице допущена опечатка. Тестер сочтет это «низким»; Консультант по искусственному интеллекту напомнил, что технического насилия мало, но приоритет бизнеса высок (элемент репутации, который получает каждый посетитель). В тот же день ошибка была исправлена с пометкой «высокий приоритет».
Распространенные ошибки
- Расплывчатое название. Недоступные для поиска, недискриминирующие заголовки типа «Не работает».
- Отсутствующие/пропущенные шаги. Не пишите то, что очевидно в вашем контексте; неспособность разработчика произвести.
- Позвольте ИИ все исправить. Заполнение недостающей информации с помощью «разумной оценки»; неправильные шаги.
- Не пишу ожидаемый результат. Говорить «неправильно», но не уточнять, что правильно.
- Путаница насилия и приоритета. Ошибочно принять эти два ярлыка за один; Неправильная оценка влияния на бизнес.
- Конфиденциальные данные в качестве доказательств. Публикация реальных личных данных на скриншотах/журналах без их маскировки.
В заключение
Ценность отчета об ошибке в том, что разработчик может воспроизвести и исправить ошибку без вашей помощи. ИИ очень хорошо умеет превращать разрозненные наблюдения в профессиональный структурированный отчет; Он систематизирует название, этапы, ожидаемый/фактический результат, среду и доказательства, а также предоставляет консультации по различию между серьезностью и приоритетом. Но ИИ может восполнить недостающую информацию; Соблюдайте правило «используйте только ту информацию, которую я даю, отмечайте недостающую» и сами гарантируйте воспроизводимость. Маскируйте личные данные в качестве доказательств.
Задача приложения
Возьмите недавно обнаруженную ошибку и превратите свои необработанные наблюдения в отчет, используя шаблон «наблюдение для отчета» (с правилом «подгонки»). Затем выполните «проверку воспроизводимости» и заполните отмеченные пробелы. Передайте отчет коллеге и посмотрите, сможет ли он исправить ошибку без вашей помощи. Наконец, определите ярлыки с «консультантом по вопросам насилия/приоритета» и доработайте их по своему усмотрению. Обратите внимание на любую информацию, которую ИИ пытается собрать в процессе.
контрольный список
- [ ] Мой заголовок конкретен и доступен для поиска.
- [ ] Этапы воспроизведения выполняются с нуля, детерминированы и полны.
- [ ] Отдельно написал ожидаемые и фактические результаты.
- [ ] Информация о настройках и доказательствах заполнена; Я замаскировал личные данные.
- [ ] Я наложил на ИИ правило «дополни, отметь недостающее» и сам восполнил пробелы.
- [ ] Я оценил серьезность и приоритет отдельно и принял окончательное решение.