Ответ
Исследовательское тестирование (Exploratory Testing, ET) не следует применять, когда критически важны следующие аспекты:
- Строгая регламентация и аудируемость: В domains с жестким регулированием (медицина, финансы, авиация). Требуется четкая документация, traceability требований и предсказуемый план.
- Исходное тестирование по формальным требованиям: Когда необходимо строго проверить соответствие системы спецификациям, без отклонений.
- Нестабильная или плохо документированная legacy-система: Риск непредсказуемого поведения или поломки системы при импровизированных проверках слишком высок.
- Оценка покрытия по формальным метрикам: Когда ключевой KPI — это процент выполненных предопределенных тест-кейсов.
Пример регламентированного модуля (банковские расчеты):
# Требуется точное соответствие бизнес-логике и нормам.
def calculate_tax(income, year):
# Жестко заданные налоговые ставки и правила
brackets = {2023: [(10000, 0.1), (40000, 0.2), (None, 0.4)]}
tax = 0
remaining_income = income
for limit, rate in brackets[year]:
if limit is None or remaining_income <= limit:
tax += remaining_income * rate
break
else:
tax += limit * rate
remaining_income -= limit
return tax
# Здесь нужны детальные, заранее рассчитанные тест-кейсы, а не импровизация.
В таких случаях ET может использоваться лишь как дополнение к формальным методам.