- Шаги способа тестирования базового пути
- Базовое тестирование пути
- Что такое Path Testing?
- Что такое базовый путь тестирования?
- Алгоритм тестирования базового пути
- Русские Блоги
- Базовый метод тестирования пути при тестировании белого ящика
- Интеллектуальная рекомендация
- совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)
- [Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов
- IP, сеанс и cookie
- [List.toarray () позволяет избежать ошибки принудительного применения] Список универсальных используемых.
Шаги способа тестирования базового пути
Для иллюстрации шагов данного способа используем конкретную программу – процедуру вычисления среднего значения:
вып пока 2 -вел( i ) <> stop и введено = мин и вел( i ) 0
11 то сред := сум / колич;
12 иначе сред := stop;
Заметим, что процедура содержит составные условия (в заголовке цикла и условном операторе). Элементы составных условий для наглядности помещены в рамки.
Шаг 1. На основе текста программы формируется потоковый граф:
q нумеруются операторы текста (номера операторов показаны в тексте процедуры);
q производится отображение пронумерованного текста программы в узлы и вершины потокового графа (рис. 6.7).
Рис. 6.7.Потоковый граф процедуры вычисления среднего значения
Шаг 2. Определяется цикломатическая сложность потокового графа – по каждой из трех формул:
1) V(G) = 6 регионов;
2) V(G) = 17 дуг – 13 узлов + 2 = 6;
3) V(G) = 5 предикатных узлов + 1 = 6.
Шаг 3. Определяется базовое множество независимых линейных путей:
Путь 1:1-2-10-11-13; /вел=stор, колич>0.
Путь 2:1-2-10-12-13;/вел=stop, колич=0.
Путь 3:1-2-3-10-11-13; /попытка обработки 501-й величины.
Путь 4:1-2-3-4-5-8-9-2-. /вел макс.
Путь 6:1-2-3-4-5-6-7-8-9-2-. /режим нормальной обработки.
ПРИМЕЧАНИЕ
Для удобства дальнейшего анализа по каждому пути указаны условия запуска. Точки в конце путей 4, 5, 6 указывают, что допускается любое продолжение через остаток управляющей структуры графа.
Шаг 4. Подготавливаются тестовые варианты, инициирующие выполнение каждого пути.
Каждый тестовый вариант формируется в следующем виде:
Исходные данные (ИД):
Ожидаемые результаты (ОЖ.РЕЗ.):
Исходные данные должны выбираться так, чтобы предикатные вершины обеспечивали нужные переключения – запуск только тех операторов, которые перечислены в конкретном пути, причем в требуемом порядке.
Определим тестовые варианты, удовлетворяющие выявленному множеству независимых путей.
Тестовый вариант для пути 1 ТВ1:
ИД: вел(k) = допустимое значение, где k макс, где k
ИД: вел(i)=допустимое значение, где i ≤ 500.
ОЖ.РЕЗ.: корректное усреднение основывается на п величинах и правильном подсчете.
Реальные результаты каждого тестового варианта сравниваются с ожидаемыми результатами. После выполнения всех тестовых вариантов гарантируется, что все операторы программы выполнены по меньшей мере один раз.
Важно отметить, что некоторые независимые пути не могут проверяться изолированно. Такие пути должны проверяться при тестировании другого пути (как часть другого тестового варианта).
Дата добавления: 2019-02-07 ; просмотров: 405 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Источник
Базовое тестирование пути
Что такое Path Testing?
Тестирование пути — это метод структурного тестирования, который включает использование исходного кода программы для нахождения каждого возможного исполняемого пути. Это помогает определить все ошибки, лежащие в куске кода. Этот метод предназначен для выполнения всего или выбранного пути через компьютерную программу.
Любая программа включает в себя несколько точек входа и выхода. Тестирование каждого из этих пунктов является сложным и трудоемким. Для сокращения избыточных тестов и достижения максимального охвата тестов используется базовое тестирование.
Что такое базовый путь тестирования?
Базовое тестирование пути такое же, но оно основано на методе White Box Testing , который определяет контрольные примеры на основе потоков или логического пути, который может быть пройден через программу. В программной инженерии базовое тестирование пути включает в себя выполнение всех возможных блоков в программе и достижение максимального охвата пути с наименьшим количеством тестовых случаев. Это гибрид методов ветвления и тестирования пути.
Цель базового пути в тестировании программного обеспечения состоит в том, что он определяет количество независимых путей, таким образом, число необходимых тестовых случаев может быть определено явно (максимизирует охват каждого тестового случая).
Здесь мы возьмем простой пример, чтобы лучше понять, что включает в себя тестирование базового пути.
Источник
Алгоритм тестирования базового пути
End if
Способ тестирования базового пути.
Суть метода (Т. МакКейб, 1976 г.) состоит в том, чтобы представить программу в виде графа, узлами которого являются отдельные операторы или их линейные последовательности. Выполнение тестового варианта соответствует отдельному пути в таком графе (называемом потоковым , т.к. путь в графе реализует поток управления при выполнении программы). Набор тестов строится таким образом, чтобы проверить базовое множество путей (маршрутов) в программе. Это гарантирует однократное выполнение каждого оператора программы при тестировании. Способ тестирования базового пути даёт возможность получить оценку комплексной сложности программы и использовать ее для определения необходимого количества тестовых вариантов.
Центральным понятием метода является потоковый граф. Он строится отображением управляющей структуры программы. В ходе отображения закрывающие скобки условных операторов и циклов (end if,end loop) рассматриваются как отдельные (фиктивные) операторы.
Узлы ( вершины ) потокового графа соответствуют линейным участкам программы, включают один или несколько операторов программы.
Дуги потокового графа отображают поток управления в программе (передачи управления между операторами).
Различают операторные и предикатные узлы. Предикатные узлы соответствуют простым условиям в программе. Составное условие программы отображается в несколько предикатных узлов. Составным называют условие, в котором используется одна или несколько булевых операций ( OR, AND ).
Например, фрагмент программы
if a OR b
then x
else y
вместо прямого отображения в потоковый граф вида, показанного на рис. 2.14а, отображается в преобразованный потоковый граф ( рис.2.14б )
Рис. 2.14. Отображение фрагмента программы в потоковый граф
Замкнутые области, образованные дугами и узлами, называют регионами. «Окружающая среда» графа рассматривается как дополнительный регион ( например, граф рис. 22б имеет три региона — R1, R2,R3).
Вторым важным понятием метода является цикломатическая сложность — метрика ПО, которая обеспечивает количественную оценку логической сложности программы. В способе тестирования базового пути цикломатическая сложность определяет количество независимых путей в базовом множестве программы и верхнюю оценку количества тестов, которое гарантирует однократное выполнение всех операторов.
Независимым называется любой путь который вводит новый оператор обработки или новое условие. В терминах потокового графа независимый путь должен содержать дугу, не входящую в ранее определённые пути. Все независимые пути графа образуют базовое множество.
Цикломатическая сложность вычисляется одним из трёх способов:
цикломатическая сложность равна количеству регионов потокового графа;
цикломатическая сложность определяется по формуле:
V (G) =E-N+2 где E — количество дуг, N — количество узлов потокового графа;
цикломатическая сложность формируется по выражения V(G)=p+1, где p — количество предикатных узлов в потоковом графе G.
Шаг 1. На основе текста программы формируется потоковый граф:
нумеруются операторы текста;
производится отображение пронумерованного текста программы в узлы и вершины потокового графа.
Шаг 2. Определяется цикломатическая сложность потокового графа (по любой из трёх формул).
Шаг 3. Определяется базовое множество независимых линейных путей.
Шаг 4. Подготавливаются тестовые варианты, инициирующие выполнение каждого пути. Каждый тестовый вариант (ТВ)формируется в следующем виде:
Исходные данные (И Д):
Ожидаемые результаты (ОЖ. РЕЗ.):
Исходные данные должны выбираться так, чтобы предикатные вершины обеспечивали нужные переключения — запуск только тех операторов, которые перечислены в конкретном пути, причём в требуемом порядке
(Задача на «занимательное программирование» — набор программ, выполняющих обработку текста на каком-либо языке и реализующих шаги 1 -4 алгоритма )
Пример 1.Рассмотрим процедуру “сжатия” файла, каждая запись которого состоит из двух полей, причем в результате обработки создается файл, записи которого содержат только одно поле, наибольшее из двух а или b.
Текст программы в псевдо-алгоритмической записи имеет следующий вид ( слева пронумерованы линейные участки и предикативные узлы ).
Procedure PRESS
1) Открыть_файл( );
1) do while ( NOT eof )
2) читать_запись( );
2) if ( запись_пуста )
3) then удалить_запись( );
4) else if ( поле а >= поля b)
5) then удалить_поле( b );
6) else удалить_поле( a );
7) end if;
8) end do;
9) Закрыть_файл( );
9) End proc
Потоковый граф изображен на рис 2.15
Рис. 2.15. Преобразованный потоковый граф процедуры «сжатия»
Этот потоковый граф имеет четыре региона, 9 узлов и 11 дуг. Независимые пути начинаются в начальном узле, а заканчивается в конечном узле графа и формируются в порядке от самого короткого к самому длинному. Такими путями будут следующие пути:
Путь 1:1-9.
Путь 2:1-2-3-7-8-1-9.
Путь 3: 1-2-4-5-7-8-1-9
Путь 4: 1-2-4-6-7-8-1-9.
Цикломатическая сложность графа V(G), вычисленная каждым из трёх способов равна:
потоковый граф имеет 4 региона — V(G) = 4;
V(G)=11дуг — 9 узлов + 2=4;
V (G) =3 предикатных узла + 1=4.
Таким образом, уровень сложности программы равен четырём.
Тестовые варианты для независимых путей будут иметь вид.
Путь 1:1-9.
ТВ1 :ИД: файл пуст
ОЖ. РЕЗ.: корректное завершение программы, файл не изменен.
Путь 2:1-2-3-7-8-1-9.
ТВ2: ИД: файл содержит одну пустую запись
ОЖ. РЕЗ.: корректное завершение программы, на выходе — пустой файл.
Путь 3:1-2-4-5-7-8-1-9.
ТВ3: ИД: файл содержит одну запись, в которой поле а больше поля в
ОЖ. РЕЗ.: корректное завершение программы, на выходе — файл с одной записью а.
Путь 4:1-2-4-6-7-8-1-9.
ТВ4: ИД: файл содержит одну запись, в которой поле в больше поля а
ОЖ. РЕЗ.: корректное завершение программы, на выходе — файл с одной записью в.
Источник
Русские Блоги
Базовый метод тестирования пути при тестировании белого ящика
Тестирование белого ящика Методы тестирования включают метод проверки кода, метод анализа статической структуры, метод измерения статического качества, метод логического покрытия, Базовый тест пути , Проверка домена, проверка символов, Z Покрытие пути, вариация программы.
Наиболее широко используется метод тестирования основного пути.
Базовый метод тестирования пути — это метод разработки тестовых примеров путем анализа сложности цикла структуры управления на основе графа потока управления программой и получения набора основных исполняемых путей.
Тестовый пример разработан для обеспечения того, чтобы каждый исполняемый оператор программы выполнялся хотя бы один раз во время теста.
На основе графа потока управления программой, анализируя сложность цикла структуры управления, выводится базовый набор исполняемых путей для разработки тестовых примеров. Включая следующее 4 Шаги и метод инструмента:
шаг:
1. Блок-схема управления программой: графический метод описания потока управления программой.
2. Циклическая сложность программы: McCabe Мера сложности. Из программы Сложность петли В коллекции базовых путей экспортируемых программ Количество независимых путей , Это верхняя граница количества тестовых примеров, которые должны выполняться хотя бы один раз для каждого исполняемого оператора в программе.
3. Экспорт тестовых примеров: проектируйте ввод данных тестового примера и ожидаемые результаты в соответствии с цикломатической сложностью и структурой программы.
4. Подготовьте тестовые примеры: убедитесь, что выполняется каждый путь в наборе базовых путей.
Инструментальный метод:
Графическая матрица: это программный инструмент, который играет вспомогательную роль при тестировании базового пути. Его можно использовать для автоматического определения набора базовых путей.
Блок-схема управления программой: графический метод описания потока управления программой.
Круг называется узлом графа потока управления, который представляет один или несколько неразветвленных операторов или операторов исходной программы.
На блок-схеме всего два типа графических символов:
Каждый кружок на графе называется узлом потокового графа, который представляет одно или несколько предложений.
Стрелки в потоковом графе называются ребрами или соединениями, представляя поток управления.
Любой проект процесса должен быть преобразован в блок-схему управления.
Как нарисовать блок-схему управления по блок-схеме программы ?
При преобразовании блок-схемы программы в блок-схему управления следует обратить внимание на:
1 , В выборочной или многоотводной структуре должен быть узел схождения на схождении ветвей.
2 Область, очерченная краями и узлами, называется областью.При подсчете областей область за пределами графа также должна быть записана как область.
Как показано на следующей странице
Эта статья перенесена из блога Haoyang Education 51CTO, исходная ссылка: http://blog.51cto.com/zdytesting/1717683, если вам нужно перепечатать, пожалуйста, свяжитесь с исходным автором самостоятельно
Интеллектуальная рекомендация
совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)
1. Краткое изложение проблемы: (внизу есть инструкция по созданию таблицы, копирование можно непосредственно практиковать с помощью (mysql)) Найдите отделы, в которых есть хотя бы один сотрудник. Отоб.
[Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов
Двоичное имя Например, java.net.URLClassLoader $ 3 $ 1 означает первый анонимный внутренний класс в третьем анонимном внутреннем классе URLClassLoader ClassLoader анализ A class loader is an object th.
IP, сеанс и cookie
IP, сеанс и cookie IP IP заблокирован Почему заблокирован IP Как решить проблему блокировки IP Как получить IP-адрес прокси Используй прокси Подтвердите действительность IP-адреса прокси О прокси http.
[List.toarray () позволяет избежать ошибки принудительного применения] Список универсальных используемых.
Общая ошибка Справочный руководство Ali Справочник источника .
Источник