ення> = замість>. При проектуванні тестів по методу еквівалентного роздроблення будуть побудовані тести для випадків можливості побудови трикутника (наприклад, 3, 4, 5) і неможливості його побудови (наприклад, 1, 2, 4), тобто помилка в програмі не буде виявлена ​​(на вхідні дані 1, 2, 3 буде виведене повідомлення "Різносторонній трикутник"). Але подібний тест буде отриманий при використанні методу аналізу граничних умов. p> Аналіз граничних умов - один з найбільш корисних методів проектування тестів. Але він часто виявляється неефективним через те, що граничні умови іноді ледь вловимі, вЂ‹вЂ‹а їх виявлення вельми важко.
Загальним недоліком двох розглянутих вище методів функціонального тестування є те, що при їх застосування досліджуються досліджуються можливі комбінації вхідних умов. Слід, правда, помітити, що через вельми велике число таких комбінацій, їх аналіз викликає істотні ускладнення. Але існує метод (метод функціональних діаграм), що дозволяє в цьому випадку систематичним чином вибрати високо ефективні тести. Корисним побічним ефектом цього методу є виявлення неповноти і суперечності у зовнішніх специфікаціях.
Функціональна діаграма - це текст на деякій формальній мові, на який транслюється специфікація, складена на природному або напівформальному мовами. Далі буде називатися причиною окрема вхідна умова і слідством - Вихідна умова або перетворення системи (тобто залишкова дія програми, викликана певною вхідною умовою або їх комбінацією). Наприклад, для програми оновлення файла зміна в ньому є перетворенням системи, а підтверджуюча ця зміна повідомлення - вихідною умовою.
Метод функціональних діаграм складається з шести основних етапів. На першому з них (необов'язковому) зовнішня специфікація великого розміру розбивається на окремі ділянки (наприклад, специфікація компілятора мови програмування розбивається на дільниці, що визначають синтаксичний контроль окремих операторів мови).
На другому етапі в специфікації виділяються причини і слідства, а на третьому - аналізується семантичний зміст специфікації і вона перетворюється в булевський граф, зв'язуючий причини і слідства і що називається функціональною діаграмою. На рис.3 наведено базові символи для запису функціональних діаграм (кожний вузол функціональної діаграми може знаходитися в стані 1 - "існує" - або 0 - "не існує").
а) Тотожність: (а = 1 => b = 1) & (а = 0 => b = 0)
а b
б) Заперечення: (а = 1 => b = 0) & (a = 0 => b = 1)
~
a b
в) Диз'юнкція: (a = 1ГЇb = 1 => c = 1) & (a = 0 & b => 0> c = 0)
a
ГЇ c
b
г) Кон'юнкція: (a = 1 & b = 1 => c = 1) & (a = 0ГЇb = 0 => c = 0)
a
& c
b
рис.3
На четвертому етапі функціональна діаграма забезпечується коментарями, які задають обмеження на комбінац...