ТестированиеРучное тестированиеИнженер по ручному тестированию

По каким признакам обосновать завершение ручного тестирования функции, если дефекты могут остаться?

По каким признакам обосновать завершение ручного тестирования функции, если дефекты могут остаться?

Проходите собеседования с ИИ помощником Hintsage

Краткий ответ

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

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

Исторический контекст

Критерии выхода появились как практический способ заменить субъективное решение «кажется, достаточно» проверяемыми условиями завершения. Без них разные участники процесса по-разному понимают, когда тестирование закончено: тестировщик может ориентироваться на количество выполненных тестов, а бизнес — на приемлемость риска.

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

Постановка проблемы

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

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

Подробное решение

Сначала определяют условия выхода до начала или до значимого этапа тестирования. Обычно оценивают несколько групп признаков:

  • Покрытие объёма: проверены ли обязательные требования, основные пользовательские потоки и критичные негативные сценарии.
  • Покрытие риска: выполнены ли проверки областей с высокой ценой отказа, даже если они не самые частые.
  • Результаты тестов: завершены ли запланированные проверки, объяснены ли пропуски, нет ли невыполненных тестов из-за блокирующих проблем.
  • Дефекты: отсутствуют ли дефекты недопустимой серьёзности; согласовано ли решение по оставшимся дефектам.
  • Ограничения: зафиксированы ли непроверенные окружения, данные, интеграции и сценарии.

Критерии выхода должны быть измеримыми настолько, насколько это возможно. Формулировка «функция протестирована хорошо» субъективна, а формулировка «выполнены все проверки критичных требований, нет открытых дефектов согласованной недопустимой серьёзности, пропуски имеют владельцев и обоснование» пригодна для проверки.

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

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

Ситуация из практики

Команда тестирует оплату заказа. Основные сценарии успешны, но не проверена отмена платежа после временного сбоя внешнего платёжного сервиса. Также остаётся малозначимый дефект в отображении текста ошибки.

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

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

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

Что кандидаты часто упускают

  1. Достаточно ли указать в критериях выхода процент успешно пройденных тестов?

Нет. Процент показывает объём выполнения, но не показывает, какие именно риски покрыты. Можно успешно пройти множество малозначимых проверок и пропустить единственный сценарий, связанный с потерей денег или данных. Процент допустим как вспомогательный показатель, но его нужно дополнять обязательными областями покрытия, состоянием дефектов и анализом пропусков.

  1. Кто должен принимать решение по оставшемуся риску?

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

  1. Можно ли изменить критерии выхода во время тестирования?

Да, если изменились требования, объём релиза, архитектура, выявленные риски или доступное окружение. Но изменение должно быть явным: нужно указать новую причину, пересмотреть покрытие и оценить последствия для уже выполненных проверок. Тихое ослабление критерия, например удаление сложного сценария только потому, что его не успевают проверить, делает итог тестирования недостоверным.