Get in touch
or send us a question?
CONTACT

Phân biệt Issue, Bug, Defect, Error, Fault và Failure

Trong kiểm thử phần mềm có rất nhiều khái niệm dễ gây nhầm lẫn nếu chúng ta chưa nắm rõ các khái niệm hoặc chưa trải qua các giai đoạn đúng với từng bản chất của nó.

Ở bài viết này sẽ giới thiệu và phân biệt một vài khái niệm về Issue, Bug, Defect, Error, Fault và Failure

Issure – Error – Fault – Failure – Defect – Bug

Issue: là bất cứ vấn đề gì liên quan đến dự án trong quá trình Implement hoặc giai đoạn chuyển giao. Chẳng hạn như về nhân sự, tiến độ, chiến lược, quản lí, hệ thống, thiết bị, Q&A, …

Error: Là hành động của con người dẫn đến kết quả sai.

Ví dụ: Developer đặt tên biến cho 1 function sai cú pháp, dẫn đến khi gọi biến này thì không ra kết quả.


Fault:
 Lỗi xảy ra khi làm sai các step, process, hoặc chuẩn bị dữ liệu.
Ví dụ: khi bạn test API, bạn muốn login thành công vào 1 app thì sẽ luôn có 1 token được trả về từ server.
Fault => Server không có token trả về, và bạn vẫn login thành công.


Failure:
 Lỗi khi có kết quả sai lệch so với yêu cầu đặc tả, là sự khác biệt giữa kết quả thực tế trên màn hình và kết quả mong đợi của một thành phần, hệ thống hoặc service nào đó.

Ví dụ: khách hàng yêu cầu server có thể hoạt động tốt khi có 1000 user.

Tuy nhiên trên thực tế server chỉ có thể hoạt động tốt khi có 900 user.

Chú ý: Không phải 100% failure là do bug gây ra, trong quá trình test cấu hình sai, test sai môi trường hoặc làm thiếu bước có thể dẫn đến failure


Defect:
 Lỗi trong quá trình phát triển hoặc lỗi logic(coding or logic) làm cho chương trình hoạt động sai yêu cầu đề ra.(Về cơ bản là giống định nghĩa bug).

Ví dụ: Trong quá trình coding, developer nên get data từ A để hiển thị lên màn hình, tuy nhiên developer hiểu sai logic và get data từ C để hiển thị lên màn hình, dẫn đến bug hiển thị sai data.

Bug: Là một khiếm khuyết trong một thành phần hoặc hệ thống mà nó có thể làm cho thành phần hoặc hệ thống này không thực hiện đúng chức năng yêu cầu của nó, ví dụ như thông báo sai hoặc định nghĩa dữ liệu không đúng.

Một bug, nếu gặp phải trong quá trình hệ thống hoạt động, có thể gây ra failure trong thành phần hoặc hệ thống đó.

Phân biệt Issue, Bug, Defect, Error, Fault và Failure | Anh Tester



Tóm lại: con người gây ra error, mistake trong code, tài liệu,… => dẫn đến có bug, defect hoặc fault trong code, tài liệu => khi thực thi chương trình thì bắt gặp failure. Và tất cả các thứ này gọi chung là Issue hay các vấn đề cần phải giải quyết.


Một số khái niệm khác:

Buggy: là chương trình có số lượng lớn các bug.
Bug reports: là báo cáo chi tiết về bug.
Bug tracking tools: là công cụ theo dõi bug (GitHub, GitLab, Open Projects, Redmine, Jira, …).
Debugging: là tiến trình tìm ra lỗi trong code.
Bebugging: thêm lỗi đã biết vào ứng dụng nhằm giám sát tốc độ phát hiện và loại bỏ lỗi.


Tham khảo: