Bug là một yếu tố rất "đáng sợ" mà bất kỳ lập trình viên nào cũng mong tránh khỏi nó. Sau đây là các lỗi thường gặp trong Software Development.
Dù muốn hay không thì Bug vẫn luôn xuất hiện trong quá trình thiết kế sản phẩm. Lúc này, Developer nên biết cách lọc ra và Debug, thay vì than vãn và trốn chạy một cách tuyệt vọng. Hôm nay, Tự Học Lập Trình sẽ giới thiệu đến mọi người bài viết này, nhằm giúp bạn phân loại được mức độ nghiêm trọng của Bug và biết mình nên ưu tiên gỡ lỗi nào trước.
Có 3 cách phân loại lỗi, cụ thể như sau:
- Theo mức độ nghiêm trọng.
- Theo hình thức.
- Theo tần suất.
Phân loại lỗi theo mức độ nghiêm trọng
Mức độ nghiêm trọng cho biết tầm ảnh hưởng của Bug đối với phần mềm. Khi đánh giá điều này, cũng cần xét trên thực tế, một lỗi có thể được coi là nghiêm trọng trên sản phẩm A nhưng chỉ là một vấn đề nhỏ trên sản phẩm B.
Block (lỗi nghiêm trọng)
Nó ngăn người sử dụng được phép làm điều mình muốn, bị chặn lại và không thể thao tác xa hơn. 99% lỗi này thuộc về chức năng. Chẳng hạn như link bị hỏng không thể truy cập được, không tải được trang, không nộp được biểu mẫu...
Major (lỗi lớn)
Khi gặp phải lỗi này, người dùng vẫn có thể thực hiện hành động. Tuy nhiên, quá trình thao tác đầy những rắc rối, khiến họ vô cùng khó chịu. Chẳng hạn như trang phải mất tận 10 giây mới có thể tải được, ảnh sản phẩm bị kéo méo mó, mất âm thanh khi xem video...
Minor (lỗi nhỏ)
Nó không ảnh hưởng nhiều đến người dùng khi duyệt web hay mở bất kỳ một ứng dụng nào đó, tuy nhiên chúng ta vẫn cần phải xem xét và khắc phục để sản phẩm đạt được sự hoàn hảo. Người quản lý dự án sẽ quyết định có nên ưu tiên Debug hay không, vì việc sửa chữa sẽ gây ra tình trạng lợi ích bị thụt giảm. Các lỗi này thường nằm dưới các dạng như sai chính tả, ảnh bị mờ, font chữ không đồng nhất...
Suggestion (gợi ý)
Thực chất thì đây không phải là lỗi, nghĩa là sản phẩm vẫn hoạt động bình thường theo đúng những gì được đề ra, nhưng có thể nó lại không tuân theo chuẩn web.
Phân loại lỗi theo hình thức
- Lỗi chức năng (Functional Bug): Đây là lỗi quan trọng liên quan tới vấn đề thao tác, nó chỉ có thể được tìm thấy khi người dùng thực hiện một hành động nào đó nhưng sản phẩm lại không phản hồi như mong muốn. Có thể kể đến một số trường hợp như cuộn trang không được dù có nội dung bên dưới, ứng dụng không hoạt động ở chế độ máy bay...
- Lỗi đồ họa (Graphical Bug): Đây là lỗi tĩnh, liên quan nhiều tới giao diện trang. Chẳng hạn như hình ảnh bị mờ, méo mó, không cân xứng...
- Lỗi từ ngữ (Wording Bug): Đây là lỗi thuộc về nội dung văn bản, như sai chính tả, ngữ pháp, không đồng nhất cách viết...
- Yếu tố con người (Ergonomics): Các vấn đề này liên quan tới trải nghiệm người dùng, đây có thể là lỗi nhưng phần lớn chỉ là gợi ý mà thôi. Một vài trường hợp thường thấy ở yếu tố này là logo đặt ở vị trí không thích hợp, thanh điều hướng quá lớn, chữ quá nhỏ...
- Lỗi hoạt động (Performance Bug): Nó liên quan tới môi trường kỹ thuật. Chẳng hạn như thời gian tải trang lâu, bị gián đoạn trong khi duyệt web...
Phân loại lỗi theo tần suất
Tần suất là mức độ thường xuyên mà lỗi có thể lặp lại, được chia thành 3 mức độ chính như sau:
- Luôn luôn: Phần lớn lỗi sẽ lặp đi lặp lại nhiều lần, cho tới khi bạn khắc phục được chúng. Trong trường hợp này, Bug rất dễ phát hiện, người phát triển sẽ hiểu nguồn gốc lỗi và biết mình nên kiểm tra từ đâu.
- Ngẫu nhiên: Những lỗi này được coi là "khó chiều" nhất, chúng xảy ra mà không quan tâm đến bất kỳ điều kiện nào.
- Một lần: Bug chỉ xuất hiện 1 lần duy nhất, thường thì người quản lý sản phẩm cũng không quan tâm đến lỗi này.