Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метода по практическим(на печать).doc
Скачиваний:
4
Добавлен:
26.11.2019
Размер:
333.31 Кб
Скачать

Практична робота №4

Тема: Тестування об’єктно-орієнтованих програмних систем.

Мета: вивчити застосування методів тестування до тестування класів.

Хід роботи

1. Організаційна частина

а) готовність групи до заняття;

б) психоемоційний настрій;

в) перевірка присутніх;

2. Актуалізація опорних знань студентів:

а) повідомлення теми та мети;

б) повідомлення основних тем, по яким відбувається практична робота.

3. Закріплення вмінь та навичок студентів

Теоретичні відомості. Тестування класів аналогічне тестуванню модулів. Основним елементом ООП є клас, повне тестування ООПС – тестування кожного класу та їх взаємодії. Тестування охоплює види діяльності, що асоційовані з перевіркою реалізації класу на точну відповідність специфікації. Якщо реалізація коректна, то кожен екземпляр класу веде себе потрібним чином.

Ефективність тестування досягається з допомогою ревью та тестових прогонів. Ревью – перегляд початкового коду ПЗ з метою знаходження помилок та дефектів. Тестовий прогон – виконується в процесі роботи системи: визначаються набори вхідних та еталонних даних, реалізується тестовий драйвер.

Виділяють два типи класів з точки зору взаємодії з іншими класами – примітивні (клас може породжувати екземпляри) та не примітивні (класи – предки, які служать для організації логічної структури програми).

4. Основна частина заняття:

Завдання. Дана модель реальної системи керування автоматизованим комплексом зберігання підшипників. Вона забезпечує прийом підшипників на склад, збереження характеристик виробів в БД, а при надходженні заявки на підшипники разом з параметрами осі – підбір підходящих виробів та їх видачу.

Комплекс розділено на 3 елементи: склад, термінал підшипників, термінал осі. Для кожного з них реалізована низькорівнева програмна реалізація в вигляді динамічно підключених бібліотек. Описати тестовий випадок для функції GetAxleParam (), яка повертає параметри осі, код якої введений. За специфікацією: код визначається двозначним десятковим числом; база даних зберігає параметри 50 осей у вигляді: сторона осі (права, ліва), посадковий діаметри передній, посадковий діаметр задній. Після розробки тестового випадку необхідно зробити висновок.

Класи, що існують в системі:

Назва класу

Тип класу

Описання

TBearingParam

Примітивний

Задає параметри підшипників

TAxleParam

Примітивний

Задає параметри осей

TCommand

Примітивний

Визначає імена команд

TLog

Примітивний

Відповідає за журнал

TCommandQueue

Не примітивний

Командні запити

TStore

Не примітивний

Склад

TTerminalBearing

Не примітивний

Термінал підшипників

TTerminalAxle

Не примітивний

Термінал осей

TModel

Не примітивний

Відповідає за моделі

MainForm

Не примітивний

Головна форма

Приклад виконання роботи

Розглянемо тестування класу TCommand. В ньому реалізована єдина операція - GetFullName(), яка повертає повну назву команди у вигляді рядка. Розробимо специфікацію тестового випадку для даної операції. На вхід функції подається команда у вигляді десяткового числа, на виході отримуємо повну назву команди, що відповідає введеному кодові або відповідне повідомлення, якщо команду не знайдено.

В тесті подаються наступні коди: -1, 1, 2, 4, 6, 20.

- (- 1) – відповідає текст повідомлення „ПОМИЛКА: невірний код команди”.

- 1 – „Отримати з вхідної комірки”

- 2 – „Відправити з комірки в вихідну комірку”

- 4 – „Покласти в резерв”

- 6 – „Виконати обнуління”

- 20 – „Завершення команд видачі”.

На основі специфікації створюється тестовий драйвер, в якому перебираються всі вхідні значення та відстежується реакції на них. Відповідні пари зносяться до Log – файлу.

Підсумок: таким чином, для тестування класу необхідно виконати наступне для кожного його методу:

    1. визначити, яка частин методу тестується, тобто при яких умовах він викликається;

    2. створити тестове оточення забезпечення умови (тестовий драйвер);

    3. запустити тестове оточення на виконання;

    4. забезпечити збереження результатів в Log – файлі;

    5. порівняти очікувані результати з результатами, представленими в Log – файлі.

5. Контрольні запитання:

1. Поясніть поняття примітивних та не примітивних класів

2. Дайте визначення тестового драйвера.

6. Узагальнення та систематизація вмінь і навичок.

7. Підведення підсумків заняття.

8. Самостійна робота: за розглянутим прикладом самостійно виконати завдання та відповісти на контрольні запитання.