Phân biệt sự khác nhau giữa bug, defect, failure và error trong kiểm thử phần mềm
Trong quá trình phát triển phần mềm chúng ta không thể tránh khỏi thứ được gọi là "LỖI PHẦN MỀM". Nghe qua chắc bạn cũng đã hình dung qua về lỗi phần mềm là lỗi code hay sai yêu cầu chức năng. Vậy liệu đó có phải là định nghĩa đúng về lỗi phần mềm? Hãy cùng tôi đi tìm hiểu sâu hơn về Lỗi phần mềm ...
Trong quá trình phát triển phần mềm chúng ta không thể tránh khỏi thứ được gọi là "LỖI PHẦN MỀM". Nghe qua chắc bạn cũng đã hình dung qua về lỗi phần mềm là lỗi code hay sai yêu cầu chức năng. Vậy liệu đó có phải là định nghĩa đúng về lỗi phần mềm? Hãy cùng tôi đi tìm hiểu sâu hơn về Lỗi phần mềm trong bài này 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
- Anomaly: sự dị thường
- Variance: biến dị
- Incident: việc rắc rối
- Problem: vấn đề
- Error: lỗi
- Bug: lỗi
- Feature: đặc trưng
- Inconsistency: sự mâu thuẫn
LỖI PHẦN MỀM XUẤT HIỆN KHI NÀO? Một lỗi phần mềm xuất hiện khi 1 hoặc nhiều hơn trong 5 quy tắc dưới đây là đúng:
- Phần mềm không thực hiện một số thứ giống như mô tả trong bản đặc tả phần mềm
- Phần mềm thực hiện một số việc mà bản đặc tả yêu cầu nó không được thực hiện
- Phần mềm thực hiện một số chức năng mà bản đặc tả không đề cập tới
- Phần mềm không thực hiện một số việc mà bản đặc tả không đề cập tới, nhưng là những việc nên làm
- Trong con mắt của người kiểm thử, phần mềm là khó hiểu, khó sử dụng, chậm đối với người sử dụng
Trong bài này tôi sẽ làm rõ hơn sự khác nhau giữa bug, defect, failure và error trong phần mềm. Đây chắc hẳn đây là những thuật ngữ chúng ta hay gặp nhất, tuy nhiên không phải ai cũng phân biệt rõ ý nghĩa chính xác cũng như trong trường hợp nào thì sử dụng thuật ngữ nào.
- 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 đó. (A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.)
- DEFECT:Lỗi trong qua 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).
- ERROR: Là hành động của con người dẫn đến kết quả sai. (A human action that produces an incorrect result.) [Theo tài liệu IEEE 610]
- Còn Failure chính 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 đó.
Note: 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
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.
Hy vọng bài viết này sẽ giúp ích được cho bạn!
Tham khảo http://www.hoidapit.com.vn/Questions/ViewQuestions/2390/phan-biet-bug-defect-error-va-failure.html https://voer.edu.vn/c/loi-bug-la-gi/4c771e16/32455ae1