![](/user_photo/_userpic.png)
- •Лекція 6
- •ПЛАН
- •Об'єктно-орієнтований підхід
- •Тестування ООП-програм
- •Утворення дуг ГМП
- •Приклад MM-шляхів й P-шляхів у графової моделі класу
- •чотири Мм-шляхи (1-4)
- •Приклад включення об'єкта в модель програмного проекту, побудованого з використанням MM-шляхів й P-шляхів
- •Дерево класів проекту
- •Модель класу, що входить у програмний проект
- •Методика тестування класової моделі програмного проекту
- •Рівні тестування класової моделі програмного проекту
- •Специфікація тестового випадку для інтеграційного тестування
- •Клас Tester містить
- •Об'єкт типу TcommandQueue та Тест
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg1x1.jpg)
Лекція 6
Особливості інтеграційного тестування для об’єктно- орієнтованого програмування
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg2x1.jpg)
ПЛАН
1 Особливості побудови ООП-програм.
2 Графічні методи тестування
3 Приклад інтеграційного тестування
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg3x1.jpg)
Об'єктно-орієнтований підхід
•має інший ГМП (граф моделі програми);
•по іншому принципу:
–визначення класів, використовуваних у програмі,
–побудова дерева класів до реалізації коду проекту.
•дає більше короткі, зрозумілі й легко контрольовані програми.
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg4x1.jpg)
Тестування ООП-програм
•не повинне містити в собі перевірку працездатності елементів бібліотек, а зводиться до перевірку коду, написаного безпосередньо розробником програмного проекту.
•повинне включати ті ж рівні, що й тестування процедурної програми - модульне, інтеграційне й системне.
•кожен метод (функція - член класу) повинен пройти традиційне модульне тестування за обраним критерієм C (як правило, С1 ).
•кожен клас повинен бути розглянутий і як суб'єкт інтеграційного тестування. Інтеграція для всіх методів класу проводиться з використанням інкрементальної стратегії знизу нагору.
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg5x1.jpg)
Утворення дуг ГМП
•Прямим викликом одного методу з коду іншого, у випадку, якщо викликуваний метод видний із класу, що містить викликаючий метод (Р-шлях, path, Procedure path, процедурний шлях) .
•Обробкою повідомлення, коли явного виклику методу нема, але в результаті роботи "викликаючого" методу породжується повідомлення, що повинне бути оброблене "викликуваним" методом (Мм-шлях, MM-path, Metod/Message path, шлях метод/повідомлення) .
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg6x1.jpg)
Приклад MM-шляхів й P-шляхів у графової моделі класу
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg7x1.jpg)
чотири Мм-шляхи (1-4)
• |
msg a метод 3 |
msg 3 |
метод 4 |
msg d |
• |
msg b метод 1 |
msg 1 |
метод 4 |
msg d |
• |
msg b метод 1 |
msg 2 |
метод 5 |
|
• |
msg c метод 2 |
|
|
|
один P-шлях (5):
• call метод 5
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg8x1.jpg)
Приклад включення об'єкта в модель програмного проекту, побудованого з використанням MM-шляхів й P-шляхів
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg9x1.jpg)
Дерево класів проекту
![](/html/54888/317/html_rLOsAu85KB.wq4V/htmlconvd-9JDIxg10x1.jpg)