Review test case thế nào để KHÔNG lọt case? Quy trình chuẩn + checklist
Đặt vấn đề
Viết xong test case, đọc lại vài lượt thấy ổn — nhưng chính người viết là người khó nhìn ra lỗ hổng của mình nhất. Một nhánh điều kiện bị bỏ quên, một kết quả mong đợi còn mơ hồ, hai case thực ra kiểm cùng một thứ. Review test case là bước soát chéo có hệ thống trước khi thực thi — phát hiện sai sót sớm bao giờ cũng rẻ hơn sửa khi đã chạy case. Bài này gồm quy trình thực tế với hai hình thức (peer review và inspection), checklist cụ thể, và cách dùng AI rà soát ở vòng đầu.
🚀 Thiết lập trong 5 bước
Mất khoảng 10-15 phút lần đầu, sau đó chỉ việc dùng.
- 1Chuẩn bị & chọn người reviewTiêu chí vào (entry): requirement đã chốt, bộ test case + RTM (hoặc danh sách requirement) đã có. Chọn reviewer theo GÓC NHÌN — mỗi người bắt một loại lỗi khác nhau: • Peer QA: kỹ thuật + độ phủ • Dev: giả định setup/tiền điều kiện có khớp code không • BA: case có đúng cái requirement yêu cầu không • Test lead: trùng lặp, độ ưu tiên, chiến lược Chọn hình thức: peer review (nhẹ, async, 1 người soát) cho đa số; inspection (formal, có moderator + scribe, checklist + biên bản) cho module rủi ro cao (thanh toán, bảo mật). Tổ chức file để soát cho dễ: mỗi màn hình lưu một file test case riêng trong thư mục test-cases/ (vd test-cases/dang-nhap.md, test-cases/dang-ky.md). Cách này vừa lưu lại được lịch sử, vừa để Claude Code đọc và review từng file độc lập; kết quả review ghi sang thư mục review/.Chưa có bộ test case? Xem bài Viết test case từ user story
- 2Review theo checklist 7 nhómSoát từng tiêu chí thay vì đọc cảm tính — để không phụ thuộc trí nhớ: ① Độ phủ — mỗi requirement có ≥1 case; đủ happy/negative/biên/bảo mật; có E2E nếu cần; đối chiếu RTM. ② Đúng đắn — kết quả mong đợi đúng nghiệp vụ (không bịa); dữ liệu test hợp lệ; tiền điều kiện khả thi. ③ Rõ ràng — bước cụ thể, chạy lại được; tiêu đề rõ mục tiêu, không mơ hồ. ④ Nhất quán — đúng format/cột chuẩn; quy ước ID; ưu tiên hợp lý. ⑤ Không trùng — không case trùng; mỗi case 1 mục tiêu (atomic). ⑥ Truy vết — mỗi case map tới Req ID. ⑦ Dữ liệu/Môi trường — dữ liệu đủ; nêu rõ môi trường cần. Tải bản checklist Excel (có cột Đánh giá: Đạt/Không đạt/Cần sửa) để tick khi soát:Tải Review Checklist (Excel) ở Kho Template QA
- 3Ghi nhận findings + thảo luậnMỗi vấn đề phát hiện → ghi lại (đừng sửa tại chỗ rồi quên): Case ID | Vấn đề | Nhóm checklist | Mức độ | Đề xuất sửa. Feedback phải CỤ THỂ và mang tính xây dựng ('TC-05 thiếu kết quả mong đợi cho nhánh sai mật khẩu' — không phải 'case này chưa ổn'). Vấn đề cần làm rõ nghiệp vụ → đánh dấu hỏi BA.
- 4Author cập nhật + reviewer verify lạiAuthor sửa bộ test case theo từng finding. Reviewer KIỂM LẠI các fix — đừng đóng finding khi chưa verify (lỗi hay quay lại). Nếu sửa phát sinh case mới, soát nhanh case mới đó luôn. Giữ nguyên format chuẩn khi sửa (mẹo: để Claude Code nhớ format — xem bài 'Claude Code nhớ quy tắc QA').
- 5Chốt — tiêu chí ra (exit)Chỉ đánh dấu 'Approved' khi: hết finding mức Nghiêm trọng/Cao đang mở; độ phủ requirement đạt (RTM không còn dòng trống); format đúng chuẩn. Ghi lại ai duyệt + ngày. Bộ test case giờ sẵn sàng execute.
🔍 2 prompt — kèm chỗ AI hay sai cần bắt
AI sinh kết quả chỉ trong vài giây — việc của bạn là kiểm lại. Mỗi prompt kèm ví dụ kết quả và 🔍 Góc soi lỗi của Tester (chỗ AI hay sai, nên xem trước khi dùng). Bấm Copy → dán vào Claude Code / ChatGPT.
Dùng Claude Code soát NHANH vòng đầu — đọc thẳng các file test case theo màn hình, bắt case trùng / mơ hồ / thiếu kết quả mong đợi, rồi ghi findings ra file.
Đọc tất cả file test case trong thư mục test-cases/ (mỗi file là một màn hình). Đóng vai reviewer QA, soát TỪNG file theo checklist 7 nhóm: Độ phủ, Đúng đắn, Rõ ràng, Nhất quán, Không trùng, Truy vết, Dữ liệu/Môi trường.
Với mỗi vấn đề tìm thấy, ghi một dòng: Case ID | Màn hình (tên file) | Vấn đề | Nhóm | Mức độ | Đề xuất sửa.
Chỉ rõ: case trùng nội dung, case mơ hồ ("kiểm tra chức năng đúng"), case thiếu kết quả mong đợi, thiếu tiền điều kiện. Chỉ dựa trên nội dung file; không bịa.AI bắt tốt lỗi HÌNH THỨC (trùng, mơ hồ, thiếu cột) nhưng KHÔNG hiểu đúng/sai nghiệp vụ sâu — vẫn cần người review phần logic + ngữ cảnh. Dùng AI lọc vòng 1, người review vòng 2. Đừng để AI 'duyệt' thay.
Đối chiếu requirement với toàn bộ file test case — chỉ ra requirement nào chưa có case nào phủ, rồi ghi ra file.
Đối chiếu tài liệu requirement (các file trong thư mục requirement/, hoặc trang Confluence đã kết nối) với toàn bộ file test case trong thư mục test-cases/. Trả về bảng: Req ID | Mô tả ngắn | Đã có case? | File / Case liên quan. Chỉ rõ requirement nào CHƯA được case nào bao phủ (lỗ hổng phủ) + đề xuất loại case nên thêm và nên đặt vào màn hình/file nào. Chỉ dựa trên nội dung tài liệu; không bịa. Lưu kết quả ra file review/do-phu-requirement.md.
AI dựa trên cách bạn mô tả requirement — requirement viết mơ hồ thì AI map sai. Đối chiếu lại RTM thật. Đây là cách nhanh phát hiện 'lọt requirement', nhưng RTM chính thức vẫn do bạn chốt.
📌 Tóm lại
Review không phải 'đọc cho có' — là chốt chặn cuối trước khi test. Checklist biến nó thành quy trình có hệ thống (không sót vì quên); đối chiếu RTM đảm bảo không lọt requirement; AI thêm lớp soát nhanh vòng đầu. Nhưng người vẫn quyết định đúng/đủ. Quy trình đầy đủ: viết test case (xem bài riêng) → review theo checklist → author sửa & verify → chốt. Lưu Review Checklist + giữ format chuẩn để mỗi đợt review đều nhất quán.