Читайте также:
|
|
Тестирование методом сэндвича представляет собой компромисс между восходящим и нисходящим подходами. При использовании этого метода одновременно начинают восходящее и нисходящее тестирование, собирая программу как снизу так и сверху и встречаясь в конце концов где-то в середине. Точка встречи зависит от конкретной тестируемой программы и должна быть заранее определена при изучении ее структуры. Если разработчик может представить свою систему в виде уровня прикладных модулей, затем уровня модулей обработки запросов, затем уровня примитивных функций, то он может решить применять нисходящий метод на уровне прикладных модулей, а на остальных уровнях применить восходящий метод.
В нашем случае применим метод сэндвича, поскольку перед проектированием основной программы необходимо создать комплекс интерфейсных и вспомогательных функций, которые, естественно должны быть проверены до создания основного тела программы.
Модуль-драйвер и модуль-заглушка при тестировании программ |
Для тестирования каждого модуля требуется специальный модуль-драйвер (driver module) и один или несколько модулей-заглушек (stub modules). На-пример, чтобы протестировать модуль B, сначала необходимо спроектировать тесты, а затем написать небольшую программу-драйвер, которая обеспечит передачу тестируемому модулю B входных параметров, необходимых для прогона тестов. (Для этой цели можно также воспользоваться инструмен-тальными средствами тестирования.) Драйвер должен показывать тестировщику результаты, выдаваемые модулем B. Кроме того, поскольку модуль B вызывает модуль E, управление при таком вызове должно куда-то передаваться. Это достигается за счет использования заглушки — специального модуля, которому присваивается имя "E" и который имитирует выполнение функций модуля E.После завершения модульного тестирования всех шести модулей их объединяют в единую программу. Альтернативный подход предполагает инкрементное тестирование. При таком подходе модули не тестируются изолированно друг от друга, а поочередно подключаются к постепенно наращиваемому набору уже проверенных модулей и лишь после этого подвергаются тестированию. Ввиду того, что число возможных реализаций инкрементного подхода слишком велико, пока что преждевременно рассматривать применение какой-либо конкретной методики к программе. Здесь ключевым является вопрос о том, с какого программного уровня должно начинаться тестирование: верхнего или нижнего. Но поскольку этот вопрос будет обсуждаться в следующем разделе, мы сейчас просто примем, что тестирование начинается с нижнего уровня. Первый шаг заключается в тестировании модулей E, C и F, что можно делать либо параллельно (силами трех человек), либо последовательно. Приэтом для каждого модуля придется создать драйвер; заглушки в данном случае не нужны. Следующий шаг — тестирование модулей B и D, но не изолированных, а объединенных соответственно с модулями E и F. Иными словами,чтобы протестировать модуль B, следует написать драйвер, объединяющий тесты, и протестировать пару B-E. Инкрементный процесс добавления очередного модуля к множеству или подмножеству ранее протестированных модулей продолжается до тех пор, пока не будет протестирован последний модуль (в данном случае A). Заметим, что с тем же успехом данную процедуру можно было бы выполнить и в нисходящем порядке. |
Дата добавления: 2015-02-16; просмотров: 157 | Поможем написать вашу работу | Нарушение авторских прав |