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

UAT là gì: kiểm thử chấp nhận của người dùng, bước bên mua phải tự làm trước khi ký nghiệm thu

UAT (user acceptance testing) là vòng kiểm thử cuối cùng, do chính người dùng bên mua chạy trên kịch bản và dữ liệu của mình để quyết định có nhận phần mềm hay không. Bài giải thích UAT, cách nó xuất hiện trong hợp đồng và đợt thanh toán, câu cần hỏi bên làm phần mềm, và khi nào không cần một vòng UAT riêng.

9 phút đọc

UAT là viết tắt của user acceptance testing, kiểm thử chấp nhận của người dùng: vòng kiểm thử cuối cùng, do chính người sẽ dùng phần mềm hằng ngày ở bên mua thực hiện, để quyết định có nhận phần mềm hay không. Nhận định của tập này: chỉ nên ký biên bản nghiệm thu khi các kịch bản UAT do bên bạn viết đã chạy đạt trên dữ liệu thật của bạn, và hợp đồng nên gắn đợt thanh toán nghiệm thu với kết quả UAT, không gắn với một ngày trên lịch.

Tập này thuộc series Từ điển công nghệ cho chủ doanh nghiệp. Danh sách mười điểm cụ thể cần thử trong một vòng UAT đã có ở bài kiểm soát chất lượng phần mềm nhà cung cấp giao; ở đây bàn chữ UAT nghĩa là gì và nó ảnh hưởng tới tiền, tới rủi ro ra sao.

UAT bằng lời thường: bên mua chạy thử một ngày làm việc thật

Bảng thuật ngữ của ISTQB, tổ chức cấp chứng chỉ kiểm thử phần mềm quốc tế, định nghĩa user acceptance testing là một loại kiểm thử chấp nhận thực hiện để xác định người dùng dự kiến có chấp nhận hệ thống hay không. Kiểm thử chấp nhận (acceptance testing) được định nghĩa là cấp kiểm thử tập trung vào việc quyết định có nhận hệ thống hay không. Chữ quan trọng trong cả hai định nghĩa là quyết định nhận, và người quyết định là bên mua.

Trang ISTQB Glossary mục user acceptance testing phiên bản 4: định nghĩa là loại kiểm thử chấp nhận để xác định người dùng dự kiến có chấp nhận hệ thống, viết tắt UAT
Định nghĩa user acceptance testing trong bảng thuật ngữ ISTQB (bản 4.8.1): một loại kiểm thử chấp nhận thực hiện để xác định người dùng dự kiến có chấp nhận hệ thống hay không, viết tắt UAT. Chụp glossary.istqb.org, 26/09/2026.

Trước UAT, bên làm phần mềm đã tự kiểm thử nhiều vòng. Lập trình viên viết kiểm thử đơn vị và kiểm thử tích hợp để máy tự chạy mỗi lần sửa mã; đội kiểm thử của họ thử theo tài liệu yêu cầu. Những vòng đó trả lời câu hỏi "phần mềm có làm đúng như chúng tôi hiểu không". UAT 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 câu hỏi lệch nhau đúng bằng khoảng cách giữa tài liệu yêu cầu và công việc thật, và khoảng cách đó chỉ người trong nghề của bạn mới thấy.

Hình dung UAT cho một phần mềm quản lý đơn hàng. Nhân viên kinh doanh nhập một đơn có chiết khấu đặc biệt như họ vẫn làm. Kế toán kiểm công nợ của khách đó. Thủ kho xuất hàng và trả lại một phần. Trưởng phòng xem báo cáo cuối ngày. Nếu cả chuỗi chạy trơn với dữ liệu khách hàng và mặt hàng thật, phần mềm đạt; nếu một mắt xích phải làm vòng ngoài bằng Excel, đó là lỗi cần ghi lại trước khi ký.

Microsoft mô tả UAT thế nào trong một dự án triển khai thật

Hướng dẫn triển khai Dynamics 365 trên Microsoft Learn viết khá thẳng: UAT là loại kiểm thử cuối cùng trước khi đưa giải pháp lên môi trường chạy thật, luôn là kiểm thử thủ công, do người dùng nghiệp vụ thực hiện trong một môi trường thử riêng đã tích hợp đầy đủ. Mục đích là lấy xác nhận, phê duyệt của các bên nghiệp vụ rằng giải pháp đáp ứng nhu cầu của họ. Hướng dẫn cũng nêu UAT cần dữ liệu của khách hàng, kể cả dữ liệu đã chuyển đổi, và bản phần mềm mới nhất.

Trang Microsoft Learn hướng dẫn triển khai Dynamics 365, mục User acceptance testing mô tả UAT là kiểm thử cuối cùng trước production, thủ công, do người dùng nghiệp vụ làm, mục đích lấy sign-off
Mục User acceptance testing trong hướng dẫn triển khai Dynamics 365 của Microsoft: UAT là kiểm thử cuối cùng trước khi lên môi trường chạy thật, do người dùng nghiệp vụ làm thủ công trong môi trường thử riêng, cần dữ liệu thật và dữ liệu đã chuyển đổi, kết thúc bằng việc bên nghiệp vụ ký chấp nhận. Chụp learn.microsoft.com, 26/09/2026.

Ba ý trong đoạn đó đáng mang vào bất kỳ hợp đồng phần mềm nào, dù bạn không dùng Microsoft. Người thử là người dùng nghiệp vụ, không phải người của bên bán. Môi trường thử tách khỏi môi trường chạy thật, để thử sai không làm hỏng dữ liệu. Dữ liệu thử là dữ liệu của bạn, vì lỗi hay nằm ở những trường hợp chỉ dữ liệu thật mới có: tên khách có ký tự lạ, mặt hàng có ba đơn vị tính, đơn trả hàng một phần.

UAT trong hợp đồng: gắn với tiền và với thời hạn

Trong hợp đồng làm phần mềm, UAT thường xuất hiện ở ba chỗ. Điều khoản nghiệm thu: phần mềm được coi là đạt khi qua UAT theo tiêu chí nào. Lịch thanh toán: đợt thanh toán lớn thường đi kèm biên bản nghiệm thu. Thời hạn: bên mua có bao nhiêu ngày để chạy UAT và phản hồi lỗi, quá hạn thì sao.

Điều khoản nguy hiểm nhất là nghiệm thu mặc nhiên: "quá N ngày kể từ ngày bàn giao mà bên mua không phản hồi thì coi như đã nghiệm thu". Điều khoản này hợp lý để bên bán không bị treo tiền mãi, nhưng N ngày phải là ngày làm việc và đủ để nhân viên của bạn thử trong khi vẫn làm việc thường ngày. Nếu bàn giao rơi vào kỳ nghỉ lễ, mười ngày lịch có thể chỉ còn vài ngày làm việc.

Công cụ Tính ngày trên alodev.vn/lab/tinh-ngay chế độ Ngày làm việc: từ 12/10/2026 đến 23/10/2026, lịch thứ Hai tới thứ Sáu, kết quả 10 ngày làm việc trên 12 ngày
Đếm đúng số ngày làm việc của khung UAT trước khi ký. Ví dụ: khung thử từ 12/10/2026 đến 23/10/2026, lịch thứ Hai tới thứ Sáu, được 10 ngày làm việc trên tổng 12 ngày, không có ngày lễ. Công cụ trừ cả lễ, Tết và nghỉ bù theo lịch lao động. Chụp alodev.vn/lab/tinh-ngay, 26/09/2026.

Một chi tiết khác hay bị bỏ qua: ai viết kịch bản UAT. Nếu bên bán viết, kịch bản thường đi theo đúng đường mà phần mềm làm tốt. Nếu bên mua viết, kịch bản có cả những trường hợp khó chịu của nghề. Cách cân bằng là bên mua liệt kê tình huống nghiệp vụ, bên bán giúp chuyển thành bước thử cụ thể, hai bên ký danh sách kịch bản trước khi bắt đầu, và danh sách đó trở thành tiêu chí nghiệm thu.

Còn chuyện phân loại lỗi. UAT gần như không bao giờ đạt sạch ở vòng đầu. Hợp đồng nên chia lỗi theo mức: lỗi chặn (không làm được việc chính), lỗi nặng (làm được nhưng sai số liệu), lỗi nhẹ (giao diện, chính tả). Tiêu chí đạt thường là không còn lỗi chặn và lỗi nặng; lỗi nhẹ có danh sách và hạn sửa. Không có cách phân loại này, hai bên sẽ tranh cãi mỗi lỗi có đủ nặng để giữ tiền hay không.

Câu nên hỏi bên làm phần mềm

  1. UAT chạy trên môi trường nào? Có tách khỏi môi trường chạy thật không, có dữ liệu thật của chúng tôi (hoặc bản sao đã che thông tin nhạy cảm) không?
  2. Ai viết kịch bản UAT, hai bên ký duyệt danh sách kịch bản lúc nào?
  3. Khung thời gian UAT tính bằng ngày làm việc hay ngày lịch? Nghiệm thu mặc nhiên sau bao nhiêu ngày?
  4. Lỗi được phân mức thế nào? Mức nào thì chưa ký nghiệm thu?
  5. Sửa lỗi trong UAT có tính thêm phí không? Mấy vòng UAT được tính trong giá?
  6. Người dùng của chúng tôi có được đào tạo trước khi thử không, ai đào tạo?
  7. Sau khi ký nghiệm thu, thời gian bảo hành bao lâu, lỗi phát hiện sau đó xử lý theo điều khoản nào?

Câu thứ sáu xuất phát từ chính hướng dẫn của Microsoft: người dùng nghiệp vụ nên được đào tạo trước khi thử để tránh báo lỗi chỉ vì chưa quen hệ thống. Một vòng UAT đầy báo lỗi giả làm cả hai bên mất thời gian và làm lỗi thật bị chìm.

Khi nào không cần một vòng UAT riêng

Với phần mềm đóng gói thuê theo tháng, bạn không nghiệm thu theo hợp đồng làm riêng; dùng thử miễn phí chính là UAT của bạn. Hãy dùng thời gian dùng thử như một vòng UAT thật: chọn ba tình huống nghiệp vụ khó nhất và chạy thử với dữ liệu của mình. Với một thay đổi rất nhỏ (sửa một nhãn, thêm một cột báo cáo), một lần xác nhận qua tin nhắn kèm ảnh chụp thường đủ, không cần biên bản.

Ngược lại, phần mềm viết riêng, có chuyển dữ liệu cũ sang, có thay đổi quy trình làm việc của nhiều phòng ban thì UAT là bước không nên cắt, kể cả khi dự án trễ. Cắt UAT để kịp ngày chạy thật thường chỉ dời chi phí sang tháng đầu vận hành, lúc lỗi rơi vào khách hàng thật. Trước khi ký hợp đồng, đọc thêm 10 điều khoản khi đàm phán hợp đồng phần mềm, trong đó có tiêu chí nghiệm thu.

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

UAT và nghiệm thu có phải là một không?

Không hẳn. UAT là hoạt động thử; nghiệm thu là quyết định và văn bản (biên bản nghiệm thu) ghi nhận việc bên mua chấp nhận. UAT đạt là căn cứ để ký nghiệm thu, và hợp đồng tốt nói rõ mối liên hệ đó.

Ai nên tham gia UAT ở phía doanh nghiệp?

Những người sẽ dùng phần mềm hằng ngày ở từng khâu, cộng một người có quyền quyết định nhận hay không. Giám đốc chỉ xem báo cáo thì không đủ; nhân viên nhập liệu, kế toán, kho mới gặp các trường hợp khó.

UAT kéo dài bao lâu là hợp lý?

Không có con số chung; nó phụ thuộc số kịch bản và số người thử. Cách ước lượng thực tế là đếm kịch bản, ước số giờ mỗi người có thể dành ra ngoài việc thường ngày, rồi quy ra ngày làm việc. Ghi con số đó vào hợp đồng thay vì chấp nhận một mốc mặc định.

Có dùng dữ liệu thật trong UAT được không?

Nên dùng dữ liệu thật hoặc bản sao của nó, vì lỗi hay nằm ở dữ liệu thật. Với thông tin nhạy cảm như lương, số điện thoại khách hàng, hãy yêu cầu bên làm phần mềm che hoặc thay thông tin đó trong bản sao, và thử trên môi trường tách khỏi môi trường chạy thật.

Phát hiện lỗi sau khi đã ký nghiệm thu thì sao?

Khi đó lỗi được xử lý theo điều khoản bảo hành trong hợp đồng, thường có thời hạn và phạm vi. Vì vậy UAT kỹ trước khi ký giúp bạn còn đòn bẩy thanh toán; sau khi ký, bạn chỉ còn điều khoản bảo hành.

Từ điển công nghệ cho chủ doanh nghiệp9 phút đọc

DMS là gì: quản lý nhà phân phối và đội bán hàng thị trường, và vì sao dễ nhầm với quản lý tài liệu

DMS có hai nghĩa hay gặp: hệ thống quản lý phân phối (nhà phân phối, đại lý, đội sale đi tuyến) và hệ thống quản lý tài liệu. Bài giải thích cả hai, tập trung nghĩa phân phối: DMS xuất hiện trong báo giá thế nào, tiền và rủi ro nằm ở đâu, và câu cần hỏi về tài khoản nhà phân phối, định vị nhân viên, quyền dữ liệu.

Từ điển công nghệ cho chủ doanh nghiệp9 phút đọc

POS là gì: máy bán hàng, phần mềm bán hàng và máy tính tiền khác nhau ở đâu

POS là điểm bán hàng: nơi thu ngân tính tiền, in hoá đơn, nhận thanh toán. Trong báo giá, chữ POS có thể là phần mềm, là phần cứng, hoặc là máy quẹt thẻ của ngân hàng. Bài tách ba thứ đó, đối chiếu khái niệm máy tính tiền trong Nghị định 254/2026 và đưa danh sách câu cần hỏi trước khi ký.

Từ điển công nghệ cho chủ doanh nghiệp9 phút đọc

Chatbot là gì: chatbot kịch bản và chatbot AI khác nhau thế nào khi đặt lên website

Chatbot đặt trên website doanh nghiệp có hai loại chính: chatbot theo kịch bản cố định và chatbot dùng AI hiểu ngôn ngữ tự nhiên. Bài viết giải thích khác biệt, chi phí và khi nào doanh nghiệp nên chọn loại nào cho website của mình.

Nhận bài mới

Để lại email để nhận bài mới của series Từ điển công nghệ cho chủ doanh nghiệp, hoặc theo dõi bằng RSS.

RSS Từ điển công nghệ cho chủ doanh nghiệp

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

Trao đổi về dự án