По каким критериям можно считать тестирование завершенным?

Ответ

Тестирование считается завершенным при выполнении заранее определенных и согласованных критериев выхода (exit criteria). Основные критерии:

  1. Выполнение плана: Все запланированные тесты (по приоритетам) выполнены.
  2. Покрытие требований: Проверены все ключевые функциональные и нефункциональные требования.
  3. Качество дефектов: Достигнуты целевые показатели по дефектам (например, 0 Critical/High багов в статусе "Open").
  4. Стабильность системы: Нет блокирующих проблем, система готова к релизу.
  5. Исчерпание ресурсов: Выделенное время или бюджет израсходованы (этот критерий часто требует пересмотра плана, если другие цели не достигнуты).

Пример критериев в тест-плане:

- Выполнено 100% тест-кейсов с приоритетом P1 и P2.
- Открыто 0 дефектов с severity Critical или Blocker.
- 95% дефектов с severity High исправлены и верифицированы.
- Покрытие кода unit-тестами достигло 80%.

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

Ответ 18+ 🔞

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

Вот смотри, как это работает на самом деле:

  1. План выполнен? Ну типа да. Все тесты из списка, на которые у нас были силы и время, мы проебались. Особо важные (P1, P2) — те точно. Остальное — по остаточному принципу, но в отчёте пишем «100%», ёпта. Главное — график красиво закрасить.

  2. Требования покрыты? Те, которые нам вменяемые аналитики написали и которые не менялись каждые три часа — да, покрыты. А те, которые «ну это же очевидно» или «ой, мы забыли вам сказать» — нихуя не покрыты. Но в отчёт идёт пункт «Ключевые требования проверены». И все довольны.

  3. Качество дефектов. Вот это святое. Наша главная мантра: 0 Critical/High открытых багов. Пока эта цифра не ноль, мы можем орать «НЕ ГОТОВО!» и кидать тапками в разработчиков. Как только они всё починили (или спихнули в бэклог со статусом «пофиксим потом»), можно выдыхать. 95% High-багов починено? Отлично, оставшиеся 5% — это «особенности реализации», ебать их в сраку.

  4. Стабильность системы. То есть после всех наших тестов система не падает каждые пять минут, данные не исчезают в никуда, а главный экран не показывает «Hello, World!». Если так — уже хорошо. Готова к релизу? Ну, готова в том смысле, что падать будет, но не сразу и не везде. Приемлемый риск, ёбушки-воробушки.

  5. Ресурсы исчерпаны. Самый честный критерий. Кончились деньги, время или терпение у заказчика. Всё, пиздец, пора закругляться. Если другие цели не достигнуты — начинается цирк с пересмотром сроков или, что чаще, с понижением планки качества. «Ладно, этот баг в статистике — пофиг, пользователь не заметит».

Вот тебе пример, как это выглядит в бумажке, чтобы отмазаться:

- Выполнено 100% тест-кейсов с приоритетом P1 и P2. (А про P3-P100 скромно умолчим)
- Открыто 0 дефектов с severity Critical или Blocker. (Их либо пофиксили, либо перевели в Major, хитрая жопа!)
- 95% дефектов с severity High исправлены и верифицированы. (Остальные — «не воспроизводится» или «так и задумано»)
- Покрытие кода unit-тестами достигло 80%. (Это разработчики сами написали, мы им верим. Ну почти.)

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