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

UptoLike

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

67
щающих классы нижнего уровня; например, класс может получать дан-
ные от нескольких вызываемых им методов других классов.
После завершения тестирования класса А одна из заглушек заменяется
реальным классом и добавляются заглушки, необходимые уже этому клас-
су. Например, на рис. 13 представлена следующая версия программы.
A
B
Заглушка
C
Заглушка
D
Заглушка
F
Заглушка
E
Рис. 13. Второй шаг при нисходящем тестировании
После тестирования верхнего (головного) класса тестирование вы-
полняется в различных последовательностях. Так, если последовательно
тестируются все классы, то возможны следующие варианты:
A B C D E F G H I J K L
A B E F J C G K D H L I
A D H I K L C G B F J E
A B F J D I E C G K H L
При параллельном выполнении тестирования могут встречаться
иные последовательности. Например, после тестирования класса А одним
программистом может тестироваться последовательность АВ, другим
АС, третьимА–D. В принципе нет
такой последовательности, которой
бы отдавалось предпочтение, но рекомендуется придерживаться двух ос-
новных правил:
1. Если в программе есть критические в каком-либо смысле части (воз-
можно, класс G), то целесообразно выбирать последовательность, ко-
торая включала бы эти части как можно раньше. Критическими могут
быть сложный класс, класс с новым алгоритмом или класс
со значитель-
ным числом предполагаемых ошибок (класс, склонный к ошибкам).
2. Классы, включающие операции ввода-вывода, также необходимо
подключать в последовательность тестирования как можно раньше.
Целесообразность первого правила очевидна, второе же следует об-
судить дополнительно. Напомним, что при проектировании заглушек
возникает проблема, заключающаяся в том, что одни из них должны
со-
держать тесты, а другиеорганизовывать выдачу результатов на печать
или на дисплей. Если к программе подключается реальный класс, содер-
жащий методы ввода, то представление тестов значительно упрощается.
Форма их представления становится идентичной той, которая использу-
щающих классы нижнего уровня; например, класс может получать дан-
ные от нескольких вызываемых им методов других классов.
     После завершения тестирования класса А одна из заглушек заменяется
реальным классом и добавляются заглушки, необходимые уже этому клас-
су. Например, на рис. 13 представлена следующая версия программы.

                                             A


                               B          Заглушка      Заглушка
                                              C             D

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

                Рис. 13. Второй шаг при нисходящем тестировании
    После тестирования верхнего (головного) класса тестирование вы-
полняется в различных последовательностях. Так, если последовательно
тестируются все классы, то возможны следующие варианты:
        ABCDEFGHIJKL
        ABEFJCGKDHLI
        ADHIKLCGBFJE
        ABFJDIECGKHL
    При параллельном выполнении тестирования могут встречаться
иные последовательности. Например, после тестирования класса А одним
программистом может тестироваться последовательность А–В, другим –
А–С, третьим – А–D. В принципе нет такой последовательности, которой
бы отдавалось предпочтение, но рекомендуется придерживаться двух ос-
новных правил:
1. Если в программе есть критические в каком-либо смысле части (воз-
    можно, класс G), то целесообразно выбирать последовательность, ко-
    торая включала бы эти части как можно раньше. Критическими могут
    быть сложный класс, класс с новым алгоритмом или класс со значитель-
    ным числом предполагаемых ошибок (класс, склонный к ошибкам).
2. Классы, включающие операции ввода-вывода, также необходимо
    подключать в последовательность тестирования как можно раньше.
    Целесообразность первого правила очевидна, второе же следует об-
судить дополнительно. Напомним, что при проектировании заглушек
возникает проблема, заключающаяся в том, что одни из них должны со-
держать тесты, а другие – организовывать выдачу результатов на печать
или на дисплей. Если к программе подключается реальный класс, содер-
жащий методы ввода, то представление тестов значительно упрощается.
Форма их представления становится идентичной той, которая использу-
                                   67