Отладка и тестирование приложений в среде Visual Studio 2005. Евсеева О.Н - 73 стр.

UptoLike

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

73
объекту, когда сообщение обработано. Поэтому каждый метод (функциячлен
класса) должен пройти традиционное модульное тестирование по выбранному
критерию C (как правило, С1). В соответствии с введенными выше обозначе-
ниями, назовем метод Mod
i
, а сложность тестирования – V(Mod
i
,C). Все резуль-
таты, полученные в пункте 4.2.1 для тестирования модулей, безусловно, подхо-
дят для тестирования методов классов. Каждый класс должен быть рассмотрен
и как субъект интеграционного тестирования. Интеграция для всех методов
класса проводится с использованием инкрементальной стратегии снизу вверх.
При этом мы можем использовать повторно тесты для классов-родителей тес-
тируемого класса, что следует из принципа наследованияот базовых классов,
не имеющих родителей (корней), к самым верхним уровням классов (листьям).
Графовая модель класса, как и объектно-ориентированной программы, на
интеграционном уровне в качестве узлов использует методы. Дуги данной ГМП
(вызовы методов) могут быть образованы двумя способами:
Прямым вызовом одного метода из кода другого, в случае, если вызываемый
метод виден (не закрыт для доступа средствами языка программирования) из
класса, содержащего вызывающий метод, присвоим такой конструкции назва-
ние Р-путь (P-path, Procedure path, процедурный путь(Р-путь)).
Обработкой сообщения, когда явного вызова метода нет, но в результате рабо-
ты «вызывающего» метода порождается сообщение, которое должно быть об-
работано «вызываемым» методом.
Для второго случая «вызываемый» метод может породить другое сооб-
щение, что приводит к возникновению цепочки исполнения последовательно-
сти методов, связанных сообщениями. Подобная цепочка носит название ММ-
путь (MM-path, Method/Message path, путь метод/сообщение). ММ-путь закан-
чивается, когда достигается метод, который при отработке не вырабатывает но-
вых сообщений (т. е. вырабатывает «сообщение покоя»).
Пример ММ-путей приведен на рисунке (
Рис. 17
). Данная конструкция от-
ражает событийно управляемую природу объектно-ориентированного про-
граммирования и может быть взята в качестве основы для построения графовой
модели класса или объектно-ориентированной программы в целом.
На
Рис. 17
можно выделить четыре ММ-пути (1-4) и один P-путь (5):
1. msg a метод 3 msg 3 метод 4 msg d
2. msg b метод 1 msg 1 метод 4 msg d
3. msg b метод 1 msg 2 метод 5
4. msg c метод 2
5. call метод 5
Здесь класс изображен как объединенное множество методов.
Введем следующие обозначения:
Kmsg – число методов класса, обрабатывающих различные сообщения;