Какими метриками измеряется надежность программного обеспечения?

«Какими метриками измеряется надежность программного обеспечения?» — вопрос из категории Тестирование производительности, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Надежность ПО — это вероятность его безотказной работы в заданных условиях за определенный период времени. Измеряется с помощью следующих ключевых метрик:

Метрика Описание Формула Пример
MTBF (Mean Time Between Failures) Среднее время между отказами системы. Показывает, как долго система работает стабильно. MTBF = (Общее время работы) / (Количество отказов) Если за 1000 часов работы произошло 2 отказа, MTBF = 1000 / 2 = 500 часов.
MTTR (Mean Time To Repair) Среднее время на восстановление после отказа. Включает диагностику, исправление и проверку. MTTR = (Суммарное время простоя) / (Количество отказов) Если два простоя длились 1 и 3 часа, MTTR = (1+3) / 2 = 2 часа.
Доступность (Availability) Процент времени, когда система работоспособна и доступна для пользователей. Ключевой показатель надежности. Доступность = [MTBF / (MTBF + MTTR)] * 100% При MTBF = 500 ч и MTTR = 2 ч, Доступность = 500 / (500+2) * 100% ≈ 99.6%.
Частота отказов (Failure Rate) Количество отказов за единицу времени (например, в час). λ = (Количество отказов) / (Общее время работы) 2 отказа за 1000 часов: λ = 2/1000 = 0.002 отказа/час.

На практике эти метрики собираются системами мониторинга (Prometheus, Grafana) и используются для расчета SLA/SLO и планирования работ по улучшению стабильности.