
- •Розділ 1. Загальний розділ
- •Розробка технічного завдання на створення програмного забезпечення (пз)
- •1.2 Аналіз інформаційної моделі створюваного пз
- •1.3 Обґрунтування вибору засобів проектування та розробки пз
- •Розділ 2. Проектний розділ
- •2.1 Проектування загальної алгоритмічної моделі пз
- •2.2 Проектування інтерфейсу користувача пз
- •2.2.1 Опис моделі взаємодії обраних компонентів
- •2.2.2 Проектування методів та функцій пз
- •2.2.3 Реалізація технології взаємодії з базами даних
- •2.3 Проектування алгоритму тестування пз
- •Розділ 3. Технологічний розділ
- •Розробка програмного продукту
- •Відлагодження і тестування програмного продукту
- •Розробка дистрибутивного диску
- •3.4 Розробка презентаційного матеріалу
- •Список використаної літератури
2.3 Проектування алгоритму тестування пз
Затребуване тестування програм включає три стадії:
проектування;
виконання;
аналіз.
Кваліфікована команда розробників на стадії проектування намагається вирішити проблему пошуку і підбору як можна більшого числа тестів, які зможуть виявити максимально можливу кількість помилок в роботі програми. На стадії виконання тестів виявляються помилки в даному протестованому ПЗ. Аналіз дозволяє зробити висновки і отримати рекомендації.
Прийнято дві методології, які забезпечують тестування програмного забезпечення, названі «чорним» і «білим» скриньками:
Метод «чорної» скриньки, або функціональне тестування, припускає проведення тестів без врахування тексту програми. У цьому випадку перевіряється відповідність роботи програми щодо її зовнішньої специфіки. Для отримання повної картини тесту намагаються перебрати всі допустимі значення стартових даних, щоб збільшити ймовірність виявлення якомога більшої кількості помилок.
Метод «білої» скриньки, або структурне тестування, перевіряє роботу програмного продукту на предмет коректного та логічного функціонування у відповідності з тим алгоритмічним мовою, на якому він був написаний. Фахівці з тестування намагаються не обмежуватися перевіркою тільки лінійних шляхів роботи ПО, так як в дійсності можуть бути пропущені необхідні розгалуження або робота програми може відрізнятися при коректно / некоректно введених даних.
Застосовують автоматизовані засоби перевірки для етапів тестування:
Функціональних вимог;
Окремих модулів;
Користувальницького інтерфейсу;
Швидкості завантаження самої системи;
Витоку пам'яті;
Граничних умов та ін
Тестування будь-якого ПЗ проходить за трьома напрямками:
Візуальна перевірка коду на наявність помилок, реакція і поведінка програми в різних ситуаціях;
Перевірка високого рівня, яка передбачає спостереження за функціонуванням системи, включаючи діалог з користувачем, реакцію на події з видачею повідомлень, збереження інформації;
Перевірка низького рівня, при якій тестер перевіряє логічну повноту вихідного коду програмного продукту для всіх можливих варіантів роботи системи.
При розробці програм найбільш трудомістким є етап налагодження і тестування програм. Мета тестування, тобто випробування програми, полягає у виявленні наявних в програмі помилок. Мета налагодження полягає у виявленні та усуненні причин помилок.
Налагодження програми починають з складання плану тестування. Такий план повинен уявляти собі будь-який програміст.
Складання плану спирається на поняття про джерела і характер помилок. Основними джерелами помилок є недостатньо глибоке опрацювання математичної моделі або алгоритму розв'язання задачі; порушення відповідності між схемою алгоритму або записом його на алгоритмічній мові і програмою, записаною на мові програмування; невірне уявлення вихідних даних на програмному бланку; неуважність при наборі програми і вихідних даних на клавіатурі пристрої введення.
Порушення відповідності між детально розробленої записом алгоритму в процесі кодування програми відноситься до помилок, які проходять унаслідок неуважності програміста. Відключення уваги призводить і до всіх інших помилок, що виникають в процесі підготовки вихідних даних і введення програми в ЕОМ. Помилки, що виникають внаслідок неуважності, можуть мати непередбачувані наслідки, так як поряд з втратою міток і описів масивів, дублюванням міток, порушенням балансу дужок можливі і такі помилки, як втрата операторів, заміна букв у позначеннях змінних, відсутність визначень початкових значень змінних, порушення адресації в масивах, зсув вихідних даних відносно полів значень, визначених специфікаціями формату.
Враховуючи різноманітність джерел помилок, при складанні плану тестування класифікують помилки на два типи:
синтаксичні;
семантичні (смислові).
Синтаксичні помилки - це помилки в записі конструкцій мови програмування (чисел, змінних, функцій, виразів, операторів, міток, підпрограм). Виявлення більшості синтаксичних помилок автоматизовано в основних системах програмування
Семантичні помилки - це помилки, пов'язані з неправильним змістом дій і використанням неприпустимих значень величин. Пошук же семантичних помилок набагато менш формалізований; частина їх проявляється при виконанні програми в порушеннях процесу автоматичних обчислень та індикується або видачею діагностичних повідомлень робочої програми, або відсутністю друку результатів через нескінченного повторення однієї і тієї ж частини програми (зациклення), або появою непередбачуваної форми або змісту друку результатів.
У план тестування зазвичай входять наступні етапи:
Порівняння програми зі схемою алгоритму.
Візуальний контроль програми на екрані дисплея або візуальне вивчення роздруківки програми і порівняння її з оригіналом на програмному бланку. Перші два етапи тестування здатні усунути більше кількість помилок, як синтаксичних (що не так важливо), так і семантичних (що дуже важливо, тому що дозволяє виключити їх трудомісткий пошук в процесі подальшого налагодження).
Трансляція програми на машинних мову. На цьому етапі виявляються синтаксичні помилки. Компілятори з мов Сі, Паскаль видають діагностичне повідомлення про синтаксичні помилки в лістингу програми (лістингом називається вихідний документ транслятора, супроводжуючий від транслювати програму на машинній мові - об'єктний модуль).
Редагування зовнішніх зв'язків і компоновка програми. На етапі редагування зовнішніх зв'язків програмних модулі програма-редактор зовнішніх зв'язків, або компонувальних завдань, виявляє такі синтаксичні помилки, як невідповідність числа параметрів в описі підпрограми і зверненні до неї, виклик неіснуючої стандартної програми. наприклад, 51 H замість 51 N, різні довжини спільного блоку пам'яті в зухвалій і викликається модулі і ряд інших помилок.
Виконання програми. Після усунення виявлених транслятором і редактором зовнішніх зв'язків (компонувальником завдань) синтаксичних помилок переходять до наступного етапу - виконанню програми на ЕОМ на машинній мові: програма завантажується в оперативну пам'ять, у відповідність з програмою вводяться вихідні дані і починається рахунок. Прояв помилки в процесі вода вихідних даних або в процесі рахунку призводить до переривання рахунки і видачі діагностичного повідомлення робочої програми. Прояв помилки дає привід для виконання налагоджувальних дій; відсутність же повідомлень про помилки не означає їх відсутності в програмі. План тестування включає при цьому перевірку правильності отриманих результатів для будь-яких допустимих значень вихідних даних.
Тестування програми. Якщо програма виконується успішно, бажано завершити її випробування тестуванням при завданні вихідних даних, що приймають граничні для програми значення. а також виходять за допустимі межі значення на вході.