Это не официальный сайт wikipedia.org 01.01.2023

Статистическая модель Миллса — Википедия

Статистическая модель Миллса

Модель Миллса — способ оценки количества ошибок в программном коде, созданный в 1972 году программистом Харланом Миллсом[1]. Он получил широкое распространение благодаря своей простоте и интуитивной привлекательности[2].

МетодологияПравить

Допустим, имеется программный код, в котором присутствует заранее неизвестное количество ошибок (багов) N  , требующее максимально точной оценки. Для получения этой величины можно внести в программный код M   дополнительных ошибок, о наличии которых ничего не известно специалистам по тестированию[3][1].

Предположим, что после проведения тестирования было обнаружено n   естественных ошибок (где n < N  ) и m   искусственных (где m < M  ). Тогда, полное количество оставшихся ошибок можно оценить предположив, что вероятности обнаружить естественную и искусственную ошибку одинаковы и зависят только от их полного количества. Тогда процент естественных и внесённых ошибок должен быть одинаков и выполняется следующее соотношение n N = m M  [1][4].

Из которого следует, что оценка полного количества естественных ошибок в коде равна N = n M m  , а количество всё ещё не выловленных багов кода равно разности N n  [1][5]. Сам Миллс полагал, что процесс тестирования необходимо сопровождать постоянным обновлением графиков для оценки количества ошибок[6].

Очевидно, что такой подход не лишён недостатков. Например, если найдено 100% искусственных ошибок, то значит и естественных ошибок было найдено около 100%. Причём, чем меньше было внесено искусственных ошибок, тем больше вероятность того, что все они будут обнаружены. Из чего следует заведомо абсурдное следствие: если была внесена всего одна ошибка, которая была обнаружена при тестировании, значит ошибок в коде больше нет[6].

В целях количественной оценки доверия модели был введён следующий эмпирический критерий: C = { 1 , при  n > N , M M + N + 1 , при  n N .  

Уровень значимости C   оценивает вероятность, с которой модель будет правильно отклонять ложное предположение[7][6]. Выражение для C   было сконструировано Миллсом[7], но в силу своей эмпирической природы при необходимости оно допускает некоторую вариативность в разумных пределах[8].

Исходя из формулы для C   можно получить оценку количества искусственно вносимых багов M   для достижения нужной меры доверия C  . Это количество даётся выражением вида M = C ( N + 1 ) 1 C  [8].

Слабостью подхода Миллса является необходимость вести тестирование продукта до обнаружения абсолютно всех искусственно введённых багов, однако существуют обобщения этой модели, где это ограничение снято[7]. Например, если порог на допустимое количество из обнаруженных внесённых ошибок равен величине j   ( j < M  ), то критерий перезаписывается следующим образом: C = { 1 , при  n > N , ( M j 1 ) ( N + M + 1 N + j ) , при  n N ,  

ПримечанияПравить

  1. 1 2 3 4 Плаксин, 2013, с. 71.
  2. Майерс, 1980, с. 338.
  3. Майерс, 1980, с. 336.
  4. Pham, 2006, p. 160.
  5. Pham, 2006, p. 161.
  6. 1 2 3 Плаксин, 2013, с. 72.
  7. 1 2 3 Майерс, 1980, с. 337.
  8. 1 2 Плаксин, 2013, с. 73.

ИсточникиПравить

  • Г. Майерс. Статистическая модель Миллса // Надёжность программного обеспечения = Software Reliability. Principles and Practices / В. Ш. Кауфман. — М. : «Мир», 1980. — С. 336.
  • М. Плаксин. Модель Миллса // Тестирование и отладка программ для профессионалов будущих и настоящих. — 2-е изд. — М. : БИНОМ, 2013. — С. 71. — 167 с. — ISBN 978-5-9963-0946-7.
  • H. Pham. Mills' Error Seeding Model // System Software Reliability. — Springer, 2006. — P. 159. — (Springer series in reliability engineering). — ISBN 978-1-85233-950-0.