Uploaded by 01020301020

П р 3 Надежность ПО Модель Миллса Простая интуит модель

advertisement
Практическая работа №3 по дисциплине
«Документирование и сертификация»
Специальность 09.02.03
1
ПРАКТИЧЕСКАЯ РАБОТА №3
Тема: Надежность программного обеспечения. Модель Миллса. Простая интуитивная модель.
Цель: Научиться оценивать надежность программного средства с помощью модели Миллса и
простой интуитивной модели.
Оборудование и программное обеспечение:
1 Персональный компьютер IBM PC/AT.
2 Операционная система Windows XP.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Использование модели Миллса предполагает необходимость перед началом тестирования
искусственно «засорять» программу, т.е. вносить в нее некоторое количество известных ошибок.
Ошибки вносятся случайным образом и фиксируются в протоколе искусственных ошибок. Специалист,
проводящий тестирование, не знает ни количества, ни характера внесенных ошибок до момента оценки
показателей надежности по модели Миллса. Предполагается, что все ошибки (как естественные, так и
искусственно внесенные) имеют равную вероятность быть найденными в процессе тестирования.
Тестируя программу в течение некоторого времени, собирают статистику об ошибках. В момент оценки
надежности по протоколу искусственных ошибок все ошибки делятся на собственные и искусственные.
Соотношение, называемое формулой Миллса,
дает возможность оценить первоначальное
число ошибок в программе N. Здесь S — количество искусственно внесенных ошибок; n — число
найденных собственных ошибок; V — число обнаруженных к моменту оценки искусственных ошибок.
Использование простой интуитивной модели предполагает проведение тестирования двумя
группами программистов, использующими независимые тестовые наборы, независимо одна от другой.
В процессе тестирования каждая из групп фиксирует все найденные ею ошибки. При оценке числа
оставшихся в программе ошибок результаты тестирования обеих групп собираются и сравниваются.
Положим, первая группа обнаружила N1 ошибок, вторая — N2, a N12 — это ошибки, обнаруженные
дважды (обеими группами). Если обозначить через N неизвестное количество ошибок,
присутствовавших в программе до начала тестирования, то можно эффективность тестирования
каждой из групп определить как
Предполагая, что возможность обнаружения всех ошибок одинакова для обеих групп, можно
допустить, что если первая группа обнаружила определенное количество всех ошибок, она могла бы
определить то же количество любого случайным образом выбранного подмножества.
Например, если первая группа обнаружила 10% ошибок, то она должна было найти примерно 10%
всякого случайным образом выбранного подмножества, например подмножества N2. Можно сказать,
что
Тогда
N = (N1 * N2) / N12.
Если выполнить подстановку для N2, то можно получить формулу
Очевидно, самый простой способ оценки числа ошибок – сравнить оценки, основанные на
исторических данных, в частности на среднем числе ошибок, приходящихся на 1 оператор в
предыдущих проектах. В литературе есть сведения о частоте ошибок, но они не очень обширны.
Имеющиеся данные ориентированы по отраслям и берутся как среднее значение по некоторому
количеству операторов (например, 10 ошибок на 1000 операторов).
Практическая работа №3 по дисциплине
«Документирование и сертификация»
Специальность 09.02.03
2
ПРАКТИЧЕСКАЯ ЧАСТЬ
1. Изучите теоретическую часть.
2. Оцените надёжность программы по модели Миллса в соответствии с вариантом заданий.
Вариант 1. Пусть в программе 12 собственных ошибки, внесено ещё 6 случайным образом. В
процессе тестирования было найдено 7 ошибок из рассеянных и 5 собственные. Оцените надёжность по
модели Миллса.
Рассчитайте количество искусственных ошибок, которые необходимо внести в программу, для
достижения следующих величин меры доверия:
92% - мера доверия предположению, что в программе до тестирования было 10 собственных ошибок;
75% - мера доверия предположению, что в программе до тестирования было 5 собственных ошибок;
66%. - мера доверия предположению, что в программе до тестирования было 4 собственных ошибки.
Вариант 2. Пусть в программе перед началом тестирования было 100 ошибок. Искусственно
рассеяно 25 ошибок. В процессе тестовых прогонов было выявлено следующее количество ошибок:
N 20 20 25 16 9 8 1
V 5 3 3 4 3 1 1
Оцените число возможно оставшихся ошибок в программе после каждого тестового прогона. Меру
доверия к модели оцените после последнего прогона (С – ?). Постройте график зависимости
возможного числа ошибок от № прогона.
Вариант 3. Пусть в программе 10 собственных ошибки, внесено ещё 5 случайным образом. В
процессе тестирования было найдено 8 ошибок из рассеянных и 3 собственные. Оцените надёжность по
модели Миллса.
Рассчитайте количество искусственных ошибок, которые необходимо внести в программу, для
достижения следующих величин меры доверия:
90% - мера доверия предположению, что в программе до тестирования было 8 собственных ошибок;
85% - мера доверия предположению, что в программе до тестирования было 15 собственных ошибок;
72%. - мера доверия предположению, что в программе до тестирования было 3 собственных ошибки.
Вариант 4. Пусть в программе перед началом тестирования было 80 ошибок. Искусственно рассеяно
30 ошибок. В процессе тестовых прогонов было выявлено следующее количество ошибок:
N 30 15 15 13 10 10 1
V 5 3 3 4
3
1 1
Оцените число возможно оставшихся ошибок в программе после каждого тестового прогона. Меру
доверия к модели оцените после последнего прогона (С – ?). Постройте график зависимости
возможного числа ошибок от № прогона.
3. Оцените надёжность программы с помощью простой интуитивной модели в соответствии с
вариантом заданий.
Вариант 1. В процессе тестирования программы 1-я группа нашла 15 ошибок, 2-я группа нашла 25
ошибок, общих ошибок было 5.
Вариант 2. В процессе тестирования программы 1-я группа нашла 5 ошибок, 2-я группа нашла 2
ошибки, общих ошибок было 2.
Вариант 3. В процессе тестирования программы 1-я группа нашла 35 ошибок, 2-я группа нашла 25
ошибки, общих ошибок было 20. Определить надёжность по простой интуитивной модели.
Вариант 4. В процессе тестирования программы 1-я группа нашла 5 ошибок, 2-я группа нашла 40
ошибок, общих ошибок было 5.
4. Оформите отчет по выполнению практической работы, в котором отразите: номер работы, тему,
цель, задание, результаты, ответы на контрольные вопросы, вывод.
Контрольные вопросы
1. Какие статические модели оценки надежности программного средства существуют?
2. В чем особенность простой интуитивной модели оценки надежности программного обеспечения?
3. Каким образом можно оценить надёжность программы по модели Миллса?
Download