Junior
Катачылыктардын оорлуулук деңгээлинин (чоңдуулук) даражасы кайдан көз каранды?
sobes.tech AI
AIден жооп
Катаңдык деңгээлинин (severity) даражасы ақаанын таасири программалык продукттун функционалдуулугуна, туруктуулугуна же коопсуздугуна жараша болот. Колдонуучу же бизнес үчүн потенциалдуу зыян бааланат.
Катаңдыкка таасир эткен негизги факторлор:
- Функционалдуулуктун маанилүүлүгү: Тийиштүү функция программаны иштетүү үчүн канчалык маанилүү.
- Негизги операцияларга таасир: Ақаа негизги тапшырмаларды аткарууга тоскоол болобу.
- Маалымат же акча жоготуусу: Ақаа маалыматтын чыгышына же жоготулушуна, ошондой эле каржылык чыгымдарга алып келеби.
- Жүйөнүн жеткиликтүүлүгү: Ақаа колдонмонун колдонулушун толугу менен же жарым-жартылай бөгөттөйбү.
- Альтернативдүү жолдун болушу: Иш-аракетти аткаруунун башка жолдору барбы.
- Көбүнчө кездешүү деңгээли: Ақаа канчалык көп кездешет (бул көбүнчө артыкчылык фактору, бирок ал да severity-га таасир этиши мүмкүн, эгер ал критикалык жана дайыма көрүнүп турса).
Типтүү severity деңгээлдери (проектке жана компанияга жараша өзгөрүшү мүмкүн):
- Blocker: Продукт толугу менен колдонулбайт, эң маанилүү функция бөгөттөлгөн, ишти же тестирлөөнү улантуу мүмкүн эмес. Маалымат же акча жоготуулары кепилденген.
- Critical: Критикалык маанидеги функция иштебейт же туура эмес иштейт. Негизги операциялар катуу бузулган, бирок бөлөк иштөө мүмкүн. Айлана-чөйрөдө өтүү мүмкүн эмес.
- Major: Маанилүү, бирок критикалык эмес функция иштебейт же туура эмес иштейт. Негизги операцияларда бузуу болушу мүмкүн, бирок ал өтүү жолу бар. Маалымат жоготуу мүмкүн, бирок ал критикалык эмес.
- Minor: Кичинекей функционалдык бузуу же колдонуучу ыңгайлуулук маселеси. Негизги операцияларга таасир этпейт. Жөнөкөй өтүү жолу бар.
- Trivial: Эстетикалык кемчиликтер, тексттеги каталар, алар функционалдуулукка таасир этпейт.
// Ақаанын түрүнө жана анын таасирине жараша severity аныктоо мисалы
enum DefectSeverity {
case blocker, critical, major, minor, trivial
}
func determineSeverity(defectFunctionality: FunctionalityLevel, impact: ImpactLevel) -> DefectSeverity {
switch (defectFunctionality, impact) {
case (.critical, .blocksAll): return .blocker // Критикалык функция, толук бөгөт
case (.critical, .majorIssue): return .critical // Критикалык функция, олуттуу көйгөйлөр
case (.essential, .blocksAll): return .critical // Негизги функция, толук бөгөт
case (.essential, .majorIssue): return .major // Негизги функция, олуттуу көйгөйлөр
case (_, .minorIssue): return .minor // Кичинекей көйгөйлөр
case (_, .cosmetic): return .trivial // Эстетикалык көйгөйлөр
default: return .minor // Стандарттык мааниси
}
}
enum FunctionalityLevel {
case critical, essential, minor
}
enum ImpactLevel {
case blocksAll, majorIssue, minorIssue, cosmetic
}
// Колдонуу:
let severity = determineSeverity(defectFunctionality: .critical, impact: .blocksAll)
print(severity) // Чыгуу: blocker