Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тестирование классов объектов




 

Подход к тестовому покрытию систем, описанный в разделе 20.1.3, требует, чтобы все операторы в программе выполнялись хотя бы один раз, а также чтобы выполнялись все ветви программы. При тестировании объектов полное тестовое покрытие включает:

 

• раздельное тестирование всех методов, ассоциированных с объектом;

• проверку всех атрибутов, ассоциированных с объектом;

• проверку всех возможных состояний объекта (для этого необходимо моделирование событий, приводящих к изменению состояния объекта).

 

В качестве примера возьмем метеорологическую станцию, которая рассматривалась в главе 12. Интерфейс объекта, соответствующего метеостанции, показан на рис. 20.12. У этого объекта только один атрибут, который является его идентификатором. Это константа, значение которой необходимо задать после инсталляции объекта. Таким образом, нужен тест, который проверял бы задание идентификатора. Необходимо также определить контрольные тесты для методов отчет, калибровать, тестировать, запуск и завершение. В идеале следует протестировать все эти методы независимо, но в некоторых случаях нужна последовательность тестов. Например, чтобы протестировать метод завершение, необходимо сначала выполнить метод запуск.

При тестировании состояний объекта Метеостанция используется модель состояний, показанная на рис. 12.12. С помощью этой модели можно определить последовательность состояний, которые нужно протестировать. В принципе следует проверить каждый возможный переход из одного состояния в другое, хотя на практике такой подход оказывается слишком дорогостоящим. В нашем примере необходимо протестировать такие последовательности состояний:

 

Останов → Ожидание → Останов

Ожидание → Калибровка →Тестирование → Передача → Ожидание

Ожидание → Калибровка → Ожидание → Обобщение → Передача → Ожидание

 

Использование наследования усложняет разработку тестов для классов объектов. Если класс предоставляет методы, унаследованные от подклассов, то необходимо протестировать все подклассы со всеми унаследованными методами. Понятие классов эквивалентности можно применить также и к классам объектов. Здесь тестовые данные из одного класса эквивалентности тестируют одни и те же свойства объектов.

 

Рис. 20.12. Интерфейс объекта метеорологической станции

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...