ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Проектирование информационных систем
Добавлен: 21.10.2018
Просмотров: 10783
Скачиваний: 8
141
сок,
таблица),
то
сосредоточить
внимание
на
первом
и
послед-
нем
элементах
этого
множества.
6.
Попробовать
свои
силы
в
поиске
других
граничных
ус-
ловий.
Чтобы
проиллюстрировать
необходимость
анализа
гра-
ничных
значений,
можно
использовать
программу
анализа
тре-
угольника,
приведенную
в
п.
6.2.1.
Для
задания
треугольника
входные
значения
должны
быть
целыми
положительными
чис-
лами
и
сумма
любых
двух
из
них
должна
быть
больше
третьего.
Если
определены
эквивалентные
разбиения,
то
целесообразно
определить
одно
разбиение,
в
котором
это
условие
выполняет-
ся,
и
другое,
в
котором
сумма
двух
целых
не
больше
третьего.
Следовательно,
двумя
возможными
тестами
являются
3—4—5
и
1—2—4.
Тем
не
менее
здесь
есть
вероятность
пропуска
ошиб-
ки.
Иными
словами,
если
выражение
в
программе
было
закоди-
ровано
как
A+B
≥C
вместо
A+B>C,
то
программа
ошибочно
со-
общала
бы
нам,
что
числа
1—2—3
представляют
правильный
равносторонний
треугольник.
Таким
образом,
существенное
различие
между
анализом
граничных
значений
и
эквивалент-
ным
разбиением
заключается
в
том,
что
анализ
граничных
зна-
чений
исследует
ситуации,
возникающие
на
границах
и
вблизи
границ
эквивалентных
разбиений.
В
качестве
примера
для
применения
метода
анализа
гра-
ничных
значений
рассмотрим
следующую
спецификацию
про-
граммы.
MTEST
есть
программа,
которая
сортирует
различную
информацию
об
экзаменах.
Входом
программы
является
файл,
названный
OCR,
который
содержит
80-символьные
записи.
Первая
запись
представляет
название;
ее
содержание
использу-
ется
как
заголовок
каждого
выходного
отчета.
Следующее
множество
записей
описывает
правильные
ответы
на
экзамене.
Каждая
запись
этого
множества
содержит
«2»
в
качестве
по-
следнего
символа.
В
первой
записи
в
колонках
1—3
задается
число
ответов,
оно
принимает
значения
от
1
до
999.
Колонки
10—59
включают
сведения
о
правильных
ответах
на
вопросы
с
номерами
1—50,
любой
символ
воспринимается
как
ответ.
По-
следующие
записи
содержат
в
колонках
10—59
сведения
о
пра-
142
вильных
ответах
на
вопросы
с
номерами
51—100,
101—150
и
т.д.
Третье
множество
записей
описывает
ответы
каждого
студента;
любая
запись
этого
набора
имеет
число
«3»
в
восьмидесятой
колонке.
Для
каждого
студента
первая
запись
в
колонках
1—9
содержит
его
имя
или
номер
(любые
символы);
в
колонках
10—59
помещены
сведения
о
результатах
ответов
студентов
на
вопросы
с
номерами
1—50.
Если
в
тесте
предусмотрено
более
чем
50
вопросов,
то
последующие
записи
для
студента
описы-
вают
ответы
51—100,
101—150
и
т.д.
в
колонках
10—59.
Мак-
симальное
число
студентов
—
200.
Форматы
входных
записей
показаны
на
рис.
6.8.
Название
Число
вопросов
Правильные
ответы:
1—50
2
1
3
4
9
10
59
60
79
80
Неправильные
ответы:
51—100
2
Идентификатор
студента
Ответы
студента:
1—50
3
Ответы
студента:
51—100
3
Идентификатор
студента
Ответы
студента:
1—50
3
Рис.
6.8
—
Структуры
входных
записей
для
программы
MTEST
Выходными
записями
являются:
1)
отчет,
упорядоченный
в
лексикографическом
порядке
идентификаторов
студентов
и
показывающий
качество
ответов
каждого
студента
(процент
правильных
отве-
тов)
и
его
ранг;
2)
аналогичный
отчет,
но
упорядоченный
по
качеству;
3)
отчет,
показывающий
среднее
значение,
медиану
и
среднеквадратическое
отклонение
качества
ответов;
143
4)
отчет,
упорядоченный
по
номерам
вопросов
и
показы-
вающий
процент
студентов,
отвечающих
правильно
на
каждый
вопрос.
Конец
спецификации.
Начнем
методичное
чтение
спецификации,
выявляя
вход-
ные
условия.
Первое
граничное
входное
условие
есть
пустой
входной
файл.
Второе
входное
условие
—
карта
(запись)
назва-
ния;
граничными
условиями
являются
отсутствие
карты
назва-
ния,
самое
короткое
и
самое
длинное
названия.
Следующими
входными
условиями
служат
наличие
записей
о
правильных
ответах
и
наличие
поля
числа
вопросов
в
первой
записи
отве-
тов.
1—999
не
является
классом
эквивалентности
для
числа
во-
просов,
так
как
для
каждого
подмножества
из
50
записей
может
иметь
место
что-либо
специфическое
(т.е.
необходимо
много
записей).
Приемлемое
разбиение
вопросов
на
классы
эквива-
лентности
представляет
разбиение
на
два
подмножества:
1—50
и
51—999.
Следовательно,
необходимы
тесты,
где
поле
числа
во-
просов
принимает
значения
0,
1,
50,
51
и
999.
Эти
тесты
покры-
вают
большинство
граничных
условий
для
записей
о
правиль-
ных
ответах.
Однако
существуют
три
более
интересные
ситуа-
ции
—
отсутствие
записей
об
ответах,
наличие
записей
об
отве-
тах
типа
«много
ответов
на
один
вопрос»
и
наличие
записей
об
ответах
типа
«мало
ответов
на
один
вопрос».
Например,
число
вопросов
60
и
имеются
три
записи
об
ответах
в
первом
случае
и
одна
запись
об
ответах
во
втором.
Таким
образом,
определены
следующие
тесты:
1.
Пустой
входной
файл.
2.
Отсутствует
запись
названия.
3.
Название
длиной
в
один
символ.
4.
Название
длиной
в
80
символов.
5.
Экзамен
из
одного
вопроса.
6.
Экзамен
из
50
вопросов.
7.
Экзамен
из
51
вопроса.
8.
Экзамен
из
999
вопросов.
9.
0
вопросов
на
экзамене.
10.
Поле
числа
вопросов
имеет
нечисловые
значения.
144
11.
После
записи
названия
нет
записей
о
правильных
отве-
тах.
12.
Имеются
записи
типа
«много
правильных
ответов
на
один
вопрос».
13.
Имеются
записи
типа
«мало
правильных
ответов
на
один
вопрос».
Следующие
входные
условия
относятся
к
ответам
студен-
тов.
Тестами
граничных
значений
в
этом
случае,
по-видимому,
должны
быть:
14.
0
студентов.
15.
1
студент.
16.
200
студентов.
17.
201
студент.
18.
Есть
одна
запись
об
ответе
студента,
но
существуют
две
записи
о
правильных
ответах.
19.
Запись
об
ответе
вышеупомянутого
студента
первая
в
файле.
20.
Запись
об
ответе
вышеупомянутого
студента
послед-
няя
в
файле.
21.
Есть
две
записи
об
ответах
студента,
но
существует
только
одна
запись
о
правильном
ответе.
22.
Запись
об
ответах
вышеупомянутого
студента
первая
в
файле.
23.
Запись
об
ответах
вышеупомянутого
студента
послед-
няя
в
файле.
Можно
также
получить
набор
тестов
для
проверки
вы-
ходных
границ,
хотя
некоторые
из
выходных
границ
(например,
пустой
отчет
1)
покрываются
приведенными
тестами.
Гранич-
ными
условиями
для
отчетов
1
и
2
являются:
−
0
студентов
(так
же,
как
тест
14);
−
1
студент
(так
же,
как
тест
15);
−
200
студентов
(так
же,
как
тест
16);
24.
Оценки
качества
ответов
для
всех
студентов
одинако-
вы.
25.
Оценки
качества
ответов
всех
студентов
различные.
145
26.
Оценки
качества
ответов
некоторых,
но
не
всех
сту-
дентов
одинаковы
(для
проверки
правильности
вычис-
ления
рангов).
27.
Студент
получает
оценку
качества
ответа
0.
28.
Студент
получает
оценку
качества
ответа
100.
29.
Студент
имеет
идентификатор
наименьшей
возможной
длины
(для
проверки
правильности
упорядочивания).
30.
Студент
имеет
идентификатор
наибольшей
возможной
длины.
31.
Число
студентов
таково,
что
отчет
имеет
размер,
не-
сколько
больший
одной
страницы
(для
того
чтобы
по-
смотреть
случай
печати
на
другой
странице).
32.
Число
студентов
таково,
что
отчет
располагается
на
одной
странице.
Граничные
условия
отчета
3
(среднее
значение,
медиана,
среднеквадратическое
отклонение):
33.
Среднее
значение
максимально
(качество
ответов
всех
студентов
наивысшее).
34.
Среднее
значение
равно
0
(качество
ответов
всех
сту-
дентов
равно
0).
35.
Среднеквадратическое
отклонение
равно
своему
мак-
симуму
(один
студент
получает
оценку
0,
а
другой
—
100).
36.
Среднеквадратическое
отклонение
равно
0
(все
сту-
денты
получают
одну
и
ту
же
оценку).
Тесты
33
и
34
покрывают
и
границы
медианы.
Другой
полезный
тест
описывает
ситуацию,
где
существует
0
студентов
(проверка
деления
на
0
при
вычислении
математического
ожи-
дания),
но
он
идентичен
тесту
14.
Проверка
отчета
4
дает
следующие
тесты
граничных
зна-
чений:
37.
Все
студенты
отвечают
правильно
на
первый
вопрос.
38.
Все
студенты
неправильно
отвечают
на
первый
во-
прос.
39.
Все
студенты
правильно
отвечают
на
последний
во-
прос.