Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
02.05.2014
Размер:
3.73 Mб
Скачать

6. Перечислите основные стратегии тестирования. Какие известные Вам методы реализуют каждую из стратегий?

Две основные стратегии тестирования:

1)стратегия "белого ящика" - проверка пути каждой ветви алгоритма. При этом внешняя спецификация во внимание не принимается.

Методы:

1) Покрытия операторов (выполнение каждого оператора программы хотя бы один раз). 2)Покрытия решений (покрытия переходов) (должно быть написано достаточное число тестов, такое, что каждое направление перехода должно быть реализовано по крайней мере один раз). 3) Покрытия условий (записывается число тестов, достаточное для того, чтобы все возможные результаты каждого условия в решении выполнялись по крайней мере один раз). 4) Критерий решений (условий)(достаточного набора тестов, чтобы все возможные результаты каждого условия в решении выполнялись по крайней мере один раз, все результаты каждого решения выполнялись по крайней мере один раз и , кроме того, каждой точке входа передавалось управление по крайней мере один раз). 5) Комбинаторного покрытия условий (создание такого числа тестов, чтобы все возможные комбинации результатов условия в каждом решении выполнялись по крайней мере один раз).

2) стратегия «черного ящика» – проверить соответствует ли программа внешним спецификациям. При этом логика модуля совершенно не принимается во внимание

Методы:

А) эквивалентного разбиения – разработка теста осуществляется в два этапа:

1). Выделение классов эквивалентности – выделяют правильные и неправильные классы, разбиение на которые подчиняются следующим правилам:

- если входное условие описывает область значений, например, “целое данное может принимать значения от 1 до 999, то определяется один правильный класс эквивалентности (1значение целого данного  999) и два неправильных (значение целого данного<1 и значение целого данного>999);

- если входное условие описывает число значений, например, “в автомобиле могут ехать от одного до шести человек”, то определяется один правильный класс эквивалентности и два неправильных (ни одного и более 6 человек);

- если входное условие описывает множество входных значений (например, “известными способами передвижения являются: на автобусе, грузовике, такси, пешком или на мотоцикле”), то определяются правильные классы эквивалентности для каждого значения (таких “правильных” классов эквивалентности должно быть 5, по числу возможных способов передвижения) и один неправильный (например, “на прицепе”);

- если входное условие описывает ситуацию “должно быть” (например, “первым символом идентификатора должна быть буква”), то определяется один правильный класс эквивалентности (первый символ - буква) и один неправильный (первый символ - не буква);

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

2). построение теста:

- назначение каждому классу эквивалентности уникального номера;

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

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

Б) метод граничных условий

Анализ граничных значений отличается от эквивалентного разбиения в двух отношениях:

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

- при разработке тестов рассматривают не только входные условия (пространство входов), но и пространство результатов, то есть выходные классы эквивалентности.

В) метод функциональных диаграмм – они строятся подобно классам эквивалентности их построение заканчивается преобразованием диаграмм в таблицу решений по которой составляется столько тестов, сколько столбцов в таблице

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

Соседние файлы в папке Технология программирования