- •Лабораторна робота № 1. Попередня оцінка програмного проекту.
- •2. Обчислення функціонально-орієнтованих метрик
- •3. Попередня оцінка програмного проекту.
- •Лабораторна робота № 2. Аналіз чуттєвості програмного проекту.
- •Сценарий понижения зарплаты
- •Сценарий наращивания памяти
- •Сценарий использования нового микропроцессора
- •Сценарий уменьшения средств на завершение проекта
- •Лабораторна робота № 3 Методика Джексона аналізу та проектування пс.
- •Крок 1. Об’єкт – дія.
- •Крок 2. Об’єкт – структура.
- •Крок 3. Початкове моделювання.
- •Крок 4. Довизначення функцій
- •Крок 5. Урахування системного часу
- •Лабораторна робота № 4. Тестування програм методами «білого ящика»
- •Лабораторна робота №5 Тестування програм методами «чорного ящика»
- •Тестування за принципом «чорного ящика»
- •1.1. Еквівалентне розбиття Основу методу складають два положення:
- •Виділення класів еквівалентності
- •Побудова тестів
- •Аналіз граничних значень.
- •Аналіз причинно-наслідкових зв'язків.
- •Припущення про помилку.
- •Приклад застосування методів тестування «чорним ящиком»
- •Загальна стратегія тестування.
Побудова тестів
Цей крок полягає у використанні класів еквівалентності для побудови тестів. Цей процес включає в себе:
Призначення кожному класу еквівалентності унікального номера.
Проектування нових тестів, кожен з яких покриває як можна більше число непокритих класів еквівалентності, до тих пір, поки всі правильні класи не будуть покриті (тільки не загальними) тестами.
Запис тестів, кожен з яких покриває один і тільки один з непокритих неправильних класів еквівалентності, до тих пір, поки всі неправильні класи не будуть покриті тестами.
Розробка індивідуальних тестів для неправильних класів еквівалентності обумовлена тим, що певні перевірки з помилковими входами приховують або замінюють інші перевірки з помилковими входами.
Недолік методу еквівалентного розбиття в тому, що він не досліджує комбінації вхідних умов.
Аналіз граничних значень.
Граничні умови - це ситуації, що виникають на, вище або нижче меж вхідних класів еквівалентності. Аналіз граничних значень відрізняється від еквівалентного роздроблення наступним:
Вибір будь-якого елементу в класі еквівалентності в якості представного при аналізі граничних умов здійснюється таким чином, щоб перевірити тестом кожний кордон цього класу.
При розробці тестів розглядаються не тільки вхідні умови (простір входів), але і простір результатів.
Застосування методу аналізу граничних умов вимагає певного ступеня творчості і спеціалізації в розглянутій проблемі. Тим не менш, існує кілька загальних правил цього методу:
Побудувати тести для кордонів області та тести з неправильними вхідними даними для ситуацій незначного виходу за межі області, якщо вхідна умова описує область значень (наприклад, для області вхідних значень від -1.0 до +1.0 необхідно написати тести для ситуацій -1.0, +1.0, -1.001 и +1.001).
Побудувати тести для мінімального і максимального значень умов і тести, більші і менші цих двох значень, якщо вхідна умова задовольняє дискретному ряду значень. Наприклад, якщо вхідний файл може містити від 1 до 255 записів, то перевірити 0, 1, 255 і 256 записів.
Використати правило 1 для кожної вихідної умови. Причому, важливо перевірити межі простору результатів, оскільки не завжди кордону вхідних областей представляють такий же набір умов, як і кордони вихідних областей. Не завжди також можна отримати результат поза вихідної області, але, тим не менш, варто розглянути цю можливість.
Використати правило 2 для кожної вихідної умови.
Якщо вхід або вихід програми є впорядкована множина (наприклад, послідовний файл, лінійний список, таблиця), то зосередити увагу на першому і останньому елементах цієї множини.
Спробувати свої сили в пошуку інших граничних умов.
Аналіз граничних умов, якщо він застосований правильно, є одним з найбільш корисних методів проектування тестів. Однак слід пам'ятати, що граничні умови можуть бути ледь вловимі і визначення їх пов'язане з великими труднощами, що є недоліком цього методу. Другий недолік пов'язаний з тим, що метод аналізу граничних умов не дозволяє перевіряти різні поєднання вихідних даних.
