Метрика 7: Высота дерева наследования DIT

Метрика заимствована из набора Чидамбера-Кемерера. Методы суперкласса должны повторно тестироваться для каждого подкласса.

В дополнение к перечисленным метрикам Р. Байндер выделил метрики сложности класса (это метрики Чидамбера-Кемерера — WMC, CBO, RFC и метрики для подсчета количества методов), а также метрики полиморфизма.

Метрики полиморфизма

Рассмотрим следующие метрики полиморфизма: «Процентное количество не переопределенных запросов OVR», «Процентное количество динамических запросов DYN», «Скачок класса Bounce-С» и «Скачок системы Bounce-S».

Метрика 8: Процентное количество не переопределенных запросов OVR

Процентное количество от всех запросов в тестируемой системе, которые не приводили к перекрытию модулей. Перекрытие может приводить к непредусмотренному связыванию. Высокое значение OVR увеличивает возможности возникновения ошибок.

Метрика 9: Процентное количество динамических запросов DYN

Процентное количество от всех сообщений в тестируемой системе, чьи приемники определяются в период выполнения. Динамическое связывание может приводить к непредусмотренному связыванию. Высокое значение DYN означает, что для проверки всех вариантов связывания метода потребуется много тестов.

Метрика 10: Скачок класса Bounce-C

Количество скачущих маршрутов, видимых тестируемому классу. Скачущий маршрут — это маршрут, который в ходе динамического связывания пересекает несколько иерархий классов-поставщиков. Скачок может приводить к непредусмотренному связыванию. Высокое значение Bounce-C увеличивает возможности возникновения ошибок.

Метрика 11: Скачок системы Bounce-S

Количество скачущих маршрутов в тестируемой системе. В этой метрике суммируется количество скачущих маршрутов по каждому классу системы. Высокое значение Bounce-S увеличивает возможности возникновения ошибок.

Контрольные вопросы

1. Какие факторы объектно-ориентированных систем влияют на метрики для их оценки и как проявляется это влияние?

2. Какое влияние оказывает наследование на связность классов?

3. Охарактеризуйте метрики связности классов по данным.

4. Охарактеризуйте метрики связности классов по методам.

5. Какие характеристики объектно-ориентированных систем ухудшают сцепление классов?

6. Объясните, как определить сцепление классов с помощью метрики «зависимость изменения между классами».

7. Поясните смысл метрики локальности данных.

8. Какие метрики входят в набор Чидамбера и Кемерера? Какие задачи они решают?

9. Как можно подсчитывать количество методов в классе?

10. Какие метрики Чидамбера и Кемерера оценивают сцепление классов? Поясните их смысл.

11. Какая метрика Чидамбера и Кемерера оценивает связность класса? Поясните ее смысл.

12. Как добиться независимости метрики WMC от реализации?

13. Как можно оценить информационную закрытость класса?

14. Сравните наборы Чидамбера-Кемерера и Лоренца-Кидда. Чем они похожи? В чем различие?

15. На какие цели ориентирован набор метрик Фернандо Абреу?

16. Охарактеризуйте состав набора метрик Фернандо Абреу.

17. Сравните наборы Чидамбера-Кемерера и Фернандо Абреу. Чем они похожи? В чем различие?

18. Сравните наборы Лоренца-Кидда и Фернандо Абреу. Чем они похожи? В чем различие?

19. Дайте характеристику метрик для объектно-ориентированного тестирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: