ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Методичка
Дисциплина: Проектирование информационных систем
Добавлен: 21.10.2018
Просмотров: 6256
Скачиваний: 6
61
2) проектирование новых тестов, каждый из которых по-
крывает как можно большее число непокрытых правильных
классов эквивалентности до тех пор, пока все правильные клас-
сы эквивалентности не будут покрыты тестами (только не об-
щими);
3) запись тестов, каждый из которых покрывает один и
только один из непокрытых неправильных классов эквивалент-
ности до тех пор, пока все неправильные классы эквивалентно-
сти не будут покрыты тестами.
Причина покрытия неправильных классов эквивалентности
индивидуальными тестами состоит в том, что определенные
проверки с ошибочными входами скрывают или заменяют дру-
гие проверки с ошибочными входами. Например, спецификация
устанавливает «тип книги при поиске (ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА, ПРОГРАММИРОВАНИЕ или ОБЩИЙ) и количе-
ство (1—9999)». Тогда тест
XYZ 0
отображает два ошибочных условия (неправильный тип книги и
количество) и, вероятно, не будет осуществлять проверку коли-
чества, так как программа может ответить «XYZ —
НЕСУЩЕСТВУЮЩИЙ ТИП КНИГИ» и не проверять осталь-
ную часть входных данных.
Пример. Предположим, что при разработке компилятора
для подмножества языка Фортран требуется протестировать
синтаксическую проверку оператора DIMENSION. Специфика-
ция приведена ниже. В спецификации элементы, написанные
латинскими буквами, обозначают синтаксические единицы, ко-
торые в реальных операторах должны быть заменены соответст-
вующими значениями, в квадратные скобки заключены необяза-
тельные элементы, многоточие показывает, что предшествую-
щий ему элемент может быть повторен подряд несколько раз.
Оператор DIMENSION используется для определения мас-
сивов. Форма оператора DIMENSION:
DIMENSION ad [, ad]
…
,
где ad есть описатель массива в форме
n(d[,d]
…
),
62
где n — символическое имя массива, а d — индекс массива.
Символические имена могут содержать от одного до шести сим-
волов — букв или цифр, причем первой должна быть буква. До-
пускается от одного до семи индексов. Форма индекса
[lb:]ub,
где lb и ub задают нижнюю и верхнюю границы индекса масси-
ва. Граница может быть либо константой, принимающей значе-
ния от –65534 до 65535, либо целой переменной (без индексов).
Если lb не определена, то предполагается, что она равна едини-
це. Значение ub должно быть больше или равно lb. Если lb опре-
делена, то она может иметь отрицательное, нулевое или поло-
жительное значение. Как и все операторы, оператор
DIMENSION может быть продолжен на нескольких строках.
(Конец спецификации).
Первый шаг заключается в том, чтобы идентифицировать
входные условия и по ним определить классы эквивалентности
(табл. 4.2). Классы эквивалентности в таблице обозначены чис-
лами.
Таблица 4.2 — Классы эквивалентности
Классы эквивалентности
Входные условия
Правильные
Неправильные
Число описателей массивов
один (1), больше
одного (2)
ни одного (3)
Длина имени массива
1—6 (4)
0 (5), больше 6 (6)
Имя массива
содержит буквы (7)
и цифры (8)
содержит другие
символы (9)
Имя массива начинается с буквы
да (10)
нет (11)
Число индексов
1—7 (12)
0 (13), больше 7
(14)
Верхняя граница
константа (15),
целая переменная
(16)
имя элемента мас-
сива (17), что-то
иное (18)
Имя целой переменной
содержит буквы
(19) и цифры (20)
состоит из других
символов (21)
Целая переменная начинается с
буквы
да (22)
нет (23)
63
Классы эквивалентности
Входные условия
Правильные
Неправильные
Константа
–65534..65535 (24)
< –65534 (25),
> 65535 (26)
Нижняя граница определена
да (27), нет (28)
Верхняя граница по отношению
к нижней границе
больше (29), равна
(30)
меньше (31)
Значение нижней границы
< 0 (32), 0 (33),
> 0 (34)
Нижняя граница
константа (35),
целая переменная
(36)
имя элемента мас-
сива (37), что-то
иное (38)
Оператор расположен на не-
скольких строках
да (39), нет (40)
Следующий шаг — построение теста, покрывающего один
или более правильных классов эквивалентности. Например, тест
DIMENSION A(2)
покрывает классы 1, 4, 7, 10, 12, 15, 24, 28, 29 и 40. Далее опре-
деляются один или более тестов, покрывающих оставшиеся
правильные классы эквивалентности. Так, тест
DIMENSION A 12345 (I, 9, J4XXXX, 65535, 1 , KLM, * 100),
BBB (–65534 : 100,0 : 1000,10 : 10,1: 65535)
покрывает оставшиеся классы. Перечислим неправильные
классы эквивалентности и соответствующие им тесты:
(3) DIMENSION
(5) DIMENSION (10)
(6) DIMENSION A234567(2)
(9) DIMENSION A.I(2)
(11) DIMENSION 1A(10)
(13) DIMENSION В
(14) DIMENSION В (4,4,4,4,4,4,4,4)
(17) DIMENSION B(4,A(2))
(18) DIMENSION B(4
„
7)
(21) DIMENSION C(I.,10)
(23) DIMENSION C(10,1J)
(25) DIMENSION D(–65535:1)
Окончание табл. 4.2
64
(26) DIMENSION D(65536)
(31) DIMENSION D(4:3)
(37) DIMENSION D(A(2):4)
(38) DIMENSION D(.:4)
Эти классы эквивалентности покрываются 18 тестами. Хотя
эквивалентное разбиение значительно лучше случайного выбора
тестов, оно все же имеет недостатки (т.е. пропускает определен-
ные типы высокоэффективных тестов). Следующие два метода —
анализ граничных значений и использование функциональных
диаграмм (диаграмм причинно-следственных связей cause-effect
graphing) — свободны от многих недостатков, присущих экви-
валентному разбиению.
Результаты тестирования приводятся в заключении поясни-
тельной записки к курсовому проекту, также даются рекоменда-
ции по устранению ошибок, выявленных в результате тестиро-
вания.
65
5
РУКОВОДСТВО
СИСТЕМНОГО
ПРОГРАММИСТА
Составление руководства системного программиста — цель
третьей части второй лабораторной работы. Также руководство
системного программиста является пятым разделом курсовой
работы.
Требования к оформлению руководства системного про-
граммиста излагаются в ГОСТ 19.503-79 «Руководство систем-
ного программиста. Требования к содержанию и оформлению».
5.1
ГОСТ
19.503-79
Настоящий стандарт устанавливает требования к содержа-
нию и оформлению программного документа «Руководство сис-
темного программиста», определенного ГОСТ 19.101-77.
Стандарт полностью соответствует CТ СЭВ 2094-80.
5.1.1 Общие положения
1.1. Структуру и оформление документа устанавливают в
соответствии с ГОСТ 19.105-78.
1.2. Руководство системного программиста должно содер-
жать следующие разделы:
– общие сведения о программе;
– структура программы;
– настройка программы;
– проверка программы;
– дополнительные возможности;
– сообщения системному программисту.
В зависимости от особенностей документа допускается
объединять отдельные разделы или вводить новые. В обосно-
ванных случаях допускается раздел «Дополнительные возмож-
ности» не приводить, а в наименованиях разделов опускать сло-
во «программа» или заменять его наименованием программы.