Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект МК2 федяев.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
440 Кб
Скачать
☆

Метод анализа граничных условий (значений)

Метод прост и дает хорошие тесты

Идея: анализ граничных условий! Граничные условия – это ситуации, возникающие непосредственно НА, ВЫШЕ и НИЖЕ границ входных и выходных классов эквивалентности.

  1. Тесты разрабатывается так, чтобы проверялась каждая граница класса эквивалентности.

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

Применение метода тем успешнее, чем больше изобретательности (творчества, интеллекта) проявит программист.

Следует применять следующие рекомендации:

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

-1.0<=X>=+1.0

будет 4 теста: x=-1.0 x=+1.0 x=-1.01 x=+1.01

  1. Использование правила 1 для каждой выходной характеристики.

Например: Программа начисляет зарплату Z

0<=Z<=10000грн

Тесты:

Т1 = {Исходные данные, вызывающие начисление зарплаты 0 грн}

Т2 = {Исходные данные, вызывающие начисление зарплаты 10000 грн}

Т3 = {Исходные данные, вызывающие начисление отрицательной зарплаты}

Т41 = {Исходные данные, вызывающие начисление зарплаты больше 10000 грн}

Не всегда можно построить тесты, выводящие выходные данные за допустимые границы

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

ПРИМЕР 1

Протестировать программу сортировки.

Функциональные характеристики программы:

-обращение к программе имеет вид SORT(A,B,N,K)

-идентификатор А - имя исходного неупорядоченного массива целых чисел

- Идентификатор B – имя массива, в котором расположены упорядоченные элементы

- размерность массива А и В равна N (целая переменная или константа в диапазоне от 0 до 1000)

- целая переменная или константа K указывает вид сортировки

К=0 – массив А по возрастанию

К=1 – по убыванию

Проведем анализ граничных условий!

Первое граничное условие связано с N(размерностью массива). Из него получаем 4 теста

№ теста

Тестовые данные

N

K

A

1

1

0

Любой неуп массив А[1]

2

10000

1

Любой неуп массив А[1..1000]

3

0

1

Любой неуп массив А

4

1001

1

Любой неуп массив А[1..1001]

Второе граничное условие связано с множеством значений K. из него получаются тесты 2,5,6

№ теста

Тестовые данные

N

K

A

5

10

0

Любой неуп массив А[1..10]

6

5

2

Любой неуп массив А[1..5]

Третье граничное условие связано с перемещением всех элементов при сортировке (тесты 7,8) и с отсутствием перемещения элементов (9,10,11,12)

№ теста

Тестовые данные

N

K

A

7

5

0

Упоряд по убыванию, элементы – различны

8

5

1

Упоряд по возраст, элементы – различны

9

5

0

Элементы одинаковы

10

5

1

Элементы одинаковы

11

5

0

Упоряд по возраст

12

5

1

Упоряд по убыванию

ПРИМЕР 2

Протестировать программу, которая распознает вид 4угольника.

Из анализа выявлены следующие граничные условия.

1: ai>0

2:0<αi<180

3:Число ввода чисел = 8

Появляются следующие новые тесты:

-одна или несколько сторон = 0

- все стороны > 0(уже покрывается)

- один или неск углов = 0

- все углы 0<αi<180 (покрывается уже)

- один или неск углов >=180

-число вводимых чисел = 8(уже покрывается)

- число вводимых чисел>8

Получаем тесты:

Тест 7: 0,20,30,50,80,100,30,150

Тест8: 10,20,10,20,0,140,60,160

Тест9: 10,50,30,50,180,100,40,40,70

Тесты10: 10,10,10,10,90,90,90,10

Резюме

  1. Метод анализа граничных значений – один из самых полезных методов.

  2. Однако граничные условия могут быть едва улавливаемые, следовательно, их обнаружение связано с большими трудностями.