Bỏ qua menu, vào nội dung chính

UAT và nghiệm thu phần mềm: kiểm theo kịch bản, không kiểm theo cảm giác

Nghiệm thu phần mềm là bên mua xác nhận phần mềm làm đúng những gì đã chốt. Cách làm chắc nhất là kiểm thử chấp nhận người dùng (UAT) theo kịch bản viết từ đặc tả: mỗi kịch bản có bước làm, dữ liệu, kết quả mong đợi. Bài hướng dẫn viết kịch bản, phân mức lỗi, và điều kiện đạt để ký.

10 phút đọc

Nghiệm thu phần mềm là việc bên mua xác nhận phần mềm làm đúng những gì đã chốt trong hợp đồng, và thường là điều kiện cho một đợt thanh toán. Cách làm chắc nhất là kiểm thử chấp nhận người dùng (UAT, User Acceptance Testing) theo kịch bản viết sẵn từ đặc tả: mỗi kịch bản có bước làm, dữ liệu dùng, kết quả mong đợi, và người kiểm ghi đạt hay không đạt. Nghiệm thu theo cảm giác ("dùng thử thấy ổn") khiến hai bên tranh cãi, vì mỗi người nhớ một phạm vi khác nhau.

UAT khác kiểm thử của bên làm thế nào

Bên làm phần mềm kiểm thử trước khi giao: kiểm từng phần có chạy đúng như lập trình viên hiểu không. UAT do người dùng thật phía bên mua làm, trả lời câu hỏi khác: phần mềm có làm được việc của chúng tôi không. Hai loại kiểm thử không thay nhau được. Bên làm kiểm kỹ tới đâu vẫn không biết nhân viên kho sẽ bấm theo thứ tự nào.

Viết kịch bản từ đặc tả

Mỗi chức năng trong đặc tả sinh ra ít nhất một kịch bản bình thường và một kịch bản biên. Kịch bản viết bằng lời người dùng, đủ để một nhân viên chưa từng thấy phần mềm tự làm theo.

Ví dụ hai kịch bản UAT cho chức năng duyệt đơn. ALODEV dựng minh hoạ, dữ liệu giả.
MãBướcDữ liệuKết quả mong đợiKết quả
KB-07aĐăng nhập bán hàng, tạo đơn, bấm GửiKhách Công ty Mẫu A, 3 sản phẩm, tổng 49.999.000 đồngĐơn chuyển trạng thái Chờ xuất kho, kho nhận thông báoĐạt / Không đạt
KB-07bNhư trênTổng 50.000.000 đồngĐơn chuyển Chờ duyệt, trưởng phòng nhận thông báo; kho chưa thấy đơnĐạt / Không đạt

Kịch bản KB-07b là trường hợp biên: đúng bằng ngưỡng. Phần lớn lỗi nghiệp vụ nằm ở biên, nên mỗi quy tắc có ngưỡng cần ít nhất một kịch bản đặt đúng vào ngưỡng.

Phiếu chạy hai kịch bản kiểm thử chấp nhận cho chức năng duyệt đơn, kịch bản biên đúng ngưỡng 50 triệu đồng không đạt
Hai kịch bản cho một quy tắc có ngưỡng. ALODEV dựng minh hoạ, dữ liệu giả định.

Chuẩn bị trước ngày UAT

  • Môi trường thử tách khỏi hệ thống thật, có dữ liệu gần thật (đã che thông tin nhạy cảm).
  • Tài khoản cho từng vai trò: bán hàng, kho, kế toán, quản lý.
  • Danh sách kịch bản đã được hai bên đồng ý trước, không thêm kịch bản mới vào ngày kiểm.
  • Người kiểm là người sẽ dùng thật, được giao thời gian riêng, không kiêm việc khác trong ngày đó.
  • Một nơi ghi lỗi chung, mỗi lỗi có ảnh chụp màn hình và bước tái hiện.

Phân mức lỗi và điều kiện đạt

Phân mức lỗi khi nghiệm thu. ALODEV biên soạn, dùng cùng cách chia mức nghiêm trọng với điều khoản bảo hành.
MứcVí dụẢnh hưởng tới nghiệm thu
Nghiêm trọngKhông tạo được đơn, tính sai tiền, mất dữ liệuChưa nghiệm thu cho tới khi sửa xong
Trung bìnhChức năng lỗi nhưng có cách làm thay thếCó thể nghiệm thu kèm hạn sửa ghi trong biên bản
NhẹChữ sai chính tả, căn lề lệchNghiệm thu, sửa trong danh sách lỗi còn tồn

Cách chia này khớp với cách điều khoản bảo hành của ALODEV chia mức sự cố: P1 là hệ thống ngừng hoạt động hoặc mất dữ liệu, P2 là chức năng lỗi nhưng còn cách làm thay thế, P3 là lỗi nhỏ, lỗi trải nghiệm (/dieu-khoan mục 6). Dùng cùng một cách chia từ nghiệm thu tới bảo hành giúp hai bên không phải cãi lại định nghĩa.

Mục 6 Bảo hành và thời gian xử lý trong Điều khoản dịch vụ alodev.vn, ba mức P1, P2, P3 và thời gian phản hồi
Mục Bảo hành và thời gian xử lý trong Điều khoản dịch vụ ALODEV: ba mức nghiêm trọng P1, P2, P3. Ảnh chụp alodev.vn ngày 26/09/2026.

Ở cách làm của ALODEV, mỗi chặng được nghiệm thu riêng trên hệ thống chạy được, và chặng cuối chỉ nghiệm thu khi hệ thống đã chạy trên dữ liệu thật của doanh nghiệp (trang Quy trình). Điều khoản dịch vụ ghi khách phản hồi và nghiệm thu theo lịch thoả thuận, thường 3 đến 5 ngày làm việc.

Sau UAT: ký gì

Kết quả UAT được ghi vào biên bản nghiệm thu: phạm vi đã kiểm, số kịch bản đạt, danh sách lỗi còn tồn kèm mức và hạn sửa, kết luận đạt hay chưa đạt. Tập kế tiếp của series có mẫu biên bản và danh sách lỗi còn tồn.

Bao nhiêu kịch bản là đủ

Không cần kịch bản cho mọi nút bấm. Một cách chia đủ dùng: mỗi luồng việc chính có một kịch bản đi hết từ đầu tới cuối; mỗi quy tắc có ngưỡng có một kịch bản đúng ngưỡng; mỗi vai trò có một kịch bản thử mở chức năng không được phép; và mỗi tệp xuất ra (báo cáo, tệp gửi kế toán, hoá đơn) có một kịch bản đối chiếu số với cách tính tay. Với phần mềm một phòng ban, tổng thường vài chục kịch bản, chạy xong trong một đến hai ngày.

Đối chiếu số với cách tính tay

Phần mềm tính tiền (lương, hoa hồng, công nợ, giá bán) cần một bước mà người dùng làm tốt hơn bất kỳ ai: lấy dữ liệu tháng trước, tính tay hoặc bằng bảng tính đang dùng, rồi so với kết quả phần mềm. Chênh một đồng cũng ghi lại. Phần lớn lỗi nghiêm trọng của phần mềm tính tiền được phát hiện ở bước này, không phải ở các kịch bản bấm giao diện.

Bảng tính đối chiếu lương tính tay với lương phần mềm cho bốn nhân viên, một dòng chênh 1.000 đồng được đánh dấu, dữ liệu giả
Đối chiếu số với cách tính tay trong UAT. ALODEV dựng minh hoạ, dữ liệu giả định.

Bên làm có kiểm thử tự động của riêng họ, và bài kiểm thử Node.js: unit, integration và mocking trên blog Trần Công Thắng mô tả phần đó. Kiểm thử tự động giảm lỗi trước khi giao, nhưng không thay được việc người dùng thật đối chiếu số của chính họ.

Người kiểm cần được giải phóng thời gian

Lỗi hay gặp nhất của UAT không nằm ở kịch bản mà ở lịch: người kiểm vẫn phải làm việc hằng ngày của mình, nên chỉ bấm thử vài phút giữa giờ và ký cho xong. Hãy xếp người kiểm vào ngày UAT như một việc chính, có người làm thay việc thường ngày, và có một đầu mối phía bên làm ngồi cùng để ghi lỗi ngay. Hai ngày kiểm tập trung phát hiện nhiều hơn hai tuần kiểm rải rác.

Sau ngày kiểm, bên làm sửa lỗi nghiêm trọng và trung bình, rồi hai bên chạy lại đúng những kịch bản không đạt cùng các kịch bản liên quan. Không chạy lại toàn bộ trừ khi bản sửa chạm vào nhiều phần. Kết quả lần chạy lại được ghi cạnh kết quả lần đầu để thấy lỗi đã đóng thế nào.

Câu hỏi thường gặp

UAT là gì?

UAT (User Acceptance Testing) là kiểm thử chấp nhận người dùng: người dùng thật phía bên mua kiểm phần mềm theo kịch bản để quyết định có chấp nhận hay không.

Nghiệm thu phần mềm gồm những bước nào?

Chuẩn bị môi trường và kịch bản, người dùng thật chạy kịch bản, ghi và phân mức lỗi, sửa lỗi nghiêm trọng, kiểm lại, rồi ký biên bản kèm danh sách lỗi còn tồn.

Ai viết kịch bản nghiệm thu?

Bên làm thường soạn từ đặc tả, bên mua đọc và bổ sung các tình huống thực tế. Hai bên nên chốt danh sách kịch bản trước ngày kiểm.

Còn lỗi nhỏ có ký nghiệm thu được không?

Được, nếu biên bản ghi rõ lỗi còn tồn, mức và hạn sửa. Lỗi nghiêm trọng thì nên sửa xong mới ký.

Nghiệm thu trên dữ liệu mẫu có đủ không?

Đủ cho các chặng giữa. Chặng cuối nên chạy trên dữ liệu thật, vì dữ liệu thật lộ ra những trường hợp dữ liệu mẫu không có.

  • Nghiệm thu phần mềm
  • UAT
  • Kiểm thử chấp nhận
  • Kịch bản kiểm thử
  • Mua phần mềm

Bài viết liên quan

Mua phần mềm không bị hớ
Mua phần mềm không bị hớ8 phút đọc

Danh sách kiểm một trang: 40 câu hỏi từ lúc định làm tới một năm sau bàn giao

Tập tổng của series Mua phần mềm không bị hớ: 40 câu hỏi chia theo tám giai đoạn, từ lúc quyết định có làm hay không, viết yêu cầu, chọn nhà cung cấp, đọc báo giá, ký hợp đồng, theo dõi, nghiệm thu, tới bàn giao và một năm sau. Mỗi câu dẫn về tập đi sâu.

Mua phần mềm không bị hớ9 phút đọc

Đổi nhà cung cấp giữa chừng: lấy lại mã nguồn, dữ liệu và tài khoản mà không mất việc

Đổi nhà cung cấp phần mềm giữa chừng làm được nếu đi đúng thứ tự: đọc điều khoản chấm dứt, giành lại tài khoản trước, nhận mã nguồn và dữ liệu, cho đơn vị mới đánh giá mã, rồi mới chấm dứt. Bài liệt kê từng bước, những gì cần kiểm khi nhận, và cách giữ phần mềm chạy trong lúc chuyển.

Mua phần mềm không bị hớ9 phút đọc

Danh sách bàn giao phần mềm đầy đủ: mã nguồn, tài khoản, tài liệu, quyền quản trị máy chủ

Bàn giao phần mềm không phải gửi một tệp nén. Danh sách năm nhóm: mã nguồn và cách dựng lại, tài khoản và quyền quản trị, dữ liệu và sao lưu, tài liệu, con người. Kèm phép thử cuối: một người khác có dựng lại được hệ thống từ những gì đã nhận hay không.

Nhận bài mới

Để lại email để nhận bài mới của series Mua phần mềm không bị hớ, hoặc theo dõi bằng RSS.

RSS Mua phần mềm không bị hớ

Email chỉ dùng để gửi bài mới, xem Chính sách bảo mật.

Trao đổi về dự án

Cần tư vấn?