- •Міністерство освіти і науки, молоді та спорту України
- •“Затверджую”
- •Методичні вказівки для виконання практичних робіт з курсу „Тестування програмних систем і комплексів”
- •Пояснювальна записка
- •Тематика практичних занять
- •Критерії оцінювання виконання практичних робіт
- •Практична робота №1
- •1. Організаційна частина
- •2. Актуалізація опорних знань студентів:
- •3. Закріплення вмінь та навичок студентів
- •4. Основна частина заняття:
- •Приклад виконання роботи.
- •Практична робота № 2
- •Практична робота № 3
- •4. Основна частина заняття:
- •Практична робота №4
- •4. Основна частина заняття:
- •Практична робота № 5
- •4. Основна частина заняття:
- •Практична робота № 6
- •4. Основна частина заняття:
- •Приклад виконання роботи
- •Практична робота № 7
- •Приклад виконання роботи
- •5. Контрольні запитання:
- •6. Узагальнення та систематизація вмінь і навичок.
- •7. Підведення підсумків заняття.
- •Правила оформлення звітів з практичних робіт
- •Список використаних джерел
Практична робота №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 – файлу.
Підсумок: таким чином, для тестування класу необхідно виконати наступне для кожного його методу:
визначити, яка частин методу тестується, тобто при яких умовах він викликається;
створити тестове оточення забезпечення умови (тестовий драйвер);
запустити тестове оточення на виконання;
забезпечити збереження результатів в Log – файлі;
порівняти очікувані результати з результатами, представленими в Log – файлі.
5. Контрольні запитання:
1. Поясніть поняття примітивних та не примітивних класів
2. Дайте визначення тестового драйвера.
6. Узагальнення та систематизація вмінь і навичок.
7. Підведення підсумків заняття.
8. Самостійна робота: за розглянутим прикладом самостійно виконати завдання та відповісти на контрольні запитання.