В рассматриваемом модуле есть три условных оператора, условия для которых записаны операторами 1, 3, 6. Метод ветвей и операторов отношений будем выполнять только в последнем случае, так как первый реализован средствами .NET Framework, а второй задает условие цикла и будет протестирован позднее:
if (openBracket == -1) throw new DictionaryException(_dictionaryType, DictionaryExceptionReason.НевозможноПроанализироватьВариантыФорм);
В этом случае, очевидно, достаточно рассмотреть два случая:
1) Переменная openBracket имеет значение -1, то есть строка в файле имеет неверный формат (отсутствует символ ‘(‘ как разделитель начальной формы слова и используемых форм). Тогда будет сгенерировано исключение DictionaryException, которое затем будет обработано в главном цикле программы.
2) Переменная openBracket имеет значение, отличное от -1. Тогда программа будет успешно продолжена.
Тестирование потоков данных
Определим DU-цепочки и представим их в виде информационного графа программы, наложенного на управляющий граф (см. Рисунок 5).
Рисунок 5. Наложение ИГ на УГ для модуля DictionaryParser.Parse
Получены следующие цепочки:
1) [line, 4, 8]
2) [line, 4, 10]
3) [openBracket, 5, 6]
4) [openBracket, 5, 10]
5) [initialForm, 8, 10]
Исходя из полученного списка цепочек, необходимо проанализировать поведение трех переменных (локальных переменных метод). Так как значения переменной openBracket зависит от line, а значения initialForm – от line и openBracket, то достаточно рассмотреть все требуемые варианты переменной line:
1) null
2) “”
3) Студент (Студента, Студенту, Студентом, Студенте)
4) Студент Студента Студенту Студентом Студенте
Тестирование циклов
В модуле представлен единственный цикл типа «ПОКАВЫПОЛНЯТЬ ».
Для тестировании этого цикла будем записывать в файл различные варианты справочников форм и проверим следующие варианты:
1) Единственная строка в файле
2) Две строки в файле
3) Более двух строк в файле.
Корректность записанных строк не принципиальна, так как условие некорректной записи было протестировано выше.
Набор модульных тестов.
Каждый тест сопровождается XML-комментарием, который описывает ситуацию и требуемое поведение программы.
Статьи к прочтению:
Тестирование. Тест-дизайн
Похожие статьи:
-
Операторы отношения и логические операторы
В предыдущем примере использовался интуитивно понятный, но не рассмотренный ранее оператор «». Это один из операторов отношения, которые позволяют…
-
Else ОПЕРАТОР, End Краткая форма If ЛВ then ОПЕРАТОР1 End Здесь ЛВ, ЛВ1, ЛВ2, ЛВ3 – логические выражения; ОПЕРАТОР1, ОПЕРАТОР2, ОПЕРАТОР– любые операторы…