Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
30.05.2020
Размер:
150.02 Кб
Скачать

Тема: Особливості інтеграційного тестування для об’єктно-орієнтованого програмування

Мета: розглянути особливості тестування обєктно-орієнтованих додатків з точки зору інтеграційного, східного та висхідного методів тестування.

ПЛАН

1 Особливості побудови ооп-програм.

2 Графічні методи тестування

3 Приклад інтеграційного тестування

Програмний проект, написаний відповідно до об'єктно-орієнтованого підходу, буде мати ГМП (граф моделі програми), що істотно відрізняється від ГМП традиційної "процедурної" програми. Сама розробка проекту будується по іншому принципу - від визначення класів, використовуваних у програмі, побудови дерева класів до реалізації коду проекту. При правильному використанні класів, що точно відбивають прикладну область додатка, цей метод дає більше короткі, зрозумілі й легко контрольовані програми.

Об’єктно-орієнтоване програмне забезпечення є керованим подіями в системі. Передача керування усередині програми здійснюється не тільки шляхом явної вказівки послідовності звертання одних функцій програми до інших, але й шляхом генерації повідомлень різним об'єктам, розбору повідомлень відповідним оброблювачем і передача їх об'єктам, для яких дані повідомлення призначені. Розглянута ГМП у цьому випадку стає непридатною. Ця модель, як мінімум, вимагає адаптації до вимог, що вводиться об’єктно-орієнтованим підходом до написання програмного забезпечення. При цьому відбувається перехід від моделі, що описує структуру програми, до моделі, що описує поведінку програми, що для тестування можна класифікувати як позитивну властивість даного переходу. Негативним аспектом чиненого переходу для застосування розглянутих раніше моделей є втрата заданих у явному виді зв'язків між модулями програми.

Перед тим як приступити до опису графової моделі об’єктно-орієнтованої програми, зупинимося окремо на одному істотному аспекті розробки програмного забезпечення мовою об’єктно-орієнтованого програмування (ООП), наприклад, C++ або С#. Розробка програмного забезпечення високої якості для MS Windows або будь-якої іншої операційної системи, що використовує стандарт "look and feel", із застосуванням лише знову створених класів практично неможлива. Програміст повинен буде затратити масу часу на рішення стандартних завдань по створенню користувацького інтерфейсу. Щоб уникнути роботи над давно вирішеними питаннями, у всіх сучасних компіляторах передбачені спеціальні бібліотеки класів. Такі бібліотеки містять у собі практично весь програмний інтерфейс операційної системи й дозволяють задіяти при програмуванні засобу більше високого рівня, чим просто виклики функцій. Базові конструкції й класи можуть бути перевикористані при розробці нового програмного проекту. За рахунок цього значно скорочується час розробки додатків. Як приклад подібної системи можна привести бібліотеку Microsoft Foundation Class для компілятора MS Visual C++.

Робота з тестування додатка не повинна містити в собі перевірку працездатності елементів бібліотек, що стали фактично промисловим стандартом для розробки програмного забезпечення, а тільки перевірку коду, написаного безпосередньо розробником програмного проекту. Тестування об’єктно-орієнтованої програми повинне включати ті ж рівні, що й тестування процедурної програми - модульне, інтеграційне й системне. Усередині класу окремо взяті методи мають імперативний характер виконання.

Всі мови ООП повертають контроль об'єкту, що здійснює виклик, коли повідомлення оброблене. Тому кожен метод (функція - член класу) повинен пройти традиційне модульне тестування за обраним критерієм C (як правило, С1 ). Відповідно до уведеного вище позначеннями, назвемо метод Modi, а складність тестування - V(Modi, C). Всі результати, отримані в лекції 5 для тестування модулів, безумовно, підходять для тестування методів класів.

Кожен клас повинен бути розглянутий й як суб'єкт інтеграційного тестування. Інтеграція для всіх методів класу проводиться з використанням інкрементальної стратегії знизу нагору. При цьому ми можемо перевикористати тести для класів-батьків тестованого класу, що треба із принципу спадкування - від базових класів, що не мають батьків, до самих верхніх рівнів класів.

Соседние файлы в папке Тестування