Checklist kiểm thử nghiệm thu có ảnh chụp: bên mua được gì
Tóm tắt: Checklist kiểm thử nghiệm thu (UAT) nên viết bằng ngôn ngữ người dùng. Mỗi mục gồm thao tác, kết quả mong đợi và ảnh chụp. Ở VAON, Claude nháp từ tài liệu yêu cầu đã chốt, kỹ sư sửa, bạn kiểm trên đúng phiên bản. Ảnh giúp mô tả lỗi đúng ngay và ghi lại bản nào được nghiệm thu.
Mục lục
- Kiểm thử nghiệm thu là gì, và vì sao test tự động chưa đủ?
- Checklist UAT đến tay bạn qua những bước nào?
- Mẫu checklist UAT: cột nào, một mục tốt viết thế nào?
- Vì sao ảnh chụp kết quả bảo vệ bên mua?
- Những lỗi nào làm checklist UAT mất tác dụng?
- Khi nào checklist UAT không đủ?
- Câu hỏi thường gặp
1. Kiểm thử nghiệm thu là gì, và vì sao test tự động chưa đủ?
Kiểm thử nghiệm thu (UAT, User Acceptance Test) là bước người dùng phía bạn tự thao tác trên hệ thống. Mục đích là xác nhận hệ thống làm đúng việc hai bên đã thống nhất. Test tự động không thay được bước này.
Câu VAON hay được hỏi: "AI đã viết cả test rồi, khách còn phải kiểm nữa không?". Có, và càng cần hơn. Unit test và e2e test (kiểm thử toàn luồng) kiểm tra cách đội phát triển hiểu đặc tả. Nếu cách hiểu lệch, test lệch theo mà vẫn chạy xanh. AI lại thường viết test dựa trên chính đoạn mã nó vừa tạo, nên chỗ lệch càng khó thấy. Cách kỹ sư đọc test AI viết có ở bài test do AI sinh đi cùng pull request.
Người nhận ra chỗ lệch là người hiểu nghiệp vụ, khi họ bấm trên màn hình thật. Checklist UAT là bước 9 trong quy trình phát triển với Claude Code. VAON đang áp dụng quy trình này cho phần lớn dự án, chưa phải tất cả.
2. Checklist UAT đến tay bạn qua những bước nào?
Checklist UAT ở VAON đến tay bạn sau khi phiên bản đã qua tay kỹ sư, không phải ngay khi mã vừa viết xong. Thứ tự gồm sáu bước:
- Triển khai: sau khi merge, CI/CD tự đưa phiên bản mới lên môi trường kiểm thử.
- Kỹ sư VAON test trước: lỗi rõ ràng được sửa trước khi bạn phải dành thời gian.
- Claude nháp checklist từ tài liệu yêu cầu đã chốt, không phải từ mã nguồn.
- Kỹ sư sửa: bỏ chữ của lập trình viên, thêm trường hợp thất bại, gắn mỗi mục với mã yêu cầu.
- Bạn kiểm, ghi kết quả thực tế, đính kèm ảnh, ghi rõ phiên bản.
- Mục không đạt thành việc cần sửa. Sau khi sửa, bạn kiểm lại đúng mục đó trên phiên bản mới, ảnh cũ vẫn giữ.
Bước 3 lấy tài liệu yêu cầu làm nguồn vì nếu nháp từ mã, checklist chỉ lặp lại cách hiểu của đội phát triển.
Chúng tôi giữ bước 2 và bước 4 dù AI đã soạn sẵn. Lý do là một trong ba câu khách hỏi VAON nhiều nhất năm 2026: "Code AI viết thì ai kiểm tra?". Câu trả lời có nhiều lớp người, và lớp cuối là bạn. Mọi dự án của VAON đều lưu hồ sơ review và test, bạn xem được bất cứ lúc nào.
3. Mẫu checklist UAT: cột nào, một mục tốt viết thế nào?
Mẫu checklist UAT của VAON có năm cột: Mục, Thao tác, Kết quả mong đợi, Kết quả thực tế, Ảnh chụp. Phía trên bảng ghi phiên bản, môi trường, người kiểm và ngày kiểm. Mẫu dưới đây là minh hoạ cho một hệ thống đơn hàng giả định, không phải dự án thật.
Phiên bản: v1.4.0 · Môi trường: (đường dẫn test) · Người kiểm: (tên) · Ngày: (ngày kiểm)
| Mục | Thao tác | Kết quả mong đợi | Kết quả thực tế | Ảnh chụp |
|---|---|---|---|---|
| REQ-01 Tạo đơn | Nhập đủ thông tin, bấm "Lưu" | Đơn mới hiện ở đầu danh sách | (bạn điền) | (đính kèm) |
| REQ-01 Tạo đơn | Để trống số điện thoại, bấm "Lưu" | Báo lỗi dưới ô số điện thoại, đơn không được lưu | ||
| REQ-02 Huỷ đơn | Chọn một đơn, bấm "Huỷ", xác nhận | Trạng thái đơn đổi thành "Đã huỷ" | ||
| REQ-03 Phân quyền | Đăng nhập bằng tài khoản nhân viên | Không thấy menu "Quản trị" |
Một mục tốt đạt năm điều kiện:
- Một dòng chỉ có một thao tác và một kết quả, để khi lỗi biết ngay lỗi ở đâu.
- Dùng chữ hiện trên màn hình: tên nút, tên ô. Không dùng tên hàm hay tên bảng dữ liệu.
- Kết quả mong đợi kiểm được bằng mắt. "Xử lý đúng" không kiểm được, "trạng thái đổi thành Đã huỷ" thì được.
- Mỗi yêu cầu có ít nhất một mục thất bại: nhập thiếu, sai quyền, huỷ giữa chừng.
- Mỗi mục ghi mã yêu cầu, để tra được yêu cầu nào đã có người kiểm.
4. Vì sao ảnh chụp kết quả bảo vệ bên mua?
Ảnh chụp kết quả bảo vệ bên mua vì nó biến câu "tôi đã kiểm rồi" thành hồ sơ hai bên cùng đối chiếu được.
Tác dụng đầu tiên: lỗi được mô tả đúng ngay lần đầu. Kỹ sư thấy cùng màn hình bạn thấy, không phải hỏi lại "trước đó bạn bấm gì". Khi hai bên khác múi giờ, khác ngôn ngữ, điều này bớt được nhiều vòng trao đổi.
Tác dụng thứ hai: ảnh ghi lại phiên bản nào đã được nghiệm thu, ai kiểm, kiểm ra sao. Người phụ trách IT thường phải giải thích với cấp trên đã kiểm gì trước khi cho phát hành. Câu "không thấy vấn đề gì" nói miệng không dùng được cho việc đó.
Với khách Nhật, mốc nghiệm thu còn gắn với hợp đồng. IPA và METI có tài liệu rà soát hợp đồng mẫu hệ thống thông tin (12/2019). Tài liệu này giữ thời điểm hoàn tất nghiệm thu (検収完了時) làm mốc tính thời hạn trách nhiệm. Đó là trách nhiệm khi sản phẩm không phù hợp hợp đồng. Tài liệu cũng khuyến nghị hai bên phối hợp soạn tiêu chí kiểm tra. Lý do: kiểm tra đầy đủ có thể cần nhiều test case hơn danh sách chức năng.
Đó là tài liệu tham khảo, không phải tư vấn pháp lý. Trách nhiệm trong từng dự án do hợp đồng dự án đó quy định. VAON không coi việc "AI viết" là lý do để trách nhiệm khác đi. Hợp đồng nên ghi gì có ở bài code AI viết bị lỗi: ai chịu trách nhiệm.
5. Những lỗi nào làm checklist UAT mất tác dụng?
Checklist UAT thường mất tác dụng vì năm lỗi dưới đây, và lỗi nào cũng sửa được trước khi gửi khách.
| Lỗi | Ví dụ (minh hoạ) | Cách sửa |
|---|---|---|
| Viết bằng ngôn ngữ lập trình viên | "Gọi POST /orders trả về 201" | "Bấm Lưu, đơn mới hiện trong danh sách" |
| Chỉ có trường hợp thành công | Chỉ kiểm tạo đơn khi nhập đủ | Thêm mục nhập thiếu, sai quyền, huỷ giữa chừng |
| Kiểm sai phiên bản | Kiểm trên môi trường cũ, trình duyệt còn giữ bản trước | Ghi phiên bản đầu checklist, ảnh thấy số phiên bản hoặc ngày giờ |
| Kết quả mong đợi mơ hồ | "Hệ thống hoạt động bình thường" | Ghi điều nhìn thấy trên màn hình |
| Ảnh thiếu ngữ cảnh | Ảnh chỉ cắt dòng thông báo lỗi | Chụp cả màn hình, thấy tên màn hình |
Kiểm sai phiên bản là lỗi tốn kém nhất. Bạn có thể báo lại một lỗi đã sửa, hoặc nghiệm thu một bản không phải bản sẽ phát hành.
6. Khi nào checklist UAT không đủ?
Checklist UAT chỉ kiểm được điều đã có trong tài liệu yêu cầu, nên có những chỗ nó không đủ:
- Ngoại lệ nghiệp vụ chưa ai ghi ra thì không thành mục. Thấy điều lạ ngoài checklist, bạn ghi thẳng vào cột kết quả thực tế.
- Xử lý chạy nền không có màn hình, hay tổ hợp dữ liệu quá nhiều, nên để test tự động kiểm.
- Ảnh ghi lại kết quả, không tự phán đúng sai. Người phán là người hiểu nghiệp vụ.
- UAT cần thời gian của người phía bạn. Không ai hiểu nghiệp vụ dành thời gian thì checklist chỉ còn là giấy.
Với việc rất nhỏ, như sửa một dòng chữ, vài mục kiểm là đủ.
7. Câu hỏi thường gặp
Tôi có phải tự viết checklist UAT không? Không cần. Ở các dự án áp dụng quy trình này, Claude nháp checklist từ tài liệu yêu cầu đã chốt. Kỹ sư VAON sửa rồi gửi bạn. Việc của bạn là đọc trước, bổ sung tình huống nghiệp vụ còn thiếu, rồi kiểm theo từng mục. Mục bạn thêm nên theo cùng mẫu.
Kiểm thử nghiệm thu thường mất bao lâu? Thời gian phụ thuộc số yêu cầu và số vai trò người dùng, nên VAON không đưa một con số chung. Lịch UAT được thống nhất trong kế hoạch từ đầu. Kỹ sư VAON test trước, nên thời gian của bạn dành cho việc kiểm nghiệp vụ, không phải để vấp lỗi rõ ràng.
Nếu tôi thấy vấn đề không có trong checklist thì sao? Bạn ghi vào cột kết quả thực tế, kèm ảnh. Nếu đó là lỗi so với yêu cầu đã chốt, VAON sửa. Nếu là việc mới ngoài phạm vi, VAON báo giá và ảnh hưởng tiến độ bằng văn bản, bạn duyệt mới làm. Chi tiết có ở bài công ty phần mềm không phát sinh chi phí ẩn.
Checklist có ảnh có thay biên bản nghiệm thu không? Không. Checklist có ảnh là bằng chứng đi kèm, còn cách xác nhận nghiệm thu do hợp đồng từng dự án quy định. Điểm khác là biên bản có căn cứ. Mỗi yêu cầu đã chốt có ít nhất một mục kiểm, và mỗi mục có kết quả, ảnh trên một phiên bản cụ thể.
Có nên dùng dữ liệu thật khi kiểm thử nghiệm thu không? Việc này thống nhất trước khi dự án bắt đầu: dữ liệu nào được dùng, ai được xem. VAON không đưa dữ liệu hay mã của bạn vào công cụ AI khi chưa được phép. Claude nháp checklist từ tài liệu yêu cầu, không cần dữ liệu thật. Nếu kiểm bằng dữ liệu thật, hãy xem ảnh có lộ thông tin cá nhân không.
Việc làm được ngay: mở biên bản nghiệm thu gần nhất và tìm dòng ghi phiên bản. Nếu không có, lần tới hãy thêm dòng "Phiên bản" lên đầu checklist. Yêu cầu mỗi ảnh chụp thấy số phiên bản hoặc ngày giờ.
Nếu muốn xem checklist UAT áp vào dự án của bạn thế nào, đặt lịch trao đổi 60 phút miễn phí. CEO tham dự, không cần chuẩn bị tài liệu, không ràng buộc.
Tác giả: Đặng Văn Luân, Founder & CEO, VAON. Tốt nghiệp HEDSPI (Đại học Bách khoa Hà Nội), từng làm tại FPT Software, 5 năm tại Digital Plus (Tokyo) với hệ thống 10 triệu người dùng, 8 năm làm COO một công ty ITO 120 nhân sự và xây hệ thống quản lý theo ISO 9001, ISO 27001. 15 năm làm nghề.