Розділ 3. Тестування об'єктно-орієнтованих систем
Тестування кластерів об'єктів. Низхідна і висхідна зборки виявляються не придатними для створення груп пов’язаних об'єктів. Тому тут слід застосовувати інші методи тестування, наприклад засновані на сценаріях. Тестування окремих методів (операцій), асоційованих з об'єктами. Зазвичай методи являють собою функції або процедури. Тому тут можна використовувати тестування методами чорного і білого… Читати ще >
Розділ 3. Тестування об'єктно-орієнтованих систем (реферат, курсова, диплом, контрольна)
Особливості тестування
Тестування це процес пошуку помилок шляхом серії контрольних запусків програми із заздалегідь підготовленим набором вхідних даних і порівняння результатів виконання зі специфікаціями на програму. Тестування як відомо не гарантує правильність програми, але дозволяє отримати хоча б якусь оцінку цій правильності. Розроблено різні методи тестування, і деякі з них, наприклад, метод тестування всіх гілок, забезпечують високу надійність при виявленні помилок.
Об'єктно-орієнтований підхід не гарантує створення правильних програм. Отже тестування так само необхідно для об'єктно-орієнтованих програм як і для структурних. Переваги цього підходу, що виражаються в можливості повторного використання, призводять до необхідності більш ретельного тестування. Класи зазвичай створюються заздалегідь з можливістю використання в різних завданнях, а отже одна задача не може повністю забезпечити тестування взаємодії методів поведінки класів.
Основні властивості об'єктів (інкапсуляція, успадкування, поліморфізм) додають нові аспекти тестування. Інкапсуляція створює проблему видимості даних, так як вони доступні тільки через операції. В процесі тестування це може створити певні проблеми з виведенням значень. Спадкування ставить питання про повторення тестування успадкованих операцій. Припустимо операція, А належить базовому класу, і вона протестована. Операція В належить похідному класу і викликає операцію А. Чи повинна операція, А тестуватися повторно? Поліморфізм призводить до неоднозначності з викликом операцій, яка може бути дозволена тільки на етапі виконання. Отже заздалегідь побудувати і спланувати набір тестів стає просто неможливим.
Об'єктно-орієнтована технологія привносить свої особливості в процес тестування систем.
Формулюється кілька питань, які необхідно вирішити для успішного проведення тестування:
- · яка частина успадкованих властивостей повинна заново тестуватися;
- · коли і як можна перевіряти інформацію про стан класу;
- · як можна перевірити поведінку системи, залежно від стану, коли відсутній єдиний механізм управління станами в програмі;
- · як варто тестувати інтеграцію класів і які стратегії тестування застосовувати.
Рішення про таке виконується шляхом розробки нових підходів і модернізації старих, спеціально для тестування об'єктно-орієнтованих систем.
Стосовно до об'єктно-орієнтованих систем можна визначити чотири рівні тестування:
- 1. Тестування окремих методів (операцій), асоційованих з об'єктами. Зазвичай методи являють собою функції або процедури. Тому тут можна використовувати тестування методами чорного і білого ящиків.
- 2. Тестування окремих класів об'єктів. Принцип тестування методом чорного ящика залишається без змін, однак, поняття «Класу еквівалентності» необхідно розширити.
- 3. Тестування кластерів об'єктів. Низхідна і висхідна зборки виявляються не придатними для створення груп пов’язаних об'єктів. Тому тут слід застосовувати інші методи тестування, наприклад засновані на сценаріях.
- 4. Тестування системи. Верифікація і атестація об'єктно-орієнтованої системи виконується точно так само, як і для будь-яких інших типів систем.