Метод функциональных диаграмм

Метод функциональных диаграмм или диаграмм причинно-следственных связей помогаетсистематически выбирать высокорезультативные тесты. Кроме этого, метод функциональных диаграмм дает полезный побочный эффект, так как позволяет обнаруживать неполноту и неоднозначность исходных спецификаций.

Функциональная диаграмма – это формальный язык, на который транслируется спецификация, написанная на естественном языке.

Методика использования функциональных жиаграмм:

1. Спецификация разбивается на “рабочие” участки, так как для больших спецификаций функциональные диаграммы становятся слишком громоздкими. Например, при тестировании компилятора в качестве рабочего участка можно рассматривать каждый отдельный оператор языка программирования.

2. В спецификации определяются причины и следствия. Причина – это отдельное входное условие или класс эквивалентных входных условий. Следствие – это выходное условие (результат выполнения программы). Например, если при выполнении программы обновляется содержимое некоторого файла, то изменение в нем является результатом выполнения программы, а подтверждающее сообщение – выходным условием.

Причины и следствия определяютсяпутем последовательного чтения спецификации. Каждым причине и следствию приписывается уникальный номер.

3. Анализируется семантическое содержание спецификации, которая преобразуется в булевский граф (функциональную диаграмму), связывающий причины и следствия.

4. Диаграмма дополняетсяпримечаниями, задающими ограничения и описывающими комбинации причин и (или) следствий, которые являются невозможными из-за синтаксических или внешних ограничений.

5. Путем методического прослеживания состояний условий диаграммы она преобразуется в таблицу решений с ограниченными входами. Каждый столбец таблицы решений соответствует тесту.

6. Столбцы таблицы решений преобразуются в тесты.

Процедура генерации таблицы решений заключается в следующем:

a) Выбрать некоторое следствие, которое должно быть в состоянии 1.

b) Найти все комбинации причин (с учетом ограничени), которые установят это следствие в 1, прокладывая из этого следствия обратную трассу через диаграмму.

c) Построить столбец в таблице решений для каждой комбинации причин.

d) Для каждой комбинации причин определить состояния всех других следствий и поместить их в соответствующий столбец таблицы решений.

При выполнении этого шага необходимо руководствоваться следующими положениями:

· Если обратная трасса прокладывается через узел ИЛИ, выход которого должен принимать значение 1, то одновременно не следует устанавливать в 1 более одного входа в этот узел. Цель данного правила – избежать пропуска определенных ошибок из-за того, что одна причина маскируется другой.

· Если обратная трасса прокладывается через узел ИЛИ, выход которого должен принимать значение 0, то все комбинации входов, приводящие выход в 0, должны быть в конечном счете перечислены. Однако, когда исследуется ситуация, где один вход есть 0, а один или более других входов есть 1, не обязательно перечислять все условия, при которых остальные входы могут быть 1.

· Если обратная трасса прокладывается через узел И, выход которого должен принимать значение 0, то необходимо указать лишь одно условие, согласно которому все входы являются нулями.

Каждый узел диаграммы может находиться в двух состояниях – 0 или 1; 0обозначает состояние “отсутствует”, а 1“присутствует”.

Для представления функциональных диаграмм используются следующие базовые символы:

Метод функциональных диаграмм - №1 - открытая онлайн библиотека Если значение aесть 1, то и значение bесть 1; в противном случае значениеbесть0.

Метод функциональных диаграмм - №2 - открытая онлайн библиотека

Метод функциональных диаграмм - №3 - открытая онлайн библиотека Если значение aесть 0, то значение bесть 1; в противном случае значениеbесть0.

Метод функциональных диаграмм - №4 - открытая онлайн библиотека Метод функциональных диаграмм - №5 - открытая онлайн библиотека ФункцияИЛИустанавливает, что если a, или b,

или сесть 1, тоdесть 1; в противном случае dесть 0.

Метод функциональных диаграмм - №6 - открытая онлайн библиотека Функция И устанавливает, что если и a, и b есть 1, то и с есть 1; в противном случае сесть 0.

Пример

Метод функциональных диаграмм - №7 - открытая онлайн библиотека Рассмотрим диаграмму, отображающую спецификацию: Файл обновляется, если символ в колонке 1 является буквой A” или “B”, а символ в колонке 2 – цифра. Если первый символ ошибочный, то выдается сообщение X1, а если второй символ не является цифрой – сообщение X2.

Причины:

1 – символ “A” в колонке 1

2 – символ “B” в колонке 1

3 – цифра в колонке 2

Следствия:

7 – файл обновляется

6 – выдается сообщение X1

8 – выдается сообщение X2

Приведенная функциональная диаграмма содержит невозможную комбинацию причин: причины 1 и 2 не могут быть установлены в 1 одновременно.

Для изображения невозможных комбинаций причин используются следующие логические ограничения:

Метод функциональных диаграмм - №8 - открытая онлайн библиотека

Ограничение Е устанавливает, что Е должно быть истинным, если хотя бы одна из причин – а или b – принимает значение 1 (a и b не могут принимать значение 1 одновременно).

Метод функциональных диаграмм - №9 - открытая онлайн библиотека Ограничение I устанавливает, что по крайней мере одна из величин a, b или c всегда должна быть равной 1 (a,b и с не могут принимать значение 0 одновременно).

Метод функциональных диаграмм - №10 - открытая онлайн библиотека Ограничение О устанавливает, что одна и только одна из величин а или bдолжна быть равна 1.

Метод функциональных диаграмм - №11 - открытая онлайн библиотека

Ограничение R устанавливает, что если a принимает значение 1, то и b должна принимать значение 1, т.е. невозможно, чтобы a было равно 1, а b – 0.

Ограничение М устанавливает, что если следствие aимеет значение 1, то следствие b должно принять значение 0.

 
  Метод функциональных диаграмм - №12 - открытая онлайн библиотека

Для рассмотренного выше примера физически невозможно, чтобы причины 1 и 2 присутствовали одновременно, но возможно, чтобы присутствовала одна из них. Следовательно, они связаны ограничением Е.

Преобразуем полученную функциональную диаграмму в таблицу решений.

Выберем следствие 7 (файл обновляется). Следствие 7имеет место, еслиузлы3 и 11есть1. В свою очередь узел 11 есть 1, если одна из причин 1 или 2 имеет значений 1. Таким образом, возможны следующие состояния узлов 1 – 3:

1 0 1 и 0 1 0.

Следствие 6 имеет место, если значение узла 11 есть 0 (узлы1 и 2оба равны 0).

Следствие 8 имеет место, если значение узла 3 есть 0.

Метод функциональных диаграмм - №13 - открытая онлайн библиотека Таблица решений будет иметь следующий вид:

Столбец 1 представляет условие, где следствие 6 есть 1, столбцы 2,3следствие 7 есть 1, а столбец 4 соответствует условию, для которого следствие 8 есть 1.

Пробелы в таблице решений представляют “безразличные” ситуации (состояние причины несущественно).

Преобразуем таблицу решений в набор тестов:

Кол.1 Кол.2

1. 1 1

2. A 2

3. B 2

4. A A