Trong kiểm thử phần mềm, có những thuật ngữ nghe qua rất giống nhau nhưng thực tế chúng lại có những điểm khác biệt. Vậy những điểm khác biệt đó là gì? Hãy cùng tìm hiểu nhé.
NHỮNG THUẬT NGỮ VỀ LỖI PHẦN MỀM
Tùy từng văn hóa và phong cách làm việc của từng công ty mà có những nguyên tắc, định nghĩa khác nhau về lỗi phần mềm. Tuy nhiên về cơ bản vẫn dựa trên các thuật ngữ sau:
- Defect: nhược điểm
- Fault: khuyết điểm
- Failure: sự thất bại
- Issue: vấn đề
- Error: lỗi
- Bug: lỗi
- Feature: đặc trưng
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 đó.
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.
Tham khảo: https://www.360logica.com/blog/difference-between-defect-error-bug-failure-and-fault/