Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Показатели корректности тестирования структуры программных модулей




 

Считаем, что программа представлена в виде графа.

Сложность теста равна числу дуг, входящих в i -ый маршрут, при исполнении этого теста.

Пусть - число условий в i -ом маршруте,

Каждое условие определяет выбор j-ой дуги к вершине .

Тогда = , где

Тогда - полная сложность тестов.

- число маршрутов по критерию.

Пусть - вероятность обнаружения ошибки в j-ой дуге на i-ом маршруте.

Тогда вероятность получения правильного результата на i-ом маршруте

Реализация выбора j-ой дуги в i-ом маршруте зависит от конкретных входных данных. Пусть - вероятность такой реализации.

Тогда - вероятность реализации i-ого маршрута.

Тогда -вероятность отсутствия проявления ошибки на i-ом маршруте.

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

Тогда - полная вероятность правильного функционирования программы, она же показатель корректности программы.

(1) – вероятность появления ошибки.

- может существенно меняться в зависимости от выбранного критерия .

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

.

Представляет интерес оценка изменения в зависимости от затрат на тестирование, которые характеризуются суммарным объемом тестов для критерия выделения маршрутов, число которых :

.

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

Если величина мала, то корректность программ увеличивается медленно, и эффективность дальнейшего тестирования этим методом может оказаться сомнительной.

Полное тестирование при некотором -ом критерии выделения маршрутов может соответствовать некоторой вероятности обнаружения ошибки при выделении маршрутов по более жесткому

критерию. Разность - может использоваться для оценки целесообразности продолжения тестирования с переходом на более жесткий критерий выделения маршрутов.

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

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

Т.е. = 0, после полного тестирования всех маршрутов через j -ую дугу, = в противном случае.

Эта гипотеза позволяет получить пессимистические оценки вероятности правильности исполнения программы после проведения тестирования части маршрутов.

Гипотеза : При завершении тестирования программы по некоторому маршруту вероятность сохранения ошибок в дугах этого маршрута убывает пропорционально относительному числу протестированных маршрутов.

Т.е. = до начала тестирования, 0 – после тестирования всех маршрутов, в противном случае, где - относительное число протестированных маршрутов, проходящих через j -ю дугу.

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

Гипотеза : Любая дуга программы, проверенная хотя бы в одном маршруте тестирования, проверена полностью и не содержит ошибок, которые могли бы появиться при других маршрутах исполнения программы.

Т.е. = 0, если дуга проверялась хотя бы один раз, - в противном случае.

Эта гипотеза соответствует оптимистическим оценкам вероятности правильного исполнения программы.

Вероятность выбора j -ой дуги при ветвлении в вершине графа программы в общем случае зависит от начальной части i-ого маршрута исполнения программы, по которому достигнута эта дуга. Для получения обобщенных результатов целесообразно предположить, что вероятность ветвления не зависит от предшествующей части маршрута исполнения программы.

Если вероятности ветвления в графе программы не известны, то можно предположить, что ветвления происходят равновероятно: =0,5.

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

В книге [12, c.143] приведены результаты исследования зависимости Q от для 3 типов графов управления абстрактных ациклических программных модулей.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...