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

Тема 2.2 Тестування елементів

Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.

Об'єктом тестування елементів є найменша одиниця проектування ПС - модуль. Для виявлення помилок у рамках модуля тестуються його найважливіші керуючі шляхи. Відносна складність тестів і помилок визначається як результат обмежень області тестування елементів. Принцип тестування - «білий ящик», крок може виконуватися для набору модулів паралельно.

Тестуванню піддаються:

- інтерфейс модуля;

- внутрішні структури даних;

- незалежні шляхи;

- шляхи обробки помилок;

- граничні умови.

Інтерфейс модуля тестується для перевірки правильності вводу-виводу тестової інформації. Якщо немає впевненості в правильному вводі-виводі даних, нема рації проводити інші тести.

Дослідження внутрішніх структур даних гарантує цілісність даних, що зберігаються.

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

Найбільш загальними помилками обчислень є:

1) неправильний або незрозумілий пріоритет арифметичних операцій;

2) змішана форма операцій;

3) некоректна ініціалізація;

4) непогодженість у поданні точності;

5) некоректне символічне подання виражень.

Джерелами помилок порівняння й неправильних потоків керування є:

1) порівняння різних типів даних;

2) некоректні логічні операції й пріоритетність;

3)очікування еквівалентності в умовах, коли помилки точності роблять еквівалентність неможливої;

4) некоректне порівняння змінних;

5) неправильне припинення циклу;

6) відмова у виході при відхиленні ітерації;

7) неправильна зміна змінних циклу.

Звичайно при проектуванні модуля передбачають деякі помилкові умови. Для захисту від помилкових умов у модуль уводять шляхи обробки помилок. Такі шляхи теж повинні тестуватися. Тестування шляхів обробки помилок можна орієнтувати на наступні ситуації:

1) повідомлення про помилку незрозуміло;

2) текст повідомлення не відповідає, виявленій помилці;

3) втручання системних засобів реєстрації аварії відбулося до обробки помилки в модулі;

4) обробка виняткової умови некоректна;

5) опис помилки не дозволяє визначити її причину.

І, нарешті, перейдемо до граничного тестування. Модулі часто відмовляють на «границях». Це означає, що помилки часто відбуваються:

1) при обробці n-го елемента n-елементного масиву;

2) при виконанні m-ї ітерації циклу з m проходами;

3) з появою мінімального (максимального) значення.

Тестові варіанти, орієнтовані на дані ситуації, мають високу ймовірність виявлення помилок. Тестування елементів звичайно розглядається як доповнення до етапу кодування. Воно починається після розробки тексту модуля. Тому що модуль не є автономною системою, то для реалізації тестування потрібні додаткові засоби, представлені на мал. 2.10

Мал. 2.10 Програмне середовище для тестування модуля

Додатковими засобами є драйвер тестування й заглушки. Драйвер - керуюча програма, що приймає вихідні дані (InData) і очікувані результати (ExpRes) тестових варіантів, запускає в роботу модуль, що тестується, одержує з модуля реальні результати (OutData) і формує повідомлення про тестування. Алгоритм роботи тестового драйвера наведений на мал. 2.11.

Мал.2.11 Алгоритм роботи драйвера тестування

Заглушки заміщають модулі, які викликаються модулем, що тестується. Заглушка, або «фіктивна підпрограма», реалізує інтерфейс підлеглого модуля, може виконувати мінімальну обробку даних, імітує прийом і повернення даних.

Створення драйвера й заглушок має на увазі додаткові витрати, тому що вони не поставляються з кінцевим програмним продуктом.

Якщо ці засоби прості, то додаткові витрати невеликі. На жаль, багато модулів не можуть бути адекватно протестовані за допомогою простих додаткових засобів. У цих випадках повне тестування може бути відкладене до кроку тестування інтеграції (де драйвери або заглушки також використаються).

Тестування елемента просто здійснити, якщо модуль має високу зв'язність . При реалізації модулем тільки однієї функції кількість тестових варіантів зменшується, а помилки легко передвіщаються й виявляються.

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

  1. Що є предметом тестування елементів?

  2. Який принцип використовується при тестуванні елементів?

  3. Які елементи тестуються?

  4. Дайте поняття програмного середовища для тестування.

  5. Наведіть алгоритм роботи тестового драйвера.

  6. Що розуміють під заглушками та драйверами?