Метод структурного тестирования, при котором проверяются все независимо выполняемые ветви программы. В о-о программировании тестируются методы. Метод основывается на графе потоков управления программы. Узлы графа – ветвления решений, дуги – потоки управления.
Количество независимых ветвей в программе можно определить, вычислив цикломатическое число графа потоков управления: C(G) = количество дуг – количество узлов +2
Минимальное число тестов для программы равно цикломатическому числу.
Для сложных программ используется динамический анализатор для построения профиля.
49. Тестирование объектно-ориентированного ПО. Методы, применимые к тестированию.
Тестирование представляет собой процесс поиска ошибок путем серии контрольных запусков программы с заранее подготовленным набором входных данных и сравнения результатов выполнения со спецификациями на программу. Тестирование не гарантирует правильность программы, но позволяет получить хотя бы какую-то оценку этой правильности.
О-о подход отличается тем, что с переходом на более высокий уровень иерархии классов, объемы работ по созданию класса и возможности тестирования уменьшаются.
Методы тестирования, применимые к о-о системам:
· Тестирование отдельных методов. Можно использовать методы чёрного и белого ящиков.
· Тестирование отдельных классов объектов. Методы тестирования методом чёрного и белого ящика, но с расширенными классами эквивалентности.
· Тестирование кластеров объектов. Методы, основанные на сценариях (прецедентах).
· Тестирование системы. Аттестация и верификация системы выполняется теме же методами, как у других систем.
50. Тестирование объектно-ориентированного ПО. Влияние выбранного языка программирования на тестирование ПО.
Тестирование представляет собой процесс поиска ошибок путем серии контрольных запусков программы с заранее подготовленным набором входных данных и сравнения результатов выполнения со спецификациями на программу. Тестирование не гарантирует правильность программы, но позволяет получить хотя бы какую-то оценку этой правильности.
О-о подход отличается тем, что с переходом на более высокий уровень иерархии классов, объемы работ по созданию класса и возможности тестирования уменьшаются.
Методы тестирования о-о систем:
- Тестирование с учетом внутренней структуры ("white-box testing" - метод "белого ящика")
- Тестирование без учета внутренней структуры ("black-box testing" метод "черного ящика")
- Тестирование, основанное на состояниях объекта (При тестировании на основе состояний, набор тестов определяется на основе моделирования класса как конечного автомата.)
Кроме тестирования всех классов, следует выполнять проверки операций, реализуемых в системе, так как их выполнение может быть связанно с многократным вызовом методов самых разных классов.