ЗМІСТ:
Тестування – це процес багаторазового виконання програми з метою виявлення в ній помилок. Будь-який тест повинен бути спрямований не на підтвердження працездатності програми, а на виявлення в ній найбільшої кількості помилок. Під тестом для програми розуміють набір спеціально підібраних вихідних даних і відповідних їм еталонних результатів, які використовуються для контролю правильності роботи програми. Еталонні результати отримують або за допомогою ручного рахунку, або, виходячи з знань і розуміння специфіки предметної області, в якій вирішується завдання. У всіх випадках еталонні результати обчислюють з високою точністю до початку тестування.
Існує два основні методи проектування тестів.
1. Метод «чорного ящика». Програма розглядається як «чорний ящик». Важливою є тільки відповідність вхідної та вихідної інформації. У цьому випадку намагаються, по можливості, перебрати всі варіанти вихідних даних.
2. Метод «білого ящика». Тести, розроблені за цим методом, враховують структуру алгоритму програми. Тобто тестується не тільки відповідність результатів вихідними даними, але і процес обробки вхідної інформації.
На практиці найчастіше використовується комбінований підхід, який рекомендує спочатку розглядати програму як «чорний ящик», а потім підготувати додаткові тести, що враховують внутрішню структуру програми.
При підготовці тестів слід користуватися наступними рекомендаціями:
слід готувати не тільки вихідні дані для тестів, але і заздалегідь обчислювати еталонні результати. Так як в іншому випадку можна прийняти невірні відповіді за правильні;
важливо, щоб програма давала правильні результати не тільки для коректних вихідних даних, але і осмислено реагувала на некоректні значення параметрів;
складання тестів слід починати до складання програми. У цьому випадку легко виявляються ситуації, що підлягають обов'язковій перевірці.
складання тестів повинно тривати паралельно з розробкою програми.
Відповідно до області вхідних даних тести поділяються на чотири класи.
1. Головні або основні тести – перевіряють основні функції програми для найбільш типових даних. Наприклад, для програми вирішення квадратного рівняння основним тестом буде рівняння, що має два різних кореня.
2. Вироджені тести – перевіряють роботу програми в мінімальному режимі. Наприклад, для програми вирішення квадратного рівняння виродженим тестом буде рівняння, у якого всі коефіцієнти дорівнюють нулю.
3. Тести граничних значень або гранично допустимі тести. Ці тести перевіряють роботу програми для граничних значень параметрів. Наприклад, для програми вирішення квадратного рівняння це буде рівняння, що має два співпадаючих кореня.
4. Аварійні тести перевіряють реакцію програми на виникнення різного роду аварійних ситуацій, таких як спроба ділення на нуль або розв’язання квадратного кореня з від’ємного числа. Наприклад, для програми вирішення квадратного рівняння аварійними тестами будуть рівняння з від’ємним дискримінантом і рівняння, у яких перший коефіцієнт дорівнює нулю.
Налагодження програми – це процес виявлення помилок у коді програми, встановлення їх причин і подальшого виправлення.
Помилки, що містяться в програмі, можна розділити на дві основні групи: синтаксичні та семантичні.
Синтаксичні помилки полягають в неправильному використанні операторів і конструкцій мови програмування. Як правило, такі помилки виявляються першими. У середовищі Visual Basic автоматично виділяються в програмі місця, що містять синтаксичні помилки.
Семантичні помилки – це помилки змістовної частини обробки даних, часто їх називають логічними помилками. Семантичні помилки не можна виявити в автоматизованому режимі. Для їх виявлення застосовують спеціальні методи і інструменти, що входять до складу середовища VB. До семантичним помилок відносяться: звернення до неіснуючого елементу масиву, виконання неприпустимих математичних операцій, вихід за межі допустимих значень для змінних (наприклад, спроба записати в змінну типу Byte числа 1000) і багато інших. Семантичні помилки призводять до того, що синтаксично правильна програма дає неправильні результати або відбувається аварійне завершення програми.
Для виявлення суті помилки текст програми може і не знадобитися, але необхідні добре знання алгоритму, наявність тестових даних і результатів виконання програми на цих тестових даних. Якщо встановити сутність помилки не вдалося, то процес її локалізації зводиться до необхідності виявлення фрагмента програми, що містить помилку. Потім знайдений фрагмент виконується в покроковому режимі до виявлення точного місця розташування семантичної помилки.
Середовище Visual Basic має ряд інструментів, що істотно спрощують процес пошуку семантичних помилок:
точки зупину;
два способи покрокового виконання програми;
вікна спостереження за значеннями змінних.
Точки зупинки (Breakpoints) слід розташовувати в тих місцях програми, де необхідно тимчасово призупинити виконання програми та проаналізувати значення змінних з метою виявлення помилки. За замовчуванням VB виконує програму безперервно. Дійшовши до точки зупинки, виконання зупиняється, і на екран виводиться вікно редактора коду. У цей момент для того щоб дізнатися значення будь-якої змінної, досить навести на неї курсор миші, тоді у спливаючому вікні з'явиться її значення.
Щоб встановити або прибрати точку зупину, треба клацнути лівою кнопкою миші по сірому полю поруч з потрібною рядком програми, або, встановивши курсор в потрібний рядок, натиснути клавішу F9. Обрана рядок стане червоною, а в лівій колонці з'явиться червона точка – знак точки зупину. Точки зупинки можна розміщувати тільки в тих рядках, де є оператори.
Після зупинки можна продовжити виконання програми. Якщо вибрати з пункту меню Run команду Continue або натиснути клавішу F5, то виконання програми буде продовжено до наступної точки зупину або до кінця програми, якщо точки зупину більше не зустрічаються.
Для покрокового виконання програми (трасування) треба з пункту меню Debug вибрати команду Step Into або натиснути клавішу F8. Visual Basic виконає поточний рядок і зупиниться. Активна рядок виділяється жовтим кольором. Поруч з нею знаходиться жовта стрілка. У цьому режимі трасуються всі підпрограми.
Значення будь-якої змінної можна дізнатися, навівши на неї курсор миші. У тих випадках, коли одночасно треба контролювати значення декількох змінних використовуються вікна спостереження Watch. Середовищt Visual Basic дозволяє одночасно використовувати чотири різних вікна спостереження для стеження за різними групами змінних. Для того щоб викликати ці вікно треба з пункту меню Debug вибрати підменю Windows, а в ньому - підменю Watch (зверніть увагу, що цей пункт меню доступний тільки в процесі виконання програми). У нижній частини головного вікна з'явиться вікно спостереження (рис.), яке складається з чотирьох колонок. У першій (Name) відображаються імена змінних, у другій (Value) – їх значення, а в третій (Type) – тип даних, до якого належить ця змінна. Для того щоб додати змінну, досить просто набрати її ім'я і натиснути клавішу Enter.
Якщо в процесі виконання програми деяка змінна зі списку змінює своє значення, то вона виводиться червоним кольором. На наступному кроці вона знову відновлює звичайний чорний колір. Таким чином можна легко стежити за зміною значень змінних, що дозволяє істотно підвищити ефективність налагодження програми.
Вікно спостереження за значеннями змінних
Войтюшенко Н. М., Інформатика і комп’ютерна техніка: навч. пос. [для сутд. вищ. навч. закл.]/ Н.М. Войтюшенко, А.І.Остапець. – К.: Центр учбової літератури, 2009. – 564 с.
Трофименко О.Г. Програмування в Visual Basic. [Методичний посібник для лабораторних занять]. – Одеса, 2004. – 38 с.
Рогоза М.Є. Основи інформатики та технологій програмування: навчальний посібник / Рогоза М.Є., Рамазанов С.К., Велігура А.В., Танченко С. М. - Луганськ: Вид-во СНУ ім. В.Даля, 2012. - 568 с.