3.3 Тест-требования
Тест-требования - основной документ для тестировщика, который определяет функциональность системы с точки зрения того, что должно быть проверено, чтобы удостовериться в ее корректном функционировании, а также - на основании какого внешнего эффекта можно убедиться, что проверяемая функция реализована правильно.
Существует два подхода к написанию тест-требований - функциональный и структурный.
Тест-требования, написанные в рамках функционального подхода, основываются на системных требованиях и требованиях к программному обеспечению системы.
Тест-требования, написанные в рамках структурного подхода, пишутся на основании описания архитектуры системы и принимают в расчет строение исходных текстов системы.
Структурные тест-требования важны в том случае, когда к надежности системы предъявляются повышенные требования.
На практике почти всегда применяются оба подхода к разработке тест-требований. В результате в состав документации проекта включаются тест-требования верхнего уровня и тест-требования нижнего уровня, по которым составляются тест-планы (рисунок 3.2).
Рисунок 3.2 - Место тест-требований среди проектной документации
Тест-требования должны быть достаточными для построения тест-плана проверки реализации задачи без знакомства с ее программными текстами, т.е. тест-требования должны обладать свойством изоляции от внутренней структуры системы.
Как правило, структура тест-требований следует структуре раздела функциональных требований на систему. Задача каждого требования - определение того, что надо проверить. Обычный формат описания отдельного требования следующий:
Проверить, что при <описание внешнего воздействия> [происходит] <описание реакции программы>.
Тест-требования, написанные в рамках функционального подхода, обычно разделяют на следующие группы:
Совокупность
тест-требований
должна обладать некоторыми важными свойствами: полнота, верифицируемость
и непротиворечивость.
Как правило, одному системному или функциональному требованию соответствует минимум одно тест-требование. Если совокупность проверок, задаваемых тест-требованиями, покрывает всю функциональность системы, определенную в системных требованиях и требованиях к программному обеспечению, то говорят о полноте тест-требований. При изменениях требований к системе для поддержания полноты должны меняться и тест-требования.
Тест-требования
по
которым составляются тест-планы для тестирования системы, обычно обладают
свойством непротиворечивости, поскольку противоречия обычно устраняются на
уровне верификации проектной документации. Однако противоречия могут быть
выявлены и позже, в результате попытки создать адекватные тестовые примеры.