какие существуют разновидности функциональных критериев
Критерии выбора тестов
Функциональные критерии (класс II)
Спецификация требований может содержать сотни и тысячи пунктов требований к программному продукту и каждое из этих требований при тестировании должно быть проверено в соответствии с критерием не менее чем одним тестом
Следует заметить, что грамматика должна быть достаточно простой, чтобы трудоемкость разработки соответствующего набора тестов была реальной (вписывалась в сроки и штат специалистов, выделенных для реализации фазы тестирования )
При создании тестов классы выходных данных сопоставляются с режимами использования тестируемого компонента или подсистемы, что заметно сокращает варианты перебора, учитываемые при разработке тестовых наборов.
Очень популярный на практике критерий, который, однако, не обеспечивает покрытия части функциональности тестируемого компонента, связанной со структурными и поведенческими свойствами, описание которых не сосредоточено в отдельных функциях (т.е. описание рассредоточено по компоненту).
При этом все комбинации непротиворечивых условий надо подтвердить, а условия противоречий следует обнаружить и ликвидировать.
Пример применения функциональных критериев тестирования для разработки набора тестов по критерию классов входных данных
Пусть для решения задачи тестирования системы «Система управления автоматизированным комплексом хранения подшипников» (см. Приложение 1, FS) был разработан следующий фрагмент спецификации требований:
Теперь рассмотрим тестовые случаи:
Тестовый случай 1 (покрывает класс 4):
Система запрашивает статус склада (вызов функции GetStoreStat ) и получает 32
Тестовый случай 2 (покрывает класс 5):
Система запрашивает статус склада (вызов функции GetStoreStat ) и согласно пункту спецификации при ошибочном значении статуса склада в журнал добавляется сообщение «СКЛАД : ОШИБКА : Неопределенный статус».
Критерии выбора тестов
Требования к идеальному критерию тестирования
Требования к идеальному критерию были выдвинуты в работе [ 11 ] :
Для нетривиальных классов программ в общем случае не существует полного и надежного критерия, зависящего от программ или спецификаций.
Поэтому мы стремимся к идеальному общему критерию через реальные частные.
Классы критериев
Структурные критерии (класс I).
Структурные критерии базируются на основных элементах УГП, операторах, ветвях и путях.
Тестовый набор из одного теста, удовлетворяет критерию команд (C0):
(X,Y)=<(xвх=30, xвых=0)> покрывает все операторы трассы 1-2-3-4-5-6
Тестовый набор из двух тестов, удовлетворяет критерию ветвей (C1):
Тестовый набор из четырех тестов, удовлетворяет критерию путей ( C2 ):
Набор условий для двух операторов if c метками 2 и 4 приведен в таблица 3.1
(30,0) | (17,17) | (-13,0) | (21,-4) | |
2 if (x>17) | > | > | ||
4 if (x==-13) | = |
Структурные критерии не проверяют соответствие спецификации, если оно не отражено в структуре программы. Поэтому при успешном тестировании программы по критерию C2 мы можем не заметить ошибку, связанную с невыполнением некоторых условий спецификации требований.