Библиографическое описание:

Полевщиков И. С. Особенности изучения способа тестирования базового пути студентами бакалавриата в рамках дисциплины «Тестирование программного обеспечения» (часть 2) // Молодой ученый. — 2015. — №18. — С. 13-15.

В предыдущей статье были рассмотрены некоторые особенности разработанного методического пособия по дисциплине «Тестирование программного обеспечения» [1, 2], изучаемой студентами бакалавриата направления «Программная инженерия», которое посвящено способу тестирования базового пути [1, 3]. Продолжим рассмотрение содержания раздела «Краткие теоретические сведения» данного пособия, а именно приведем шаги способа тестирования базового пути.

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

Пользователь вводит последовательно целые числа. Признаком окончания последовательности служит 0. Необходимо вычислить и вывести на экран сумму, количество и среднее арифметическое чисел, одновременно больших -5 и меньших 15.

Текст программы, написанной на языке Pascal [4, 5] в системе «Pascal ABC» [6], представлен на рис. 1.

Рис. 1. Текст программы на языке Pascal

 

Шаг 1. На основе текста программы формируется потоковый граф:

1)      нумеруются операторы текста программы (номера операторов показаны в тексте программы с использованием комментариев);

2)      производится отображение пронумерованного текста программы в узлы и дуги потокового графа (рис. 2).

Рис. 2. Потоковый граф программы

 

Шаг 2. Определяется цикломатическая сложность потокового графа — по каждой из трех формул:

1) Потоковый граф имеет 5 регионов (, , , , ), следовательно, цикломатическая сложность равна .

2) Количество дуг в потоковом графе равно , а количество вершин -, следовательно, согласно формуле (1), цикломатическая сложность равна:

.

3) Количество предикатных узлов в потоковом графе равно , следовательно, согласно формуле (2), цикломатическая сложность равна:

.

Шаг 3. Определяется базовое множество независимых линейных путей:

Путь 1: 1–2-7–8-10

Путь 2: 1–2-7–9-10

Путь 3: 1–2-3–6-2-…

Путь 4: 1–2-3–4-6–2-…

Путь 5: 1–2-3–4-5–6-2-…

Точки в конце путей 3, 4, 5 указывают, что допускается любое продолжение через остаток управляющей структуры графа.

Шаг 4. Подготавливаются тестовые варианты, инициирующие выполнение каждого пути.

Каждый тестовый вариант формируется в следующем виде:

Исходные данные (ИД): …

Ожидаемые результаты (ОЖ.РЕЗ.): …

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

Определим тестовые варианты, удовлетворяющие выявленному множеству независимых путей.

Тестовый вариант для пути 1 (ТВ1):

ИД: Пользователь ввел значение x, равное 0, т. е. последовательность не содержит чисел (является пустой). Значение n должно стать больше 0.

ОЖ.РЕЗ.: Выводится корректное значение суммы чисел, удовлетворяющих условию, количество таких чисел и их среднее арифметическое.

Примечание: Данный путь не может тестироваться самостоятельно, а должен тестироваться как часть пути 5. Это связано с трудностью проверки операторов под номером 8, т. к. если последовательность чисел пустая, то n останется равным 0.

Тестовый вариант для пути 2 (ТВ2):

ИД: Пользователь ввел значение x, равное 0. Значение n не должно стать больше 0.

ОЖ.РЕЗ.: Выводится сообщение о том, что чисел, удовлетворяющих условию, в последовательности нет.

Тестовый вариант для пути 3 (ТВЗ):

ИД: Пользователь ввел значение x, меньшее или равное -5, а затем ввел 0.

ОЖ.РЕЗ.: Выводится сообщение о том, что чисел, удовлетворяющих условию, в последовательности нет.

Тестовый вариант для пути 4 (ТВ4):

ИД: Пользователь ввел значение x, большее или равное 15, а затем ввел 0.

ОЖ.РЕЗ.: Выводится сообщение о том, что чисел, удовлетворяющих условию, в последовательности нет.

Тестовый вариант для пути 5 (ТВ5):

ИД: Пользователь ввел два значения x, удовлетворяющих условию, а затем ввел 0.

ОЖ.РЕЗ.: Выводится корректное значение суммы чисел, удовлетворяющих условию, количество таких чисел и их среднее арифметическое.

Шаг 5. Реальные результаты каждого тестового варианта сравниваются с ожидаемыми результатами.

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

Сравнение реальных результатов с ожидаемыми для ТВ2:

Пользователь ввел значение x, равное 0. Результат работы программы:

Введите число:0

Числа, большие -5 и меньшие 15, не были введены!

Результат удовлетворяет ожидаемому.

Сравнение реальных результатов с ожидаемыми для ТВ3:

Пользователь ввел значение x, равное -5, а затем ввел 0. Результат работы программы:

Введите число:-5

Введите число:0

Числа, большие -5 и меньшие 15, не были введены!

Результат удовлетворяет ожидаемому.

Сравнение реальных результатов с ожидаемыми для ТВ4:

Пользователь ввел значение x, равное 20, а затем ввел 0. Результат работы программы:

Введите число:20

Введите число:0

Числа, большие -5 и меньшие 15, не были введены!

Результат удовлетворяет ожидаемому.

Сравнение реальных результатов с ожидаемыми для ТВ5:

Пользователь ввел значение x, равное 10, затем значение x, равное 12, а затем ввел 0. Результат работы программы:

Введите число:10

Введите число:12

Введите число:0

Сумма чисел, больших -5 и меньших 15, равна: 22

Количество таких чисел равно: 2

Среднее арифметическое таких чисел равно: 11

Результат удовлетворяет ожидаемому.

После выполнения всех тестовых вариантов гарантируется, что все операторы программы выполнены по меньшей мере один раз.

Важно отметить, что некоторые независимые пути не могут проверяться изолированно. Такие пути должны проверяться при тестировании другого пути (как часть другого тестового варианта).

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

 

Литература:

 

1.         Орлов С. А., Цилькер Б. Я. Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. СПб.: Питер, 2012. 608 с.

2.         Файзрахманов Р. А., Мурзакаев Р. Т., Брюханова А. А. Командная разработка и непрерывная интеграция в системах автоматизированного проектирования фигурного раскроя // Научное обозрение. 2015. № 1. С. 95–101.

3.         Полевщиков И. С. Разработка методического пособия на тему «Тестирование базового пути» (для студентов бакалавриата направления «Программная инженерия») // Педагогика и современность. 2013. № 4. С. 83–85.

4.         Полевщиков И. С. Особенности проведения вводной лабораторной работы по изучению основ программирования для студентов бакалавриата в рамках дисциплины «Информатика» // Педагогика и современность. 2014. № 1. С. 43–45.

5.         Полевщиков И. С. Методика проведения лабораторной работы по дисциплине «Информатика» на тему «Операторы ветвления» для студентов бакалавриата // Молодой ученый. 2014. № 4. С. 107–110.

6.         Система программирования Pascal ABC. URL: sunschool.mmcs.sfedu.ru/8-stranitsy-na-sajte/5-pabc. (Дата обращения: 30.08.2014).

Обсуждение

Социальные комментарии Cackle