Методы тестирования программного обеспечения. Степанченко И.В. - 63 стр.

UptoLike

Составители: 

65
подразумевают определенную стратегию при тестировании и создании
классов/модулей), но нисходящее проектированиеэто совершенно иной
и независимый процесс. Программа, спроектированная нисходящим ме-
тодом, может тестироваться и нисходящим, и восходящим методами.
Во-вторых, восходящая разработка или тестирование часто отожде-
ствляется с монолитным тестированием. Это недоразумение возникает
из-за того, что начало
восходящего тестирования идентично монолитно-
му при тестировании нижних или терминальных классов/модулей. Рас-
смотрим различие между нисходящей и восходящей стратегиями.
3.4.1. Нисходящее тестирование
Нисходящее тестирование начинается с верхнего, головного класса
(или модуля) программы. Строгой, корректной процедуры подключения
очередного последовательно тестируемого класса не существует. Единст-
венное правило, которым следует руководствоваться при
выборе очеред-
ного класса, состоит в том, что им должен быть один из классов, методы
которого вызываются классом, предварительно прошедшим тестирование.
Для иллюстрации этой стратегии рассмотрим рис. 12. Изображенная
на нем программа состоит из двенадцати классов А-L. Допустим, что класс J
содержит операции чтения из внешней памяти, а класс I – операции записи.
A
B C D
F
H
E G
I
J
K L
Рис. 12. Пример программы, состоящей из двенадцати классов
Первый шагтестирование класса А. Для его выполнения необхо-
димо написать заглушки, замещающие классы В, С и D. К сожалению,
часто неверно понимают функции, выполняемые заглушками. Так, порой
можно услышать, что «заглушка» должна только выполнять запись со-
общения, устанавливающего: «класс подключен» или «достаточно, чтобы
заглушка существовала, не выполняя никакой работы вообще». В
боль-
шинстве случаев эти утверждения ошибочны. Когда класс А вызывает
метод класса В, А предполагает, что В выполняет некую работу, т. е.
класс А получает результаты работы метода класса В (например, в форме
значений выходных переменных). Когда же метод класса В просто воз-
подразумевают определенную стратегию при тестировании и создании
классов/модулей), но нисходящее проектирование – это совершенно иной
и независимый процесс. Программа, спроектированная нисходящим ме-
тодом, может тестироваться и нисходящим, и восходящим методами.
     Во-вторых, восходящая разработка или тестирование часто отожде-
ствляется с монолитным тестированием. Это недоразумение возникает
из-за того, что начало восходящего тестирования идентично монолитно-
му при тестировании нижних или терминальных классов/модулей. Рас-
смотрим различие между нисходящей и восходящей стратегиями.
                    3.4.1. Нисходящее тестирование
     Нисходящее тестирование начинается с верхнего, головного класса
(или модуля) программы. Строгой, корректной процедуры подключения
очередного последовательно тестируемого класса не существует. Единст-
венное правило, которым следует руководствоваться при выборе очеред-
ного класса, состоит в том, что им должен быть один из классов, методы
которого вызываются классом, предварительно прошедшим тестирование.
     Для иллюстрации этой стратегии рассмотрим рис. 12. Изображенная
на нем программа состоит из двенадцати классов А-L. Допустим, что класс J
содержит операции чтения из внешней памяти, а класс I – операции записи.
                                     A


                         B           C            D


           E             F           G            H            I



                         J                   K            L


               Рис. 12. Пример программы, состоящей из двенадцати классов
    Первый шаг – тестирование класса А. Для его выполнения необхо-
димо написать заглушки, замещающие классы В, С и D. К сожалению,
часто неверно понимают функции, выполняемые заглушками. Так, порой
можно услышать, что «заглушка» должна только выполнять запись со-
общения, устанавливающего: «класс подключен» или «достаточно, чтобы
заглушка существовала, не выполняя никакой работы вообще». В боль-
шинстве случаев эти утверждения ошибочны. Когда класс А вызывает
метод класса В, А предполагает, что В выполняет некую работу, т. е.
класс А получает результаты работы метода класса В (например, в форме
значений выходных переменных). Когда же метод класса В просто воз-
                                 65