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

UptoLike

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

68
ется в реальной программе для ввода данных (например, из вспомога-
тельного файла или ввод с клавиатуры). Точно так же, если подключае-
мый класс содержит выходные функции программы, то отпадает необхо-
димость в заглушках, записывающих результаты тестирования. Пусть,
например, классы J и I выполняют функции входа-выхода, a G содержит
некоторую критическую функцию; тогда пошаговая
последовательность
может быть следующей:
A B F J D I C G E K H L
и после шестого шага становится такой, как показано на рис. 14.
A
B
Заглушка
C
D
F
Заглушка
H
Заглушка
E
I
J
Рис. 14. Промежуточное состояние при нисходящем тестировании
По достижении стадии, отражаемой рис. 14, представление тестов и
анализ результатов тестирования существенно упрощаются. Появляются
дополнительные преимущества. В этот момент уже имеется рабочая вер-
сия структуры программы, выполняющая реальные операции ввода-
вывода, в то время как часть внутренних функций имитируется заглуш-
ками. Эта рабочая версия позволяет выявить ошибки и проблемы, свя-
занные
с организацией взаимодействия с человеком; она дает возмож-
ность продемонстрировать программу пользователю, вносит ясность в то,
что производится испытание всего проекта в целом, а для некоторых яв-
ляется и положительным моральным стимулом. Все это, безусловно, дос-
тоинства стратегии нисходящего тестирования.
Однако нисходящее тестирование имеет ряд серьезных недостатков.
Пусть состояние проверяемой
программы соответствует показанному на
рис. 14. На следующем шаге нужно заменить заглушку самим классом Н.
Для тестирования этого класса требуется спроектировать (или они спро-
ектированы ранее) тесты. Заметим, что все тесты должны быть представ-
лены в виде реальных данных, вводимых через класс J. При этом созда-
ются две проблемы. Во-первых, между классами
Н и J имеются промежу-
точные классы (F, В, А и D), поэтому может оказаться невозможным пе-
ется в реальной программе для ввода данных (например, из вспомога-
тельного файла или ввод с клавиатуры). Точно так же, если подключае-
мый класс содержит выходные функции программы, то отпадает необхо-
димость в заглушках, записывающих результаты тестирования. Пусть,
например, классы J и I выполняют функции входа-выхода, a G содержит
некоторую критическую функцию; тогда пошаговая последовательность
может быть следующей:
        ABFJDICGEKHL
и после шестого шага становится такой, как показано на рис. 14.

                                   A


                     B         Заглушка         D
                                   C

     Заглушка        F                       Заглушка          I
         E                                       H


                     J


         Рис. 14. Промежуточное состояние при нисходящем тестировании
     По достижении стадии, отражаемой рис. 14, представление тестов и
анализ результатов тестирования существенно упрощаются. Появляются
дополнительные преимущества. В этот момент уже имеется рабочая вер-
сия структуры программы, выполняющая реальные операции ввода-
вывода, в то время как часть внутренних функций имитируется заглуш-
ками. Эта рабочая версия позволяет выявить ошибки и проблемы, свя-
занные с организацией взаимодействия с человеком; она дает возмож-
ность продемонстрировать программу пользователю, вносит ясность в то,
что производится испытание всего проекта в целом, а для некоторых яв-
ляется и положительным моральным стимулом. Все это, безусловно, дос-
тоинства стратегии нисходящего тестирования.
     Однако нисходящее тестирование имеет ряд серьезных недостатков.
Пусть состояние проверяемой программы соответствует показанному на
рис. 14. На следующем шаге нужно заменить заглушку самим классом Н.
Для тестирования этого класса требуется спроектировать (или они спро-
ектированы ранее) тесты. Заметим, что все тесты должны быть представ-
лены в виде реальных данных, вводимых через класс J. При этом созда-
ются две проблемы. Во-первых, между классами Н и J имеются промежу-
точные классы (F, В, А и D), поэтому может оказаться невозможным пе-
                                       68