Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Врезка 20.1. Спецификация программы поиска




Процедура: Seach (Key: ELEM; Т: SEQ of ELEM;

 

Found: in out BOOLEAN; L: in out ELEM_INDEX);

Предусловие

 

-- впоследовательности должен быть хотя бы один элемент

T’FIRST<= T’LAST

Постусловие

 

-- если элемент обнаружен под номером L

 

(Found and Т(L) = Key)

 

Или

 

-- если элемента нет в последовательности

 

(not Found and

not (exists i, T’FIRST >= i <= T’LAST, T(i) = Key))

 

Согласно данной спецификации, можно определить две очевидные области эквивалентности:

 

• последовательности входных данных, содержащие ключевой элемент (Found = true);

• последовательности входных данных, не содержащие ключевого элемента (Found = false).

 

При определении областей эквивалентности руководствуются различными правилами. Вот несколько правил выбора тестирующих последовательностей.

 

1. Тестирующая последовательность может состоять из одного элемента. Обычно считается, что последовательности состоят из нескольких элементов и программисты иногда закладывают такое представление в свои программы. Следовательно если ввести последовательность из одного элемента, программа может сработать неправильно.

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

3. Следует использовать тестирующие последовательности, в которых ключевой элемент является первым, средним и последним элементом последовательности. Такой метод помогает выявить проблемы на границах областей эквивалентности.

 

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

 

• Входная последовательность состоит из одного элемента.

• Во входной последовательности больше одного элемента.

 

Эти области комбинируются с определенными ранее областями эквивалентности в результате будут получены области эквивалентности, представленные в табл. 20.1.

Таблица 20.1. Области эквивалентности для программы поиска

 

Последовательность Ключевой элемент
Один элемент Есть в последовательности
Один элемент Нет в последовательности
Несколько элементов Первый элемент последовательности
Несколько элементов Последний элемент последовательности
Несколько элементов Средний элемент последовательности
Несколько элементов Нет в последовательности
 
Входная последовательность (Т) Key Выходные данные (Found, L)
    true, 1
    false,??
17, 29, 21, 23   true, 1
41, 18, 9, 31, 30, 16, 45   true, 7
17, 18, 21, 23, 41, 38   true, 4
21, 23, 29, 33, 38   false,??
       

 

В табл. 20.1 также представлен набор возможных тестовых данных, взятых из этих областей. Если ключевого элемента нет в последовательности, значение L не определено. При подборе тестовых данных применялось правило выбора последовательностей, согласно которому в разных тестах следует использовать последовательности разных размеров.

Множество вводимых значений, используемых для тестирования программы поиска, не является полным. Например, в работе программы может произойти сбой, если входная последовательность содержит элементы 1, 2, 3 или 4. Однако разумно предположить, что если не обнаружены дефекты при обработке одного элемента какого-либо класса эквивалентности, то тесты с любыми другими элементами этого класса также не выявят дефектов. Конечно, это не означает, что в программе отсутствуют дефекты. Возможно, не все области эквивалентности определены или определены неверно, или неправильно подобраны тестовые данные.

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

Поделиться:





Читайте также:

II. ТРЕБОВАНИЯ К СТРУКТУРЕ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ ДОШКОЛЬНОГО ОБРАЗОВАНИЯ
III. ПРОГРАММЫ ПОАСПЕКТНОГО ПСИХОЛОГИЧЕСКОГО НАБЛЮДЕНИЯ УРОКА С ПОЗИЦИИ УЧЕТА И РАЗВИТИЯ ПОЗНАВАТЕЛЬНЫХ ПРОЦЕССОВ ШКОЛЬНИКОВ
IV. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ ДОШКОЛЬНОГО ОБРАЗОВАНИЯ
V. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ОСНОВНОЙ ПРОФЕССИОНАЛЬНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ
VIII. ТРЕБОВАНИЯ К ОЦЕНИВАНИЮ КАЧЕСТВА ОСВОЕНИЯ ОСНОВНОЙ ПРОФЕССИОНАЛЬНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ
Автоматизированное рабочее место врача: программное обеспечение. Специализированные медицинские прикладные программы
Автором программы для ЭВМ или базы данных признается физическое лицо, в результате творческой деятельности которого они созданы.
АЛГОРИТМ ФУНКЦИОНИРОВАНИЯ ПРОГРАММЫ
Анализ примерной основной общеобразовательной программы дошкольного образования
Анализ формирования и проведения производственной программы.






Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...