Trong kiểm thử phần mềm “độ ưu tiên” và “mức độ nghiêm trọng” của bug là hai khái niệm được rất nhiều người quan tâm. Dựa vào đó chúng ta có thể xác định được mức độ nghiêm trọng của lỗi cũng như những vấn đề được phát hiện trong quá trình kiểm thử.

Độ ưu tiên và mức độ nghiêm trọng của bug trong kiểm thử phần mềm
1. Priority – Mức độ ưu tiên sửa lỗi
Định nghĩa mức độ ưu tiên
Mức độ ưu tiên được định nghĩa là thứ tự của 1 lỗi nên được fix khi nào. Độ ưu tiên càng cao thì càng phải khắc phục xử lý sớm vấn đề. Những lỗi mà khiến cho phần mềm không sử dụng được nữa thì sẽ được ưu tiên cao hơn 1 chức năng nhỏ bị lỗi.
Mức độ ưu tiên sửa lỗi được chia ra làm 3 loại:
- High: Lỗi phải được khắc phục càng sớm càng tốt, bởi vì nó ảnh hưởng nghiêm trọng đến hệ thống và không thể sử dụng cho đến khi fix xong. Lỗi buộc phải fixed trước khi release.
- Medium: Lỗi cần phải được xử lý trước khi release nhưng có thể fixed muộn hơn. Chúng ta có thể test các phần khác cho đến khi bản mới của lỗi được build.
- Low: Lỗi gây khó chịu và có thể fix sau khi một lỗi khác nghiêm trọng hơn được fix.

Priority – Mức độ ưu tiên sửa lỗi
2. Bug Severity – Mức độ nghiêm trọng của bug
Khái niệm về mức độ nghiêm trọng của bug
Mức độ nghiêm trọng của bug chính là mức độ ảnh hưởng của lỗi đó trên phần mềm mà chúng ta thực hiện test. Ảnh hưởng của lỗi càng cao sẽ dẫn đến mức độ nghiêm trọng cao hơn. QA nên thường xuyên xác định mức độ nghiêm trọng của lỗi.
Trong kiểm thử phần mềm, mức độ nghiêm trọng của lỗi được chia ra làm 4 loại:
- Critical (Nghiêm trọng cấp độ cao): Lỗi này ảnh hưởng nghiêm trọng đến tính năng quan trọng hoặc toàn bộ hệ thống. Phần mềm không hoạt động hoặc có ảnh hưởng gây ra sự cố nghiêm trọng như: mất dữ liệu quan trọng hoặc gây thiệt hại lớn cho người dùng. Cần phải được xử lý ngay lập tức.
- Major (Nghiêm trọng cấp độ trung bình): Lỗi ảnh hưởng đáng kể đến một tính năng quan trọng của hệ thống, tuy nhiên phần mềm vẫn có thể hoạt động được bình thường. Lỗi cấp độ này cần được khắc phục trong thời gian ngắn.
- Medium (Nghiêm trọng cấp độ thấp): Lỗi gây ra những hành vi không mong muốn và hệ thống vẫn hoạt động được.
- Low (Nghiêm trọng không đáng kể): Lỗi nhỏ không đáng kể, không gây ảnh hưởng đến bất kì chức năng nào của hệ thống.

Bug Severity – Mức độ nghiêm trọng của bug
3. Sự khác nhau giữa Priority và Severity

So sánh sự khác nhau giữa priority và severity
4. Cách xác định lỗi và những lỗi thường gặp
4.1. Cách xác định lỗi High, Medium, Low trong kiểm thử phần mềm
Một số cách xác định lỗi High:
- Lỗi khiến cho chương trình không chạy được.
- Lỗi chạy đúng được chức năng kiểm thử nhưng khiến nhiều phần liên quan khác chạy sai.
- Lỗi làm sai so với yêu cầu đã được xác định rõ.
- Lỗi sai nghiệp vụ.
- Lỗi dễ phát hiện và gây ra phản cảm với người sử dụng, ảnh hưởng đến nhiều người.
- Lỗi xuất hiện hàng loạt trong phần mềm.
- Lỗi gây mất dữ liệu hoặc phá hỏng cấu trúc dữ liệu
- Lỗi gây tổn hại tài nguyên của hệ thống một cách nhanh chóng, không thể khôi phục lại được.
- Lỗi không thể thực hiện một số chức năng cơ bản của hệ thống, ảnh hưởng nghiêm trọng đến bước kiểm tra tiếp theo.
- Lỗi liên quan đến tốc độ vận hành của hệ thống rõ ràng không thể chấp nhận được.
- Kết quả thực hiện các chức năng cơ bản của hệ thống sai rõ rệt.
Một số cách xác định lỗi Medium:
- Lỗi có thể sửa nhanh và không thuộc loại xuất hiện hàng loạt.
- Lỗi ở trong phần chức năng mà có yêu cầu thay đổi nhiều lần.
- Lỗi dễ phát hiện nhưng khó sửa và không ảnh hưởng nhiều đến các phần khác.
- Lỗi làm giảm tính thân thiện với người dùng.
Một số cách xác định lỗi Low:
- Có khả năng bị phát hiện thấp và mức độ ảnh hưởng không nhiều: chỉ xuất hiện với 1 số dữ liệu đặc biệt hoặc phải làm nhiều thao tác phức tạp mới tạo ra được.
- Có độ nghiêm trọng thấp và xuất hiện không ổn định.
- Có độ nghiêm trọng không cao nhưng nếu sửa sẽ ảnh hưởng đến các phần khác gây nguy hiểm.
- Không trái với yêu cầu nhưng tốn nhiều công sức để sửa.
4.2. Một số lỗi thường gặp trong kiểm thử phần mềm
Một số lỗi High thường gặp:
- Không load được page mong muốn HTTP Status 500 hoặc HTTP 404).
- Tự động làm người sử dụng thoát khỏi chương trình.
- Trái với yêu cầu đã được tài liệu hóa.
- Không làm đúng với thiết kế.
- Yêu cầu bổ sung một số chức năng.
- Lỗi gây phá vỡ form đối với một số data test đã xác định.
Một số lỗi Medium thường gặp:
- Chưa kiểm tra chặt chẽ các ràng buộc dữ liệu (về độ dài/kiểu/tập giá trị cho phép với mỗi trường dữ liệu, trong khi documented requirements có thể không nêu ra những ràng buộc này).
- Chưa kiểm tra hoặc chưa tự động tính toán một số giá trị về mặt logic.
- Lỗi session timeout.
- Lỗi connect database.
- Chưa bắt lỗi đầy đủ các trường hợp bắt buộc đã được yêu cầu.
Một số lỗi Low thường gặp:
- Yêu cầu thay đổi nhằm đảm bảo tính nhất quán về giao diện, về cách xử lý trong chương trình.
- Thông báo lỗi không chính xác hoặc chưa rõ hoặc sai chính tả.
- Sai trật tự bắt lỗi.
- Sai trật tự tab.
- Thiếu ký tự * bên cạnh các trường bắt buộc (nếu có).
- Sai trạng thái của link.
- Sai tiêu đề form.
Một số lỗi chức năng hay gặp:
- Link từ trang này đến trang khác không hoạt động.
- Link từ trang này đến trang khác bị sai.
- Lỗi khi nhập các thẻ HTML, kí tự đặc biệt, kí tự mở rộng, các đoạn script vào ô text box.
- Không check các trường nhập liệu liên quan đến ngày tháng.
- Không đưa ra 1 trang thông báo lỗi chung cho các trường hợp có lỗi như không kết nối được với DB… mà lại hiển thị trang lỗi của trình duyệt.
- Không hiển thị các thông báo lỗi khi xảy ra lỗi nhập liệu trên màn hình. Cũng có trường hợp hiển thị sai thông báo lỗi.
- Sau khi thực hiện xong 1 action thì không xóa session. Dẫn đến tình trạng dữ liệu cũ được thực hiện nhiều lần khi nhấn F5 của trình duyệt.
- Có thông báo là đã thực hiện xong chức năng nhưng không thấy được ghi vào database.
- Khi có nhiều ô select box liên đới với nhau, sau lựa chọn focus không đúng.
- Lỗi font chữ khi hiển thị ra trên trang.
- Đưa vào một khối lượng lớn dữ liệu làm chương trình không chạy được hoặc bị out luôn.
Một số lỗi bảo mật và kiểm thử hiệu năng hay gặp:
- Từ 1 trang hiện tại, thay đổi 1 vài thuộc tính trên link thì có thể đến một trang khác mà user hiện tại không có quyền trên nó.
- 1 user sau khi đã out ra khỏi hệ thống, dùng back của trình duyệt vẫn có thể thao tác tiếp các chức năng khác của hệ thống.
- Khi có nhiều user cùng truy cập vào hệ thống thì hệ thống không đáp ứng được yêu cầu của khách hàng.
- Chạy các ứng dụng trong một khoảng thời gian xác định thì không đáp ứng được yêu cầu khách hàng.
Một số lỗi giao diện hay gặp:
- Con trỏ không được focus theo một trật tự nhất định trên màn hình.
- Cách trình bày trên trang không đồng nhất: về font chữ, kích thước chữ, kích thước của các button, màu sắc trên các trang.
- Kích thước của các ô select box bị hạn chế (fix cứng) các giá trị trong các ô đó không hiển thị đầy đủ.
- Sau khi báo lỗi con trỏ chưa được focus về trường đầu tiên bị lỗi.
- Layout bị hỏng khi mở trên các trình duyệt khác nhau (các trình duyệt này được yêu cầu từ phía khách hàng).
- Thiếu kí tự * bên cạnh label hạng mục bắt buộc nhập.