НиД (10) - Лекция №16 - Надёжность ПО: различия между версиями

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску
(Новая страница: «{{Backward|l=НиД (10) - Лекция №15 - Техническое обслуживание системы}} __TOC__ == Надёжность программ…»)
 
м (→‎Модель Милса: поломанные формулы)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 23: Строка 23:
Есть две группы тестировщиков:
Есть две группы тестировщиков:


{{Формула|f=$E_1 = \frac{N_1}{N}$}}
{{Формула|f=E_1=\frac{N_1}{N} }}


{{Формула|f=$E_2 = \frac{N_2}{N}$}}
{{Формула|f=E_2=\frac{N_2}{N} }}


где:
где:
Строка 32: Строка 32:
: {{Формула|f=N}} - общее число ошибок.
: {{Формула|f=N}} - общее число ошибок.


{{Формула|f=$E_1 = \frac{N_{12} }{E_1\cdot E_2}$}}
{{Формула|f=E=\frac{N_{12} }{E_1\cdot E_2} }}


{{Формула|f=$E_1 = \frac{N_1}{N} = \frac{N_{12} }{N_2}$}}
{{Формула|f=E=\frac{N_1}{N} = \frac{N_{12} }{N_2} }}


Пусть группы обнаружили соответственно 20 и 25 ошибок. Из них общих 5.
Пусть группы обнаружили соответственно 20 и 25 ошибок. Из них общих 5.


{{Формула|f=$E_1 = 0.2$}}
{{Формула|f=E_1 = 0.2}}


{{Формула|f=$E_2 = 0.25$}}
{{Формула|f=E_2 = 0.25}}


{{Формула|f=$N = 100$}}
{{Формула|f=N = 100}}


=== Модель Милса ===
=== Модель Милса ===
Строка 50: Строка 50:
Пусть в ПО внесено {{Формула|f=S}} ошибок. В результате тестирования обнаружено {{Формула|f=n}} ошибок собственных и {{Формула|f=r}} ошибок внесённых.
Пусть в ПО внесено {{Формула|f=S}} ошибок. В результате тестирования обнаружено {{Формула|f=n}} ошибок собственных и {{Формула|f=r}} ошибок внесённых.


{{Формула|f=$N = \frac{S\cdot n}{r}$}}
{{Формула|f=N = \frac{S\cdot n}{r} }}


[[Категория:Надёжность и достоверность (10 семестр)]]
[[Категория:Надёжность и достоверность (10 семестр)]]
[[Категория:Конспекты лекций и семинаров]]
[[Категория:Конспекты лекций и семинаров]]

Текущая версия от 17:19, 14 апреля 2024

...начало

Надёжность программного обеспечения

Два способа анализа надёжности ПО:

  1. создание моделей (прогнозирование ошибок);
  2. на этапе проектирования.

Интенсивность отказов ПО, по сравнению в техническим (аппаратным) обеспечением, со временем только уменьшается.

Стоимость ПО складывается из:

  • сопровождение - 50%;
  • тестирование - 20%;
  • проектирование - 15%;
  • программирование - 15%.

Чем больше тестировать ПО, тем меньше в нём останется ошибок. Нужно каким-то образом определять количество ошибок, иначе тестировать можно бесконечно.

Бывают ошибки программирования, но чаще всего некорректным является само ТЗ (техническое задание). В этом случае ПО удовлетворяет своей спецификации, но не является корректным.

Модель прогнозирования числа невыявленных ошибок

Есть две группы тестировщиков:

$$E_1=\frac{N_1}{N}$$

$$E_2=\frac{N_2}{N}$$

где:

$$Е_i$$ - эффективность группы;
$$N_i$$ - число ошибок, найдённое группой;
$$N$$ - общее число ошибок.

$$E=\frac{N_{12} }{E_1\cdot E_2}$$

$$E=\frac{N_1}{N} = \frac{N_{12} }{N_2}$$

Пусть группы обнаружили соответственно 20 и 25 ошибок. Из них общих 5.

$$E_1 = 0.2$$

$$E_2 = 0.25$$

$$N = 100$$

Модель Милса

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

Пусть в ПО внесено $$S$$ ошибок. В результате тестирования обнаружено $$n$$ ошибок собственных и $$r$$ ошибок внесённых.

$$N = \frac{S\cdot n}{r}$$