Файл: Технология разработки программного обеспечения.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 
 

61

2)  проектирование  новых  тестов,  каждый  из  которых  по-

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

3)  запись  тестов,  каждый  из  которых  покрывает  один  и 

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

Причина покрытия неправильных классов эквивалентности 

индивидуальными  тестами  состоит  в  том,  что  определенные 
проверки с ошибочными входами скрывают или заменяют дру-
гие проверки с ошибочными входами. Например, спецификация 
устанавливает  «тип  книги  при  поиске  (ВЫЧИСЛИТЕЛЬНАЯ 
ТЕХНИКА,  ПРОГРАММИРОВАНИЕ  или  ОБЩИЙ)  и  количе-
ство (1—9999)». Тогда тест

XYZ 0

отображает два ошибочных условия (неправильный тип книги и 
количество) и, вероятно, не будет осуществлять проверку коли-
чества,  так  как  программа  может  ответить «XYZ — 
НЕСУЩЕСТВУЮЩИЙ  ТИП  КНИГИ»  и  не  проверять  осталь-
ную часть входных данных.

Пример.  Предположим,  что  при  разработке  компилятора 

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

Оператор DIMENSION используется  для  определения  мас-

сивов. Форма оператора DIMENSION:

DIMENSION ad [, ad

,

где ad есть описатель массива в форме

n(d[,d]

),


background image

 
 

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)


background image

 
 

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 


background image

 
 

64

(26) DIMENSION D(65536)

(31) DIMENSION D(4:3)

(37) DIMENSION D(A(2):4)

(38) DIMENSION D(.:4)

Эти классы эквивалентности покрываются 18 тестами. Хотя 

эквивалентное разбиение  значительно лучше случайного выбора 
тестов, оно все же имеет недостатки (т.е. пропускает определен-
ные типы высокоэффективных тестов). Следующие два метода — 
анализ  граничных  значений  и  использование  функциональных 
диаграмм (диаграмм причинно-следственных связей cause-effect 
graphing) — свободны  от  многих  недостатков,  присущих  экви-
валентному разбиению.

Результаты тестирования приводятся в заключении поясни-

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


background image

 
 

65

РУКОВОДСТВО

СИСТЕМНОГО

ПРОГРАММИСТА

 
Составление руководства системного программиста — цель 

третьей части второй лабораторной работы. Также руководство 
системного  программиста  является  пятым  разделом  курсовой 
работы.

Требования  к  оформлению  руководства  системного  про-

граммиста  излагаются  в  ГОСТ 19.503-79 «Руководство  систем-
ного программиста. Требования к содержанию и оформлению». 

 
5.1 

ГОСТ

 19.503-79 

 
Настоящий  стандарт  устанавливает  требования  к  содержа-

нию и оформлению программного документа «Руководство сис-
темного программиста», определенного ГОСТ 19.101-77.

Стандарт полностью соответствует CТ СЭВ 2094-80. 

5.1.1 Общие положения 

1.1.  Структуру  и  оформление  документа  устанавливают  в 

соответствии с ГОСТ 19.105-78.

1.2.  Руководство  системного  программиста  должно  содер-

жать следующие разделы:

– общие сведения о программе;

– структура программы;

– настройка программы;

– проверка программы;

– дополнительные возможности;

– сообщения системному программисту.

В  зависимости  от  особенностей  документа  допускается 

объединять  отдельные  разделы  или  вводить  новые.  В  обосно-
ванных  случаях  допускается  раздел  «Дополнительные  возмож-
ности» не приводить, а в наименованиях разделов опускать сло-
во «программа» или заменять его наименованием программы.