Дисциплина «Тестирование программного обеспечения», изучаемая студентами бакалавриата, обучающимися по направлению «Программная инженерия», является весьма актуальной, поскольку тестирование представляет собой один из этапов жизненного цикла разработки программного обеспечения и важнейшую составляющую обеспечения качества программного обеспечения [1, 2].
В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения способом тестирования ветвей и операций отношений [1, 3], являющимся одним из способов тестирования условий.
Рассмотрим некоторые особенности разработанного методического пособия по данной теме. В разделе «Краткие теоретические сведения» методического пособия представлена необходимая теория, посвященная данному способу тестирования, сопровождаемая примерами. Далее приведем фрагмент содержания этого раздела, а именно детальный пример тестирования программы.
Пользователь вводит два числа, и . Необходимо вычислить и вывести на экран значение по следующему принципу:
1) Если одновременно и , тогда вычисляется как сумма и .
2) Иначе, если , то вычисляется как разность и .
3) Иначе вычисляется как произведение и .
Программа написана на языке Pascal в системе «Pascal ABC» (рис. 1).
Рис. 1. Пример программы на языке Pascal
Шаг 1. Строится ограничение для каждого условия.
Для составного условия : .
Для простого условия : .
Шаг 2. Выявляются ограничения результата по каждому простому условию.
Ограничения на результат простых условий: ; ; .
Шаг 3. Строится ограничивающее множество для каждого условия. Построение выполняется путем подстановки в константную формулу выявленных ограничений результата.
Константная формула выглядит следующим образом:
.
Следовательно:
.
.
Шаг 4. Для каждого элемента разрабатывается тестовый вариант.
Для создания тестовых вариантов последовательно просматриваем созданные множества.
Тестовые варианты для элементов множества :
Тестовый вариант ТВ1:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как произведение и .
Тестовый вариант ТВ2:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как произведение и .
Тестовый вариант ТВ3:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как произведение и .
Тестовый вариант ТВ4:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как произведение и .
Тестовый вариант ТВ5:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как разность и .
Тестовый вариант ТВ6:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как сумма и .
Тестовый вариант ТВ7:
ИД: Пользователь ввел значения и .
ОЖ.РЕЗ.: вычисляется как сумма и .
Тестовые варианты для элементов множества :
Тестовый вариант ТВ8:
ИД: Пользователь ввел значение .
ОЖ.РЕЗ.: вычисляется как произведение и .
Примечание: Данный тестовый вариант поглощается ТВ3 при и ТВ4 при . Самостоятельное значение имеет при .
Тестовый вариант ТВ9:
ИД: Пользователь ввел значение .
ОЖ.РЕЗ.: вычисляется как произведение и .
Примечание: Данный тестовый вариант поглощается ТВ1 при и ТВ2 при . Самостоятельное значение имеет при .
Тестовый вариант ТВ10:
ИД: Пользователь ввел значение .
ОЖ.РЕЗ.: вычисляется либо как сумма и (при ), либо как разность и (при ).
Примечание: Данный тестовый вариант поглощается ТВ5 при , ТВ6 при и ТВ7 при .
Шаг 5. Реальные результаты каждого тестового варианта сравниваются с ожидаемыми результатами.
Сравнение реальных результатов с ожидаемыми для ТВ1:
Пользователь ввел значения и .
a=-7
b=5
c=-35
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ2:
Пользователь ввел значения и .
a=-10
b=6
c=-60
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ3:
Пользователь ввел значения и .
a=-5
b=-1
c=5
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ4:
Пользователь ввел значения и .
a=-5
b=6
c=-30
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ5:
Пользователь ввел значения и .
a=20
b=10
c=10
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ6:
Пользователь ввел значения и .
a=30
b=-5
c=25
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ7:
Пользователь ввел значения и .
a=2
b=6
c=8
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ8:
Пользователь ввел значения и (рассматривается случай, когда данный тестовый вариант имеет самостоятельное значение).
a=-5
b=9
c=-45
Результат удовлетворяет ожидаемому.
Сравнение реальных результатов с ожидаемыми для ТВ9:
Пользователь ввел значения и (рассматривается случай, когда данный тестовый вариант имеет самостоятельное значение).
a=-6
b=8
c=-48
Результат удовлетворяет ожидаемому.
Для тестового варианта ТВ10 сравнение реальных и ожидаемых результатов не производится, поскольку он поглощается другими тестовыми вариантами.
При использовании способа тестирования ветвей и операций отношений следует иметь в виду, что некоторые тестовые варианты могут быть исключены как нереализуемые.
Таким образом, в разработанном методическом пособии в компактном виде изложена необходимая теория, посвященная основным понятиям и формулам, связанным со способом тестирования базового пути, снабженная достаточным количеством примеров. Изучив «Краткие теоретические сведения» методического пособия, студенты приступают к самостоятельному решению подобных задач.
Литература:
1. Орлов С. А., Цилькер Б. Я. Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. СПб.: Питер, 2012. 608 с.
2. Файзрахманов Р. А., Мурзакаев Р. Т., Брюханова А. А. Командная разработка и непрерывная интеграция в системах автоматизированного проектирования фигурного раскроя // Научное обозрение. 2015. № 1. С. 95–101.
3. Полевщиков И. С., Байков В. С., Швецов М. Д. Разработка методического пособия на тему «Тестирование условий» (для студентов и магистрантов направления «Информатика и вычислительная техника») // Педагогика и современность. 2012. № 2. С. 84–90.