Задачи по применению модели Миллса




Задача 1

В программу преднамеренно внесли (посеяли) 10 ошибок. В ре­зультате тестирования обнаружено 12 ошибок, из которых 10 ошибок были внесены преднамеренно. Все обнаруженные ошибки исправле­ны. До начала тестирования предполагалось, что программа содер­жит не более 4 ошибок. Требуется оценить количество ошибок до начала тестирования и степень отлаженности программы.

Решение задачи

Для оценки количества ошибок до начала тестирования исполь­зуем формулу (1). Нам известно:

· количество внесенных в программу ошибок S = 10;

· количество обнаруженных ошибок из числа внесенных V =10;

· количество «собственных» ошибок в программе n = 12 - 10 = 2.

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

N=(S*n)/ V = (10*2)/10 = 2

Таким образом, из результатов тестирования следует, что до на­чала тестирования в программе имелось 2 ошибки.

Для оценки отлаженности программы используем уравнение (2). Нам известно:

· количество обнаруженных «собственных» ошибок в программе n = 2;

· количество предполагаемых ошибок в программе K = 4;

· количество преднамеренно внесенных и обнаруженных ошибок S = 10.

Очевидно, что обнаружено меньшее число «собственных» оши­бок, чем количество предполагаемых ошибок в программе (n<K). Для оценки отлаженности программы используем уравнение

С = S /(S+K + 1) = 10/(10 + 4+ 1) = 0,67

Степень отлаженности программы равна 0,67, что составляет 67%.

Задача 2

В программу было преднамеренно внесено (посеяно) 7 ошибок. В ре­зультате тестирования обнаружено 11 ошибок, из которых 7 ошибок были внесены преднамеренно. Все обнаруженные ошибки исправлены. До на­чала тестирования предполагалось, что программа содержит не более 5 ошибок. Требуется оценить количество ошибок до начала тестирования и степень отлаженности программы.

Решение задачи

Для оценки количества ошибок до начала тестирования исполь­зуем формулу (1). Нам известно:

· количество внесенных в программу ошибок S = 7;

· количество обнаруженных ошибок из числа внесенных V =7;

· количество «собственных» ошибок в программе n =11-7 = 4.

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

N=(S*n)/ V=(7*4)/7 = 4

Таким образом, из результатов тестирования следует, что до нача­ла тестирования в программе имелось 4 ошибки.

Для оценки отлаженности программы используем уравнение (2). Нам известно:

· количество обнаруженных «собственных» ошибок в программе n = 4;

· количество предполагаемых ошибок в программе K = 5;

· количество преднамеренно внесенных и обнаруженных ошибок S =7.

Очевидно, что обнаружено меньшее число «собственных» ошибок, чем количество предполагаемых ошибок в программе (n < K). Для оценки отлаженности программы используем уравнение

С= S/(S+K + 1) = 7/(7 + 5 + 1) = 0,54

Степень отлаженности программы равна 0,54, что составляет 54%.

 

Задача 3

В программу было преднамеренно внесено (посеяно) 14 ошибок. Предположим, что в программе перед началом тестирования было 14 ошибок. В процессе четырех тестовых прогонов было выявлено сле­дующее количество ошибок.

Номер прогона        
V        
n        

Необходимо оценить количество ошибок перед каждым тестовым прогоном. Оценить степень отлаженности программы после послед­него прогона. Построить диаграмму зависимости возможного числа ошибок в данной программе от номера тестового прогона.

Решение задачи

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

Определяя показатели программы по результатам первого прого­на, необходимо учитывать, что S 1 = 14; n 1 = 4; V 1 = 6, тогда

N1 = (S1*n1)/ V1= (14 * 4) / 6 = 9

По результатам второго прогона корректируем исходные данные для оценки параметров: K2 = 14 - 4 = 10; S 2 = 14 - 6 = 8; n 2 = 2; V2 = 4, следовательно,

N2 = (S2*n2)/V2 = (8*2)/4 = 4.

Корректировка исходных данных после третьего прогона дает следующие данные: K 3 = 10 - 2 = 8, S 3 = 8 - 4 = 4; n 3= 1; V 3 = 2, отку­да количество ошибок определится следующим образом:

N3 = (S3*n3)/V3 = (4*1)/2 = 2.

После четвертого прогона программы получим следующие ис­ходные данные: K4 = 8 - 1 = 7, S4 = 4 - 2 = 2; n4 = 1; V4 = 2, тогда

N4 = (S4 *n 4) / V4 = (2 * 1) / 2 = 1.

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

C=S/(S+K + 1) = 2/(2 + 7+ 1) = 0,2.

Таким образом, в предположении, что до начала четвертого про­гона в программе оставалось 7 ошибок, степень отлаженности про­граммы составляет 20%.

Результат по количеству ошибок в программе до начала каждого прогона приведен ниже.

Номер прогона        
N        

Графически динамика количества ошибок по результатам тести­рования программы показана на рисунке 2.

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

Рисунок 2. Динамика количества ошибок при тестировании программы

 

Задача 4

В программу было преднамеренно внесено (посеяно) 14 ошибок. В результате тестирования обнаружено 9 ошибок, из которых 6 оши­бок были внесены преднамеренно. Все обнаруженные ошибки ис­правлены. До начала тестирования предполагалось, что программа содержит не более 4 ошибок. Требуется оценить степень отлаженности программы на момент завершения тестирования.

Решение задачи

Если тестирование закончено раньше, чем обнаружены все пред­намеренно внесенные ошибки, то следует применять более сложное комбинаторное выражение (6).

Из условия задачи нам известно:

· количество внесенных в программу ошибок S =14;

· количество обнаруженных ошибок из числа внесенных V= 6;

· количество «собственных» ошибок в программе n = 9-6 = 3;

Подставив значения в формулу, получим оценку количества ошибок:

N=(S*n)/ V = (14*3)/6 = 7

Таким образом, из результатов тестирования следует, что до на­чала тестирования в программе имелось 7 ошибок.

Для оценки отлаженности программы используем уравнение (7). Нам известно:

· количество обнаруженных «собственных» ошибок в программе n = 3;

· количество предполагаемых ошибок в программе K = 4;

· количество преднамеренно внесенных и обнаруженных ошибок S = 14.

Очевидно, что обнаружено меньшее число «собственных» оши­бок, чем количество предполагаемых ошибок в программе (n<K). Для оценки отлаженности программы используем уравнение

С = S /(S+K + 1) = 14/(14 + 4+ 1) = 0,74

Степень отлаженности программы равна 0,74, что составляет 74%.

Заключение

 

В проделанной нами работе была достигнута первоначально поставленная цель. Мы изучили статические модели и метрики для определения качества ПО. Для достижения данной цели мы ознакомились с показателями качества программного обеспечения по стандарту ГОСТ Р 9126-93. Изучили статические модели и метрики. Для лучшего представления и анализа рассмотрели модели Миллса и простую интуитивную модель на конкретных примерах.

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

Практика разработки ПО предполагает приоритет задачи обеспечения надежности над задачей её оценки. Ситуации выглядит парадоксально: совершенно очевидно, что прежде чем обеспечивать надежность, следует научиться её измерять. Но для этого нужно иметь практически приемлемую единицу измерения надежности ПО и модели её расчета.


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: