Автор: Полевщиков Иван Сергеевич

Рубрика: Информатика

Опубликовано в Молодой учёный №18 (98) сентябрь-2 2015 г.

Дата публикации: 18.09.2015

Статья просмотрена: 943 раза

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

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

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

В ходе одной из лабораторных работ студент должен научиться производить тестирование программного обеспечения способом тестирования базового пути [1, 3].

Рассмотрим некоторые особенности разработанного методического пособия по данной теме. В разделе «Краткие теоретические сведения» методического пособия представлена необходимая теория, посвященная данному способу тестирования, сопровождаемая примерами. Далее рассмотрим содержание этого раздела, основанное на работе [1].

Тестирование базового пути — это способ тестирования, который основан на принципе «белого ящика». Автор этого способа — Том МакКейб (1976 г.).

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

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

Тестовые варианты разрабатываются для проверки базового множества путей (маршрутов) в программе. Они гарантируют однократное выполнение каждого оператора программы при тестировании.

Для представления программы при использовании данного способа тестирования используется потоковый граф.

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

Узлы (вершины) потокового графа соответствуют линейным участкам программы, включают один или несколько операторов программы.

Дуги потокового графа отображают поток управления в программе (передача управления между операторами).

Различают операторные и предикатные узлы. Из операторного узла выходит одна дуга, а из предикатного — две дуги.

Предикатные узлы соответствуют простым условиям в программе. Составное условие программы отображается в несколько предикатных узлов. Составным называют условие, в котором используется одна или несколько булевых операций (конъюнкция, дизъюнкция).

Замкнутые области, образованные дугами и узлами, называют регионами. Окружающая граф среда рассматривается как дополнительный регион.

Рассмотрим пример построения потокового графа. Дана программа, написанная на языке Pascal [4] в системе «Pascal ABC» [5] (рис. 1).

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

 

С целью построения потокового графа (рис. 2) операторы программы на рис. 1 пронумерованы с использованием комментариев. Следует отметить, что некоторые операторы, составляющие единый линейный участок программы, объединены в один узел (например, три идущих подряд оператора присваивания обозначены цифрой 1, а три идущих подряд оператора вывода — цифрой 9).

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

 

Следует обратить внимание, что составное условие (a>0) and (a<7), согласно правилам построения потокового графа, отображается в два предикатных узла, а именно в узел 4, соответствующий простому условию a>0, и узел 5, соответствующий простому условию a<7.

В приведенном на рис. 2 потоковом графе:

1)        10 вершин (узлов), обозначенных кружками (все они пронумерованы в соответствии с нумерацией операторов в программе), каждая из которых соответствует линейному участку программы, включает один или несколько операторов;

2)        12 дуг (обозначенных стрелками), отображающих поток управления в программе;

3)        3 предикатных узла, соответствующих простым условиям в программе: a>b, a>0 и a<7.

4)        четыре региона: замкнутые области, образованные дугами и узлами (обозначены как , , ) и окружающая граф среда ().

Цикломатическая сложность — это метрика программного обеспечения, которая обеспечивает количественную оценку логической сложности программы. В способе тестирования базового пути цикломатическая сложность определяет:

1)      количество независимых путей в базовом множестве программы;

2)      верхнюю оценку количества тестов, которое гарантирует однократное выполнение всех операторов.

Независимым называется любой путь, который вводит новый оператор обработки или новое условие. В терминах потокового графа независимый путь должен содержать дугу, не входящую в ранее определенные пути.

Путь начинается в начальном узле, а заканчивается в конечном узле графа. Независимые пути формируются в порядке от самого короткого к самому длинному.

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

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

Путь 2: 1–2-3–4-7–8-2–9-10.

Путь 3: 1–2-3–4-5–7-8–2-9–10.

Путь 4: 1–2-3–4-5–6-8–2-9–10.

Заметим, что каждый новый путь включает новую дугу.

Все независимые пути графа образуют базовое множество.

Свойства базового множества:

1) тесты, обеспечивающие его проверку, гарантируют:

а) однократное выполнение каждого оператора;

б) выполнение каждого условия по true-ветви и по false-ветви;

2) мощность базового множества равна цикломатической сложности потокового графа.

Ценность 2-го свойства заключается в том, что оно дает оценку количества независимых путей, которое имеет смысл искать в графе.

Цикломатическая сложность вычисляется одним из трех способов:

1)      Цикломатическая сложность равна количеству регионов потокового графа.

2)      Цикломатическая сложность определяется по формуле:

, (1)

где  — количество дуг потокового графа ;

 — количество узлов потокового графа ;

3)      Цикломатическая сложность формируется по формуле:

, (2)

где  — количество предикатных узлов в потоковом графе .

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

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

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

.

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

.

Таким образом, цикломатическая сложность потокового графа, изображенного на рис. 2, равна .

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

 

Литература:

 

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

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

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

4.         Полевщиков И. С. Особенности проведения лабораторной работы по дисциплине «Информатика» на тему «Структура программы на языке Паскаль. Процедуры ввода-вывода» для студентов бакалавриата // Молодой ученый. 2014. № 3. С. 69–72.

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

Основные термины (генерируются автоматически): тестирования базового пути, потокового графа, «Тестирование программного обеспечения», построения потокового графа, изучения способа тестирования, студентами бакалавриата, способа тестирования базового, дисциплины «Тестирование программного, базового пути студентами, рамках дисциплины «Тестирование, программного обеспечения, Особенности изучения способа, пути студентами бакалавриата, методического пособия, простым условиям в программе, базового множества, способом тестирования базового, образованные дугами и узлами, соответствующий простому условию, Способ тестирования базового.

Обсуждение

Социальные комментарии Cackle
Задать вопрос