Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Метод эквивалентных разбиений



В этом методе по спецификациям программы выясняются области определения входных данных. Классы эквивалентности выделяются путем выбора каждого входного условия обычно из спецификаций программы и разбиения их на два и более класса.

Различают два типа классов эквивалентности: правильные и неправильные. Особое внимание необходимо сосредоточить на неправильных классах.

При выделении классов эквивалентности рекомендуется придерживаться следующих правил.

1. Если входное условие описывают область значений, то определяется один правильный класс и два неправильных. Например, пусть в спецификациях программы сказано, что параметр x должен быть целым из диапазона [1,999]. Тогда выделяется один правильный класс: 1 ≤ x ≤ 999, и два неправильных класса: х<1 и  х>999.

2. Если входное условие описывает число значений, например, в автомашине могут ехать от 1 до 6 человек, то определяется один правильный класс и два неправильных класса, т.е. отсутствие и более 6 человек.

3. Если входное условие описывает множество входных значений и есть основание полагать, что каждое значение программа трактует особо, то определяются правильные классы эквивалентности для каждого допустимого значения и один неправильный класс. Например, входной параметр – способ передвижения со значениями: «автобус», «мотоцикл», «грузовик», тогда правильными будут три класса именно с этими значениями и один неправильный класс со значением, например, «самолет».

4. Если входное условие описывает ситуацию: «должно быть», например, первый символ идентификатора должен быть буквой, то определяется один правильный класс (первый символ – буква) и один неправильный класс (первый символ – не буква).

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

Построение тестов включает в себя:

а) назначение каждому классу уникального номера;

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

в) проектирование тестов, каждый из которых покрывает один и только один неправильный класс, при этом, если тестируется один параметр на неправильное значение, остальные параметры должны иметь правильные значения.

Например, пусть имеется программа, которая проводит синтаксический контроль идентификаторов какого-либо языка программирования. По спецификациям этого языка идентификатор может иметь длину не более двух символов: первый символ - обязательно латинская буква, второй – латинская буква или цифра, или отсутствует.

Выделим классы эквивалентности.

  Классы

Правильные классы

1 Первый символ – латинская буква
2 Второй символ - латинская буква
3 Второй символ – цифра
4 Второй символ – отсутствует

Неправильные классы

5 Первый символ – не латинская буква
6 Второй символ – не латинская буква и не цифра

 

Тесты составим в виде следующей таблицы.

Тесты

Покрывает классы

Результат

Первый символ Второй символ
1 Z X 1,2

Правильная работа

2 W 3 1,3
3 Y   1,4
4 Я 9 5

Сообщение об ошибке

5 R # 6

 

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


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 294; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь