едоліки. Основний з них - пропуск певних типів високоефективних тестів (тобто тестів, що характеризуються великою імовірністю виявлення помилок). Від цього недоліку багато в чому вільний метод аналізу граничних умов.
Під граничними умовами розуміють ситуації, виникаючі безпосередньо на кордоні певної в специфікації вхідної або вихідної умови, вище або нижче її. Метод аналізу граничних умов відрізняється від методу еквівалентного роздроблення наступним:
вибір будь-якого представника класу еквівалентності здійснюється таким чином, щоб перевірити тестом кожний кордон цього класу;
при побудові тестів розглядаються не тільки вхідні умови, але і вихідні (Тобто певні у зовнішній специфікації обмеження на значення вхідних даних).
Загальні правила методу аналізу граничних умов:
1) побудувати тести для кордонів області допустимих значень вхідних даних і тести з недопустимими значеннями, відповідними незначному виходу за межі цієї області (наприклад, для області [-1.0; 1.0] будуємо тести -1.0; 1.0; -1.001; 1.001);
2) побудувати тести для мінімального і максимального значень вхідних умов, визначають дискретну безліч допустимих значень вхідних даних, і тести для значень, більших або менших цих величин (наприклад, якщо вхідний файл може містити від 1 до 225 записів, то вибираються тести для порожнього файла, містить 1, 255 і 256 записів);
3) використовувати правило 1 для кожної вихідної умови (наприклад, програма обчислює щомісячну витрату приватної особи або невеликого підприємства, мінімум якого 0.00 $, а максимум 1165.50 $; тоді необхідне построїти тести, викликають негативну витрату, витрати, рівну 0.00 $ і 1165.50 $, і витрату, більший 1165.50 $);
4) використати правило 2 для кожної вихідної умови (наприклад, програма шукає і відображає на екрані дисплея найбільш відповідні, в залежності від вхідного умови, реферати статей, але не більше чотирьох; тоді необхідно побудувати тести, що приводять до відображення 0, 1, 4 рефератів і спроб помилкового відображення 5 рефератів);
5) якщо вхідні та вихідні дані програмиявляють собою упорядкований безліч (Послідовний файл, лінійний список, таблицю), то при тестуванні зосередити увагу на першому і останньому елементі безлічі;
6) спробувати знайти і перевірити тестами інші граничні умови. p> Важливість перевірки кордонів вихідних умов пояснюється тим, що не завжди граничним значенням вхідних даних відповідають граничні значення результатів роботи програм.
Для ілюстрації необхідності аналізу граничних умов приведемо тривіальний приклад. Нехай є програма, здійснює введення трьох чисел що інтерпретує їх як довжину сторін трикутника і що виводить повідомлення про тип трикутника ("різносторонній", "рівнобедрений" або "рівносторонній"). Припустимо також, що в програмі міститься помилка: при перевірці умови побудови трикутника (сума довжин будь-яких двох сторін повинна бути більше третьою) використовується операція віднош...