218 Глава 5
Метрики ошибок. Обнаружение и своевременное устранение ошибок – ос-
новная задача процессов контроля качества ПС. Между тем, ни за рубежом, ни в
Украине, не достигнуто согласия по определению основных понятий в этой облас-
ти – дефект, ошибка, отказ. Эти понятия по-разному определяются не только в на-
учной литературе по качеству и надежности программного обеспечения, но и в
стандартах. Проще всего поступили разработчики стандарта IEEE Std.1044 «Stan-
dard Classification for Software Anomalies» (Стандартная классификация аномалий
программного обеспечения), которые предпочли использовать единый термин
«аномалия» (anomaly) вместо других – error, fault, failure, incident, flaw, problem,
gripe, glitch, defect или bug
5
- что для целей этого стандарта оправданно. В Украине
положение усугубляется внесением «погрешностей перевода» специальных терми-
нов в переводную литературу. Поэтому в данном изложении мы даем свое толкова-
ние используемых терминов и указываем их приемлемые английские эквиваленты.
Существуют глубокие причинно-следственные связи между отказами ПС в
эксплуатации, дефектами в поставляемом программном обеспечении, ошибками
разработчика и изъянами в процессах создания ПС (рисунок 5.13).
Отказ (failure) - событие перехода ПС из работоспособного состояния в не-
работоспособное или получения результатов, которые находятся вне области до-
пустимых значений.
Отказы ПС могут быть обусловлены как внешними причинами (ошибками
элементов среды функционирования, в том числе человека-оператора), так и внут-
ренними причинами - дефектами в ПС.
Дефект (defect) в ПС – запись элемента программы (кода) или текста доку-
мента (рабочего продукта), использование которой может привести к событию, за-
ключающемуся в неправильной интерпретации этого элемента компьютером
(ошибке (fault) в программе - ошибочному состоянию программы) или человеком
(ошибке (error) исполнителя – заблуждению исполнителя).
Дефект всегда является следствием ошибки исполнителя процесса на любом
из этапов разработки. Дефектом могут обладать спецификации требований, про-
ектные документы, тексты кода, эксплуатационная документация и т.д. Выходные
рабочие документы одних процессов, содержащие не устраненные при проверке
дефекты, служат входными документами для других процессов, а дефекты в них –
источником ошибок исполнителей этих процессов. Кроме того, ошибки исполните-
лей могут являться следствием изъянов в определении процессов (неправильная
последовательность действий, неправильно выбранный инструмент и др.), способ-
ствующих неправильной интерпретации исходной информации человеком и приня-
тию неверных решений, или просто недостаточной профессиональной зрелостью.
Ошибки исполнителей, в свою очередь, приводят к дефекту в рабочем продукте, и
цикл «ошибка (error) – дефект (defect) – ошибка (error)» повторяется.
Дефекты в коде, не обнаруженные в результате проверок текста кода, служат
источником потенциальных ошибок и отказов ПС. «Сработает» дефект или нет,
зависит от того, по какому сценарию будет работать с программой пользователь, и
«столкнется» ли обработчик кода с неправильным элементом.
5
Правильно перевести эти слова на русский язык можно лишь в том случае, если
точно знать контекст их применения в тексте.