Какие критерии служат основанием для остановки (приостановки) тестирования?

Ответ

Тестирование может быть остановлено досрочно по следующим критериям:

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

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

Псевдокод для принятия решения:

if (critical_bugs > 5 or budget <= 0):
    stop_testing(reason="Критическое количество багов / закончился бюджет")
elif (test_coverage >= 95% and new_bugs_found_last_week == 0):
    stop_testing(reason="Достигнуты критерии выхода, новых дефектов не найдено")
else:
    continue_testing()

Ответ 18+ 🔞

А, слушай, вот тебе нахуй, про тестирование. Ну, то есть, когда уже можно сказать "всё, пиздец, заканчиваем эту движуху"? Давай по пунктам, как у нормальных людей, только без соплей.

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

Во-вторых, сборка — говно полное. Ты её запускаешь, а она, сука, разваливается на глазах, как карточный домик от чиха. Блокирующих багов — овердохуища. Дальше тестировать это — всё равно что искать узоры на говне. Бесполезно. Отправляем обратно разработчикам, пусть переделывают, пока не надоест.

В-третьих, цели достигнуты. Все тесты прогнали, новых косяков не находим уже неделю, покрытие — под 95%. Всё, можно выдыхать. Уровень дефектов стабильный, как у покойника. Дальше гонять одно и то же — это уже мазохизм.

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

И наконец, приоритеты поменялись. Бизнес вдруг решил, что "ой, а давайте зарелизим эту фигню прямо сейчас" или наоборот — "всё, проект в анабиоз". Тут уж не до тестов, делай что говорят.

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

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

if (critical_bugs > 5 or budget <= 0):
    stop_testing(reason="Критическое количество багов / закончился бюджет")
elif (test_coverage >= 95% and new_bugs_found_last_week == 0):
    stop_testing(reason="Достигнуты критерии выхода, новых дефектов не найдено")
else:
    continue_testing()

Короче, если всё хуёво или денег нет — стоп. Если всё хорошо и новых проблем нет — тоже стоп. А так — продолжаем ковыряться. Всё просто, как три копейки.