модуля H замінюється його реальним текстом. Тоді
1) може виявитися важким або навіть неможливим побудувати такий тест на вході модуля J, який соотвеьствовал б будь-якої заданої наперед послідовності значень даних на вході модуля Н ; p> 2) не завжди виявиться можливим легко оцінити відповідність значень даних на вході модуля J необхідним тестам для перевірки модуля Н;
3) т. к. результати виконання прграмми на побудованому для перевірки модуля Н тесті виводяться не їм, а модулем I, може виявитися важким відновлення дейсвітельно результатів роботи модуля Н.
Інші проблеми, які можуть виникати при низхідному тестуванні:
з'являється спокуса суміщення низхідного проектування з тестуванням, що, як правило, нерозумно, тому що проектування - процес ітеративний і в ньому неминучий повернення на верхні рівні і виправлення прийнятих раніше рішень, що знецінює результати вже проведеного тестування;
може виникнути бажання перейти до тестування модуля наступного рівня до завершення тестування попереднього з об'єктивних причин (необхідності створення декількох версій заглушок, використання модулями верхнього рівня ресурсів модулів нижніх рівнів). p> При висхідному тестуванні Прверка програми начмнается з термінальних модулів (тобто тих, які не викликають не яких інших модулів програми). Ця стратегія багато в чому протилежна низхідному тестуванню (у Зокрема, переваги стають недоліками і навпаки).
Немає проблеми вибору наступного модуля, що підключається - враховується лише те, щоб він викликав тільки вже протестовані модулі. У відміну від заглушок драйвери не повинні мати декілька версій, тому їх розробка в більшості випадків простіше (крім того, використання коштів автоматизації і відладки полегшує створення якраз драйверів, а не заглушок).
Інші достоїнства висхідного тестування:
оскільки немає проміжних модулів (модуль, що тестується є для робочого варіанту програми модулем самого верхнього рівня), немає проблем, пов'язаних з можливістю або тружністю завдання тестів;
немає можливості суміщення проектування з тестуванням;
немає труднощів, що викликають бажання перейти до тестування наступного модуля, не завершивши перевірки попереднього.
Основними недоліком висхідного тестування є те, що перевірка всієї структури програмного комплексу можлива тільки на завершальній стадії тестування.
Хоч однозначного висновку про переваги тієї чи іншої стратегії пошагового тестування зробити не можна (потрібно враховувати конкретні характеристики тестується), в більшості випадків більш переважним є висхідне тестування. p> На третьому етапі тестування програмних комплексів (Тестуванні функцій) використовуються передусім методи функціонального тестування.
Функціональне тестування.
Огляд методів проектування тестів при функціоналному тестуванні почнемо з методу зквівалентного розбиття.
Т....