Vòng đời của bug trong kiểm thử phần mềm giúp những người chịu trách nhiệm, quản lý dễ dàng hơn và có thể thay đổi trạng thái cho đến khi bug bị loại hoàn toàn khỏi hệ thống. Bài viết sau sẽ giúp bạn hiểu chi tiết về từng trạng thái của bug trong kiểm thử phần mềm.
Tham khảo: Khoá học kiểm thử phần mềm
Vòng đời của bug/defect trong kiểm thử phần mềm là tổng hợp các trạng thái trải qua trong vòng đời của nó. Như đã đề cập, vòng đời của bug/defect được tạo nên để giúp những người chịu trách nhiệm thuận tiện hơn khi quản lý, thay đổi trạng thái cho đến khi nó bị loại khỏi phần mềm.
Đối với kiểm thử viên, mục tiêu chính không chỉ có tìm kiếm, phát hiện bug/defect mà cần theo dõi cho đến khi nó không còn tồn tại trên hệ thống. Do đó, vòng đời của bug/defect trong kiểm thử phần mềm sẽ được tính từ lúc tester tìm thấy bug/defect cho đến khi close nó.
Tổng hợp các trạng thái của bug/defect
Vòng đời của bug/defect được xác định từ khi tester phát hiện ra nó cho đến khi loại bỏ hoàn toàn khỏi hệ thống. Bao gồm các trạng thái sau:
-
New
-
Assigned
-
Open
-
Fixed
-
Pending retest
-
Retest
-
Verified
-
Reopen
-
Closed
-
Duplicate
-
Rejected
-
Deferred
-
Not a bug
New
Tester thực thi test case và đầu ra của test case nhưng kết quả không đúng như mong đợi thì được gọi là bug/defect. Tức là, giữa kết quả thực tế và kết quả mong muốn có sự khác biệt, khi đó, bug này cần được fix bởi lập trình viên. Tester sẽ log bug/defect cho test leader.
Assigned
Test leader sẽ kiểm tra, nếu bug/defect hợp lệ sẽ phê duyệt, chuyển giao cho nhóm lập trình viên. Tuy nhiên, thực tế vẫn có một số công ty tester sẽ trực tiếp gán bug cho lập trình viên chứ không cần thông qua team leader.
Open
Khi nhận được bug từ test leader, lập trình viên sẽ xem xét, phân tích bug. Sau đó, lập trình viên sẽ tiến hành fix bug/defect cho đúng với yêu cầu và chuyển đến cho tester kiểm tra lại.
Fixed
Khi lập trình viên fix bug/defect bằng cách sửa code và xác nhận là fix xong, bug/defect sẽ được chuyển sang trạng thái “fixed/đã sửa”.
Pending retest
Lập trình viên sẽ bàn giao bug/defect cho kiểm thử viên. Vì quá trình kiểm thử đang diễn ra cho nên trạng thái sẽ được chỉ định là “pending retest/kiểm tra lại đang chờ xử lý”.
Retest
Kiểm thử viên tiến hành test lại chương trình để kiểm tra xem lỗi đã được fixed hay chưa và thay đổi trạng thái thành “retest/kiểm tra lại”.
Verified
Tester sẽ kiểm tra lại bug/defect khi lập trình viên fixed. Bug/defect được sửa và gán trạng thái “verified/đã được xác minh” nếu không tìm thấy bug/defect trong phần mềm.
Reopen
Sau khi lập trình viên đã sửa nhưng bug/defect vẫn tồn tại, tester sẽ thay đổi trạng thái thành “Reopen/mở lại”. Bug/defect sẽ quay trở lại chu kỳ mới.
Closed
Nếu không còn bug/defect trên hệ thống, tester sẽ gán trạng thái “closed/đã đóng”.
Duplicate
Nếu bug/defect được lặp lại hai lần hay lỗi tương ứng với cùng một khái niệm về bug/defect, trạng thái sẽ được thay đổi thành “duplicate/trùng lặp”.
Rejected
Nếu lập trình viên thấy bug/defect không phải là khiếm khuyết thực sự thì nó sẽ được chuyển thành trạng thái “rejected/loại bỏ”.
Deferred
Nếu dự kiến sửa bug/defect trong những bản phát hành tiếp theo và nếu bug/defect không phải là ưu tiên chính, nó sẽ được chuyển trạng thái thành “deferred/trì hoãn”.
Not a bug
Nếu bug/defect không ảnh hưởng đến chức năng của ứng dụng thì trạng thái được gán cho nó sẽ là “not a bug/không phải là lỗi”.
Giải thích về vòng đời của bug/defect
Vòng đời của bug/defect trong kiểm thử phần mềm được giải thích như sau:
-
Tester phát hiện bug/defect
-
Gán trạng thái cho bug/defect
-
Chuyển bug/defect sang cho test leader
-
Test leader xem xét bug/defect có hợp lệ không
-
Nếu bug/defect không hợp lệ nó sẽ được gán trạng thái “rejected/đã từ chối”
-
Nếu bug/defect không bị rejected thì bước tiếp theo là kiểm tra xem nó có nằm trong phạm vi không. Nếu bug/defect không nằm trong scope của lần phát hành phần mềm lần này, nó sẽ được gán trạng thái “postponed/hoãn”.
-
Test leader tiến hành xác minh xem có bug/defect tương tự được phát hiện trước đó hay chưa. Nếu có, bug/defect sẽ được chuyển trạng thái “duplicate/trùng lặp”.
-
Nếu không có bất cứ vấn đề gì trong khi lập trình viên fix bug/defect, nó sẽ được gán trạng thái “in-progress/đang tiến hành”.
-
Khi code được fixed, trạng thái “fixed/đã sửa xong” sẽ được gán cho bug/defect.
-
Tester sẽ test lại phần code vừa được chỉnh sửa. Trường hợp test cases liên quan đều passed thì bug đó được gán trạng thái “closed”. Nếu các trường hợp kiểm thử không thành công thêm một lần nữa, lỗi sẽ được chuyển trạng thái “re-opend/mở lại” và được chuyển sang cho lập trình viên.
-
Xem xét một tình huống trong lần release đầu tiên, một lỗi được phát hiện theo thứ tự fax đã được sửa và gán trạng thái “đóng”. Đến lần nâng cấp thứ hai, lỗi tương tự lại xuất hiện. Khi đó, một khiếm khuyết kín sẽ được mở lại.
Như vậy, vòng đời của bug trong kiểm thử phần mềm là tập hợp tất cả trạng thái cụ thể mà bug trải qua trong toàn bộ vòng đời của nó. Nhờ có vòng đời kiểm thử phần mềm mà những người chịu trách nhiệm với bug có thể quản lý, thay đổi trạng thái dễ dàng hơn cho đến khi bug được loại bỏ hoàn toàn khỏi hệ thống.
Bài viết liên quan: