Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по технологии программирования1.DOC
Скачиваний:
55
Добавлен:
02.05.2014
Размер:
513.02 Кб
Скачать

35. Дайте определение и приведите пример линейного односвязного списка.

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

Пример: физическая последовательность записей и логическая последовательность содержательных частей односвязного списка: L1:<D1>,<0>; L2:<D2>,<L4>; L3:<D3>,<L2>; L4:<D4>,<L5>; L5:<D5>,<L7>; L6:<D6>,<L1>; L7: <D7>,<L6>. Состояние указателя начала списка - <L3>.

Ответ:

L3

L2

L4

L5

L7

L6

L1

0

D3

D2

D4

D5

D7

D6

D1

36. Изложите цель и основные этапы реализации метода эквивалентного разбиения.

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

а) каждый тест должен включать столько различных входных условий, сколько это возможно, с тем чтобы минимизировать общее число тестов;

б) необходимо пытаться разбить входную область программы на конечное число классов эквивалентности так, чтобы можно было предположить, что каждый тест, являющийся представителем некоторого класса, эквивалентен любому другому тесту этого класса. Другими словами, если один тест класса эквивалентности обнаруживает ошибку, то следует ожидать, что и все другие тесты этого класса эквивалентности будут обнаруживать эту ошибку. И наоборот, если тест не обнаруживает ошибки, то следует ожидать, что ни один тест этого класса эквивалентности не будет обнаруживать ошибки. Разработка тестов методом эквивалентного разбиения осуществляется в два этапа:

а) выделение класса эквивалентности;

б)построение тестов.

Классы эквивалентности выделяются путем выбора каждого входного условия (обычно это предложение или фраза в спецификации) и разбиением его на две или более групп. Для выполнения этой операции используют таблицу следующего вида:

Входные

условия

Правильные классы

эквивалентности

Неправильные классы эквивалентности

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

Следующий этап данного метода - построение тестов.

Этот процесс включает в себя:

- назначение каждому классу эквивалентности уникального номера;

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

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