Методы и средства инженерии программного обеспечения


Динамические методы тестирования - часть 2


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

Разработка тестов   методом   эквивалентного    разбиения осуществляется в два этапа: выделение классов эквивалентности и построение тестов.  При  построении тестов, основанных на выборе   входных   данных,   проводится  символическое выполнение  программы.

Итак, методы тестирования по принципу «черного ящика» используются для тестирования функций, реализованных в программе, путем проверки несоответствия между реальным поведением функций и ожидаемым поведением с учетом  спецификаций требований. Во время подготовки к этому тестированию строятся: таблицы условий, причинно–следственные графы и области разбивки. Кроме того, подготавливаются тестовые наборы, учитывающие параметры и условия среды, которые влияют на поведение функций. Для каждого условия определяется множество значений и ограничений предикатов, которые тестируются.

 

Метод «белого   ящика» позволяет исследовать внутреннюю структуру  программы,  причем обнаружение всех ошибок  в  программе  является  критерием исчерпывающего тестирования  маршрутов ее потоков   (графа) передач управления, среди которых рассматриваются:

(а) критерий   покрытия   операторов –   набор   тестов  в совокупности должен обеспечить прохождение  каждого  оператора не менее одного раза;

(б) критерий тестирования ветвей (известный  как  покрытие решений или  покрытие переходов) –  набор тестов в совокупности должен обеспечить прохождение  каждой  ветви  (каждого  выхода оператора) по крайней мере один раз.

Критерий (б) соответствует простому структурному тесту  и наиболее распространен  на практике.  Для удовлетворения этого критерия необходимо построить систему  путей,  содержащую  все ветви программы.  Нахождение  такого  оптимального  покрытия в некоторых случаях осуществляется просто,  а в других  является более сложной задачей.




- Начало -  - Назад -  - Вперед -