Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра автоматизованих систем управління
Звіт
до лабораторних робіт № 5
з курсу «Технологія програмування та створення програмних продуктів»
на тему «Розробка програмного продукту. Етап тестування»
Львів – 2010
Мета: Ознайомлення з основними задачами, які необхідно розв’язати під час виконання етапу тестування
Завдання: Навчитись реалізовувати етап тестування програмного продукту комп’ютерних систем
Теоретична частина
Мета тестування полягає в тому, щоб виявити і виправити помилки. Цей процес допомагає розпізнавати алгоритмічні помилки і помилкове виконання системою своїх функцій. Під алгоритмічною помилкою ми розуміємо конструкцію, яка розроблена неправильно. Одна помилка може викликати безліч неправильних виконань програми. Також помилки можуть бути наслідком інших помилок, це потрібно враховувати при їх аналізі.
Тестування це:
Сертифікація - наприклад, перевірка відповідності системи вимогам клієнта;
Перевірка - наприклад, перевірка відповідності системи вимогам з етапу формування вимог.
Тести призначені для виявлення, і подальшого усунення, максимальної кількості помилок, розрахунку статистики помилок, а також - оцінки надійності всієї системи.
Тести поділяються на:
Динамічні - які порівнюють результати роботи програми з правильними результатами.
Статичні - засновані на аналізі коду.
Існують наступні фази тестування:
Тестування модулів виконується після їх реалізації і об’єднання.
Тестування системи виконується після її інтеграції. Воно охоплює тестування системи і всіх її модулів.
Приймальне випробування. Системи, які розроблені для клієнта, доставляються йому для перевірки. Такі тести називають альфа-тестами. Системи, які розроблені для ринку, доставляються деяким представницьким користувачам (бета-тестувальникам) і перевіряються ними. Такі тести називають бета-тестами.
Основні чинники успіху етапу тестування: визначення спеціальних вимог надійності частин системи і мотивація відповідальних за тестування людей. Оскільки тестуючий персонал найчастіше представляє нижчий рівень в ієрархії службовців, рекомендується призначити для тестування людей, які займаються програмуванням і проектуванням даної системи.
Основні результати етапу тестування:
Покращені код, проект, модель і, можливо, специфікація вимог.
Звіт про тести.
Оцінка надійності системи.
Практична частина.
Проведемо тестування проекту SysBakery. Розглянемо основні види тестування і виберемо найоптимальніші в нашому випадку.
Статистичне тестування – відкинемо цей вид, оскільки:
проект не передбачає серйозних обробок даних, в яких можна допустити помилку;
тестування не можливо провести без участі людини.
Метод прозорої скриньки – оберемо цей вид, оскільки
вхідні дані для таких тестів визначаються свідомо, так, щоб привести програму в найбільш складний стан
дозволяє визначити джерело помилки;
дозволяє знайти помилки в логіці програми.
Автоматизоване тестування – цей вид тестування відкинемо оскільки:
затрати часу на створення юніт-тестів не окупляться при тестуванні.
Метод чорної скриньки – оберемо цей вид оскільки можна:
продемонструвати його відмінності від методу прозорої скриньки.
перевага такого тестування в тому, що людина, яка тестує програму, не мислить стереотипами логіки, що склалась у людей, які цю програму розробили
Статичні тести – відкинемо цей вид, оскільки перегляд коду присутній в методі білої скриньки.
Метод сіяння помилок – не підходить для тестування даного проекту через обмеженість вхідних даних.
Використаємо два типи тестування: тестування методом чорної скриньки, методом білої скриньки. Були обрані тільки ці методи, оскільки інші є менш ефективні у нашому випадку.
Метод чорної скриньки
1. UserUnit
MainProgramUser;
запустили головну сторінку пекарні.
запустилось основне вікно, яке міститиме сторінку авторизації (функція StartProgClient).
(функція CreateConnect)
- після цього програма повідомила, що стан з’єднання з системою успішний
- при відключеному доступі до мережі, програма попросила перевірити з’єднання з мережею.
WndDirectory;
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «direct» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно директора(функція StartWndDirectory).
натиснули на кнопку «БД клієнтів» в таблиці відобразилась інформація з БД клієнтів(функція OpenDBClient).
натиснули на кнопку «БД продукції» в таблиці відобразилась інформація з БД продукції(функція OpenDBProduct).
змінили деякі дані в таблицях і натиснули на кнопку «Зберегти дані» (функція DataSave), натиснули на кнопку «БД клієнтів» потім на кнопку «БД продукції», дані не збереглись. Виявлена помилка
WndAdmin;
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «admin» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно адміністратора (функція StartWndAdmin).
в провіднику файлів не відображаються всі системні файли, що повинні бути доступні адміністратору (функція FilePreviev). Помилка виявлена.
натиснули на кнопку «дозвіл» (функція RegistrOk) і відкривши БД клієнтів можна побачити що появився користувач, який реєструвався
натиснули на кнопку «відмова» (функція RegistrNo) і відкривши БД клієнтів можна побачити що появи нового користувача не відбулось.
клікнувши по імені клієнта, що потребує реєстрації змогли переглянути введену ним інформацію (функція PrevievClientForRegistr)
WndClient;
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «client» та пароль «test» » і натиснули кнопку логування.
після чого запустилося діалогове вікно клієнта (функція StartWndClient).
натиснули на кнопку «Інформація про продукцію» (функція GetInfoProd) відкрилось вікно з детальним описом даної продукції.
натиснули на кнопку «добавити товар» до списку замовлення (функція AddProd), товар успішно добалений до списку замовлення
натиснули на кнопку «видалити» (функція DelPred), товар успішно видалений зі списку замовлення
змінили кількість одного з товарів і натиснули на кнопку «відредагувати» (функція EditProd), кількість змінилась в БД.
SystemUnit
MainProgramSys;
запустили програму на сервері.
після цього програма повідомили про доступність файлів системи і їх коректність (функція StartProgSys).
-після цього програма повідомила, що стан з’єднання системи успішний
- при відключеному доступі до мережі, програма також повідомила, що стан з’єднання системи успішний (функція CreateServ). Виявлена помилка.
Protection;
виконали несанкційний доступ з допомогою спеціально написаного коду до БД під час роботи системи, система сповістили адміністратора про це і заблокували БД (функція ProtectDB).
послали з мережі системі дані які є незрозумілі системі (функція ProtectData).
3. ObjectLib
Client;
в функції GetInfo в параметрах вказал ID клієнта і вона повернула інформацію про клієнта з тим самим ID в змінні об’єкту цього класу з БД.
у функції SetInfo в параметрах вказали ID клієнта і вона зберегли всю відповідну інформацію з змінних об’єкту цього класу в БД в полях клієнта тід вказаним ID.
Receipt.
у функції CreateRec в параметрах вказали ID клієнта і вона створила на сервері pdf-файл з зформованою квитанцією для клієнта з цим ID в БД.
у функції SentReceint в параметрах вказали ID клієнта і вона відправила клієнту що знаходиться під цим ID в БД квитанцію.
Метод білої скриньки
WndDirectory;
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «direct» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно директора(функція StartWndDirectory).
натиснули на кнопку «БД клієнтів» в таблиці відобразилась інформація з БД клієнтів(функція OpenDBClient).
натиснули на кнопку «БД продукції» в таблиці відобразилась інформація з БД продукції(функція OpenDBProduct).
змінили деякі дані в таблицях і натиснули на кнопку «Зберегти дані» (функція DataSave), натиснули на кнопку «БД клієнтів» потім на кнопку «БД клієнтів», дані не збереглись. Виявлена помилка
джерелом помилки є відсутність використання функції збереження даних в БД клієнтів.
WndAdmin;
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «admin» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно адміністратора (функція StartWndAdmin).
в провіднику файлів не відображаються всі системні файли, що повинні бути доступні адміністратору (функція FilePreviev). Помилка виявлена.
джерелом помилки є неправильне звернення до індексів об’єкта ListViev.
MainProgramSys;
запустили програму на сервері.
після цього програма повідомили про доступність файлів системи і їх коректність (функція StartProgSys).
-після цього програма повідомила, що стан з’єднання системи успішний
- при відключеному доступі до мережі, програма також повідомила, що стан з’єднання системи успішний (функція CreateServ). Виявлена помилка.
джерелом помилки є неправильна умова при перевірці чи присутнє зєднання системи до мережі
Звіт про проведене тестування
Опис помилки повинен складатись з наступних пунктів
Ім’я того, хто виявив помилку.
Номер помилки.
Тип помилки (косметична помилка, критична помилка, помилка з втратою даних, помилка без втрати даних, критична).
Пріоритет помилки (високий, середній, низький. Помилки з більш високим пріоритетом виправляються першими).
Короткий опис помилки.
Шлях відтворення. (Покрокова інструкція користування програмою, виконання якої призводить до невдачі)
Звіт, складений на основі результатів тестування методом чорної скриньки.
Іван Присяжник.
110.
З втратою даних.
Середній.
Не зберігаються дані в БД клієнтів при натисненні на кнопку «Зберегти».
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «direct» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно директора(функція StartWndDirectory).
натиснули на кнопку «БД клієнтів» в таблиці відобразилась інформація з БД клієнтів(функція OpenDBClient).
натиснули на кнопку «БД продукції» в таблиці відобразилась інформація з БД продукції(функція OpenDBProduct).
змінили деякі дані в таблицях і натиснули на кнопку «Зберегти дані» (функція DataSave), натиснули на кнопку «БД клієнтів» потім на кнопку «БД клієнтів», дані не збереглись. Виявлена помилка
Іван Присяжник.
112.
Без втрати даних.
Середній.
в провіднику файлів не відображаються всі системні файли, що повинні бути доступні адміністратору.
зайшли на сторінку авторизації в системі пекарні.
в цьому вікні ввели логін «admin» та пароль «test» і натиснули кнопку логування.
після чого запустилося діалогове вікно адміністратора (функція StartWndAdmin).
в провіднику файлів не відображаються всі системні файли, що повинні бути доступні адміністратору (функція FilePreviev). Помилка виявлена.
Іван Присяжник.
113.
Без втрати даних.
Низький.
при відключеному доступі до мережі, програма також повідомила, що стан з’єднання системи успішний.
запустили програму на сервері.
після цього програма повідомили про доступність файлів системи і їх коректність (функція StartProgSys).
-після цього програма повідомила, що стан з’єднання системи успішний
-при відключеному доступі до мережі, програма також повідомила, що стан з’єднання системи успішний (функція CreateServ). Виявлена помилка.
Висновок: Під час виконання даної лабораторної роботи я ознайомлення з основними задачами, які необхідно розв’язати під час виконання етапу тестування. Для тестування використав два методи прозорої і чорної скриньки. Описав яким чином тестувались основні модулі, класи і їхні методи під час обох методів, де саме і як виявились помилки під час тестування. В кінці написав звіт про проведене тестування.