Tóm tắt nội dung
Severity giúp đánh giá mức độ ảnh hưởng của các lỗi trên hệ thống và xác định độ ưu tiên của các vấn đề cần được sửa chữa. Vậy Severity là gì? Severity và Priority có sự khác biệt như thế nào? Trong bài viết này, chúng ta sẽ cùng tìm hiểu về mức độ nghiêm trọng trong kiểm thử phần mềm và những khái niệm liên quan đến nó.
Severity là gì?

Severity hay chính là mức độ nghiêm trọng trong kiểm thử phần mềm. Được định nghĩa là mức độ ảnh hưởng của lỗi đối với sự phát triển hoặc hoạt động của thành phần ứng dụng đang được thử nghiệm.
Hiệu quả cao hơn đối với chức năng hệ thống sẽ dẫn đến việc gán mức độ nghiêm trọng cao hơn cho lỗi.
Priority là gì?
Priority hay chính là mức độ ưu tiên trong kiểm thử phần mềm. Được định nghĩa là thứ tự lỗi cần sửa. Lỗi ưu tiên càng cao thì càng cần giải quyết sớm.
Các lỗi khiến hệ thống phần mềm không sử dụng được ưu tiên cao hơn. Nó khiến một chức năng nhỏ của phần mềm bị lỗi.
Các mức độ Severity và Priority của lỗi
Các mức độ Severity của lỗi
Critical (Nghiêm trọng) : Lỗi ở cấp độ này có nghĩa là xử lý của hệ thống bị ngừng hoàn toàn, không có gì có thể tiến hành thêm bất kỳ xử lý gì khác.
Major/High (Quan trọng) : Lỗi ở cấp độ này là rất nghiêm trọng và làm sập hệ thống. Tuy nhiên, một số phần của hệ thống vẫn hoạt động.
Medium (Trung bình) : Lỗi ở cấp độ này gây ra một số hành vi không mong muốn, nhưng hệ thống vẫn hoạt động.
Low (Thấp) : Lỗi ở cấp độ này sẽ không gây ra bất kỳ sự cố lớn nào của hệ thống.

Các mức độ Priority của lỗi
Low (Thấp) : Lỗi ở mức độ ưu tiên này là một tác nhân gây khó chịu nhưng việc sửa chữa có thể được thực hiện một khi lỗi nghiêm trọng hơn đã được khắc phục.
Medium (Trung bình) : Trong quá trình bình thường của các hoạt động phát triển, lỗi ở mức độ ưu tiên này nên được giải quyết. Nó có thể đợi cho đến khi một phiên bản mới được tạo ra.
High (Cao) : Lỗi ở mức độ ưu tiên này phải được giải quyết càng sớm càng tốt vì nó ảnh hưởng nghiêm trọng đến hệ thống và không thể được sử dụng cho đến khi được khắc phục
Hai phương pháp hữu hiệu để xác định Severity của lỗi

Quyết định dựa trên tần suất xuất hiện: Trong một số trường hợp, nếu sự xuất hiện của một lỗi nhỏ thường xảy ra trong code, nó có thể trở nên nghiêm trọng hơn. Vì vậy, từ quan điểm của người dùng, nó là nghiêm trọng hơn mặc dù đó là một lỗi nhỏ.
Cô lập khuyết điểm: Cô lập khuyết điểm có thể giúp tìm ra mức độ nghiêm trọng của tác động.
Sự khác biệt chính giữa Severity và Priority

Severity | Priority |
Được định nghĩa là mức độ ảnh hưởng của lỗi đối với sự phát triển hoặc hoạt động của thành phần ứng dụng | Cho biết thứ tự lỗi cần sửa |
Có 4 mức độ của lỗi: Critical (Nghiêm trọng), Major/High (Quan trọng), Medium (Trung bình), Low (Thấp) | Có 3 mức độ: Low (Thấp), Medium (Trung bình), High (Cao) |
Được liên kết với các chức năng và các tiêu chuẩn | Liên quan đến việc lập kế hoạch |
Cho thấy mức độ nghiêm trọng của lỗi trên chức năng sản phẩm | Cho biết lỗi cần được sửa sớm như thế nào |
QA hoặc Tester là người xác định Severity của lỗi | Được quyết định bởi sự tư vấn của người quản lý/ khách hàng |
Được điều khiển bởi chức năng | Được thúc đẩy bởi giá trị kinh doanh |
Giá trị của Severity là khách quan và ít thay đổi | Giá trị của Priority là chủ quan và có thể thay đổi trong một khoảng thời gian |
Trong SIT, nhóm phát triển sẽ sửa lỗi dựa trên severity, sau đó đến Priority | Trong UAT, nhóm phát triển sửa lỗi dựa trên mức độ ưu tiên |
Nguyên tắc mà mọi tester nên xem xét trước khi chọn Severity
Thông số mức độ nghiêm trọng được đánh giá bởi tester. Trong khi mức độ ưu tiên được đánh giá bởi người quản lý sản phẩm hoặc bởi khách hàng. Để ưu tiên cho lỗi, bắt buộc tester phải chọn đúng mức độ nghiêm trọng. Điều này cũng để tránh nhầm lẫn cho nhóm phát triển.

Chính vì vậy, các tester luôn cần phải ngầm hiểu rõ được những nguyên tắc khi chọn Severity dưới đây:
- Hiểu rõ khái niệm mức độ ưu tiên và mức độ nghiêm trọng.
- Luôn chỉ định mức độ nghiêm trọng dựa trên loại sự cố. Vì điều này sẽ ảnh hưởng đến mức độ ưu tiên của nó.
- Hiểu cụ thể và chính xác Scenario hoặc Test Case sẽ ảnh hưởng như thế nào đến người dùng cuối.
- Cần xem xét mất bao nhiêu thời gian để sửa lỗi dựa trên độ phức tạp và thời gian để xác minh lỗi.
>>> Xem thêm: Test case là gì? Cách viết test case hiệu quả
Severity đóng vai trò quan trọng trong việc đánh giá các lỗi trong phần mềm và xác định độ ưu tiên của các vấn đề cần được sửa chữa. Việc đánh giá chính xác mức độ nghiêm trọng của các lỗi sẽ giúp cho việc phát hiện, sửa chữa và kiểm thử phần mềm trở nên hiệu quả hơn. Hy vọng với những chia sẻ của bài viết đã giúp bạn giải đáp những thắc mắc về Severity.