Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Анализ граничных значений

Читайте также:
  1. D. обобщение, сравнение анализ ,синтез
  2. I) Однофакторный дисперсионный анализ .
  3. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  4. Ii) Двухфакторный дисперсионный анализ
  5. II. Анализ деятельности педагога
  6. II. Анализ программ по чтению и литературной подготовке учащихся начальной школы и УМК к ним. Познакомьтесь с требованиями ФГОС.
  7. II. Анализ результатов учебной деятельности.
  8. II.1. Прямые иммуноанализы
  9. II.2. Непрямые иммуноанализы
  10. III. Анализ работы с мотивированными учащимися

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

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

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

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

Суть метода заключается в выполнении следующих правил:

1. Если входное условие, то есть условие ввода, задает диапазон чисел X [1, 100], то необходимо создать тесты:

- для значений 1 и 100;

- для значения чуть левее 1 и чуть правее 100.

Например,

x1 = 1.0

x2 = 100.0

x3 = 0.9

x4 = 100.1.

2. Если условие ввода задает дискретное множество значений, то необходимо создать тесты:

- для проверки минимального и максимального значений;

- для значения чуть меньше минимума и чуть больше максимума.

Например, если X [2, 5, 7], то

x1 = 2

x2 = 7

x3 = 1

x4 = 8.

3. Ранее названное правило 1 применяется к условиям области вывода. Например: выходной (формируемый) файл содержит 1000 записей. Поэтому нужно создать тесты для создания соответственно 0, 1, 1000 и 1001 записи.

Например, если программа вычисляет ежемесячный расход и если минимум расхода составляет $0.00, а максимум – $1165.25, то построить тесты, которые вызывают расходы с $0.00 и $1165.25. Кроме того, построить, если это возможно, тесты, которые вызывают отрицательный расход и расход больше 1165.25 дол.

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

5. Если вход или выход программы есть упорядоченное множество (например, последовательный файл, линейный список, таблица), то сосредоточить внимание на первом и последнем элементах этого множества. Например, если задан на языке Си массив целых чисел, состоящий из 100 элементов, т.е. int a[100], то необходимо создать тесты для проверки соответственно a[-1], a[0], a[99], a[100] элементов массива.

 

Пример: программа поиска делением пополам.

 

Поиск выполняется в массиве элементов М, возвращается индекс I элемента массива, значение которого соответствует ключу поиска Key.

Предусловия:

1) массив должен быть упорядочен;

2) массив должен иметь не менее одного элемента;

3) нижняя граница массива (индекс) должна быть меньше или равна его верхней границе.

Постусловия:

1) если элемент найден, то флаг Result=True, значение I — номер элемента;

2) если элемент не найден, то флаг Result=False, значение I не определено.

Примеры тестовых вариантов:

 

Тестовый вариант 1 (единичный массив, элемент найден) ТВ1:

ИД: М=15; Кеу=15.

ОЖ.РЕЗ.: Resutt=True; I=1.

 

Тестовый вариант 3 (четный массив, найден последний элемент) ТВЗ:

ИД: М=15, 20, 25, 30, 35, 40; Кеу=40.

ОЖ.РЕЗ:. Result=True; I=6.

 

Тестовый вариант 7 (нечетный массив, найден промежуточный элемент) ТВ7:

ИД: М=15, 20, 25, 30,35, 40, 45; Кеу=30.

ОЖ.РЕЗ.: Result=True; I=4.

 

Тестовый вариант 8 (четный массив, не найден элемент) ТВ8:

ИД: М=15, 20, 25, 30, 35,40; Кеу=23.

ОЖ.РЕЗ.: Result=False; I=?

 

Тестовый вариант 11 (нарушены предусловия) ТВ11:

ИД: М=15, 10, 5, 25, 20, 40, 35; Кеу=35.

ОЖ.РЕЗ.: Аварийное донесение: Массив не упорядочен.




Дата добавления: 2015-01-07; просмотров: 34 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав