Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

Q-Bài 29 — UAT — BA chủ trì, QA support

Từ QA/Tester sang BA: Lộ Trình Chuyển Đổi Bài 29/60

Mở đầu — vì sao bài này quan trọng

Nếu bạn là một QA/Tester đang chuyển sang BA, thì UAT (User Acceptance Testing — kiểm thử chấp nhận của người dùng) chính là "sân nhà" đắt giá nhất của bạn. Đây là một trong số ít hoạt động mà nền tảng kiểm thử của bạn không phải là gánh nặng cần gột bỏ, mà là lợi thế cạnh tranh trực tiếp. Nhưng có một nghịch lý mà rất nhiều người mới chuyển nghề mắc phải: họ bước vào UAT với tư duy của người thực thi test, trong khi vai trò BA đòi hỏi họ phải là người chủ trì và điều phối toàn bộ giai đoạn nghiệm thu.

Sự khác biệt này nghe có vẻ tinh tế, nhưng trong thực tế dự án nó tạo ra hai chân dung hoàn toàn khác nhau. Một bên là người ngồi chạy từng kịch bản, ghi nhận pass/fail, gửi bug. Một bên là người lập kế hoạch UAT, định nghĩa exit criteria (tiêu chí kết thúc), chốt lịch với business, quyết định khi nào sản phẩm "đủ tốt để go-live", và bảo vệ quyết định đó trước sponsor (nhà tài trợ dự án). Bài này sẽ giúp bạn nhìn rõ ranh giới đó, và quan trọng hơn, dạy bạn cách dùng chính kinh nghiệm QA để làm tốt vai trò chủ trì UAT — thứ mà một BA thuần "giấy tờ" không bao giờ làm tốt bằng bạn.

Trong giai đoạn UAT, vai trò của BA không phải là "test giỏi hơn QA", mà là "biến UAT thành một quyết định kinh doanh có kiểm soát". Đó là nơi bạn thật sự trưởng thành thành một BA.

Khái niệm cốt lõi

UAT là gì và khác gì với QA testing

UAT là giai đoạn kiểm thử cuối cùng, do người dùng nghiệp vụ thực tế (end user, key user, hoặc đại diện business) thực hiện, nhằm xác nhận rằng hệ thống đáp ứng đúng nhu cầu kinh doanh và sẵn sàng đưa vào vận hành. Điểm mấu chốt: UAT không trả lời câu hỏi "phần mềm có lỗi không" (đó là việc của QA functional testing), mà trả lời câu hỏi "phần mềm này có giải quyết được vấn đề kinh doanh của chúng tôi không, và chúng tôi có chấp nhận nó không".

Đây là khác biệt về bản chất:

  • QA testing kiểm tra hệ thống có đúng với đặc tả không (build the system right).
  • UAT kiểm tra hệ thống có đúng với nhu cầu thực không (build the right system).
Một tính năng có thể pass 100% test case của QA nhưng vẫn fail UAT, vì nó đúng spec mà sai nhu cầu. Đó chính là lý do BA — người hiểu nhu cầu business — phải đứng ra chủ trì.

Sự dịch chuyển vai trò: QA support, BA chủ trì

Đây là phần cốt lõi nhất của bài. Hãy nhìn vào bảng phân vai dưới đây:

Hoạt độngQA làm gìBA làm gì
Lập kế hoạch UATHỗ trợ ước lượng, góp ý kịch bảnSở hữu UAT Plan, định nghĩa phạm vi, lịch, nguồn lực
Chuẩn bị môi trường & dữ liệuDựng UAT environment, tạo test dataXác định loại dữ liệu nghiệp vụ cần có
Viết kịch bản UATHỗ trợ chuyển từ test case kỹ thuậtViết UAT scenario theo ngôn ngữ business
Đào tạo người dùng UATHướng dẫn thao tác công cụ ghi nhậnOnboard business user, giải thích quy trình
Thực thi testCó thể chạy smoke test trướcĐiều phối, hỗ trợ user khi vướng
Quản lý defectPhân loại bug, retest, theo dõi fixQuyết định bug nào là blocker, đàm phán ưu tiên
Định nghĩa Exit CriteriaCung cấp số liệu (pass rate, open defect)Sở hữu và bảo vệ exit criteria
Sign-off & báo cáoCung cấp kết quả testTrình bày với sponsor, lấy chữ ký nghiệm thu
Nhìn bảng này, bạn sẽ thấy QA tập trung vào cơ chế và kỹ thuật (môi trường, dữ liệu, defect tracking), còn BA tập trung vào quyết định và con người (kế hoạch, tiêu chí, giao tiếp, sign-off). Khi bạn chuyển từ QA sang BA, bạn giữ lại sự nhạy bén kỹ thuật nhưng phải nâng tầm lên thành người làm chủ quy trình.

Bốn "tài sản" BA phải chuẩn bị cho UAT

Một BA chủ trì UAT cần chuẩn bị bốn thứ. Hãy ghi nhớ chúng như một checklist nền tảng:

  • UAT Plan — bản kế hoạch tổng: phạm vi (in-scope/out-of-scope), người tham gia (ai test cái gì), lịch trình, môi trường, công cụ ghi nhận lỗi, và quan trọng nhất là entry criteria (điều kiện để bắt đầu UAT) và exit criteria (điều kiện để kết thúc).
  • UAT Scenarios — các kịch bản viết theo góc nhìn nghiệp vụ, gắn với quy trình thực của người dùng, không phải test case kỹ thuật rời rạc.
  • Exit Criteria — tiêu chí định lượng để tuyên bố UAT thành công, ví dụ: "100% kịch bản critical pass, không còn defect mức Critical/High, các defect Medium đã có kế hoạch xử lý sau go-live".
  • Communication & Sign-off Plan — cách bạn báo cáo tiến độ cho sponsor và cơ chế lấy chữ ký nghiệm thu chính thức.

Entry và Exit Criteria — trái tim của UAT

Là dân QA cũ, bạn quen với khái niệm "Definition of Done" và "test exit criteria". Hãy mang nó lên cấp độ business.

Entry Criteria là điều kiện để UAT được phép bắt đầu — ví dụ: SIT (System Integration Testing) đã hoàn tất, không còn bug Critical/High mở, môi trường UAT sẵn sàng, dữ liệu test đã nạp, người dùng UAT đã được đào tạo.

Exit Criteria là điều kiện để UAT được tuyên bố kết thúc và sản phẩm sẵn sàng go-live. Đây là nơi BA phải bản lĩnh: bạn không được để exit criteria mơ hồ kiểu "khi business hài lòng". Nó phải đo được.

Tình huống thực tế

Tình huống 1 — Ngân hàng số tại TP.HCM: khi "đúng spec" vẫn không được chấp nhận

Một ngân hàng tại TP.HCM triển khai tính năng mở tài khoản tiết kiệm online. Anh Tuấn — cựu QA, vừa lên BA được 8 tháng — chủ trì UAT. Đội QA đã test xong SIT, pass rate 98%, mọi test case functional đều xanh.

Khi 12 nhân viên phòng giao dịch (key user) vào UAT, có một kịch bản pass về mặt kỹ thuật nhưng họ từ chối nghiệm thu: hệ thống cho phép tạo sổ tiết kiệm với kỳ hạn 13 tháng, đúng như spec ghi. Nhưng theo quy định sản phẩm thực tế của ngân hàng, kỳ hạn 13 tháng đã bị ngừng từ quý trước. Spec viết sai, QA test đúng theo spec sai, và chỉ đến UAT — khi người dùng nghiệp vụ thật vào — lỗi mới lộ ra.

Điều khiến anh Tuấn xử lý tốt là vì nền QA giúp anh ngay lập tức phân loại: đây không phải bug kỹ thuật mà là requirement defect. Anh không để nó trôi vào hàng "bug" chung chung. Anh ghi nhận như một Change Request, đánh giá tác động (chỉ cần ẩn option 13 tháng trong dropdown cấu hình), thương lượng với sponsor đưa fix này vào trước go-live vì nó là blocker pháp lý, đồng thời các đề xuất "nice-to-have" khác của user thì hoãn lại post go-live.

Bài học: UAT là tấm lưới cuối cùng bắt những lỗi nhu cầu, không phải lỗi code. BA chủ trì phải có khả năng phân biệt requirement defect với functional bug — và đây chính là nơi tư duy QA cũ giúp bạn phân loại nhanh, chính xác.

Tình huống 2 — Công ty e-commerce Đông Nam Á: exit criteria mơ hồ suýt làm trượt go-live

Một sàn thương mại điện tử (giả định tên Shopvia, quy mô khu vực Đông Nam Á) làm lại module tính phí vận chuyển. Chị Linh, BA xuất thân QA, chủ trì UAT trong 2 tuần với 8 người dùng từ phòng vận hành.

Sai lầm ban đầu: exit criteria được viết là "business chấp nhận tính năng". Đến ngày cuối, sponsor hỏi "UAT xong chưa, go-live được chưa?" thì không ai trả lời được vì "chấp nhận" là khái niệm cảm tính. Có 3 người nói ổn, 2 người còn lăn tăn về cách hiển thị phí với đơn hàng combo.

Chị Linh xử lý bằng cách quay về đúng gốc QA của mình: định lượng hóa. Chị họp khẩn, viết lại exit criteria thành con số cụ thể — "45/45 kịch bản critical pass; 0 defect Critical/High mở; 3 defect Medium còn lại đã có owner và ngày fix; tỷ lệ pass tổng thể ≥ 95%". Sau đó chị lấy số liệu thực từ đội QA: 44/45 critical pass, còn 1 case combo đang fail.

Nhờ tiêu chí rõ ràng, quyết định trở nên minh bạch: chưa đủ exit criteria, lùi go-live 2 ngày để fix case combo. Sponsor đồng ý ngay vì thấy con số, không cãi cảm tính.

Bài học: Exit criteria mơ hồ là cái bẫy chết người của UAT. BA từ nền QA có lợi thế lớn ở đây — bạn vốn quen làm việc với pass rate, severity, defect count. Hãy biến thói quen định lượng đó thành công cụ ra quyết định business.

Tình huống 3 — Outsource VN cho khách Nhật: BA chủ trì, QA support đúng vai

Một công ty outsource ở Hà Nội làm dự án quản lý kho cho khách hàng Nhật. UAT diễn ra với key user phía khách hàng ở Tokyo, qua online. Anh Phong (BA, cựu QA) chủ trì; đội QA 3 người support.

Phân vai rất rõ: đội QA dựng môi trường UAT giống production, nạp 5.000 bản ghi dữ liệu kho thật (đã ẩn thông tin nhạy cảm), chạy smoke test trước mỗi buổi để đảm bảo hệ thống không "chết" giữa chừng làm mất uy tín. Anh Phong thì viết UAT scenario theo đúng quy trình nhập-xuất kho của khách, dịch sang ngôn ngữ nghiệp vụ, onboard key user, và mỗi cuối ngày gửi báo cáo tiến độ song ngữ cho sponsor phía Nhật.

Khi key user báo một vấn đề, anh Phong không tự nhảy vào "debug" theo bản năng QA cũ. Anh ghi nhận, chuyển cho QA xác minh đó là bug hay do user thao tác sai, rồi mới ra quyết định. Có lần một "lỗi" hóa ra do key user chưa hiểu quy trình mới — anh xử lý bằng đào tạo lại, không tốn công sửa code.

Bài học: Vai trò chủ trì nghĩa là điều phối, không phải ôm hết việc. Cái bẫy lớn của BA-từ-QA là sa vào việc test/debug vì đó là vùng an toàn cũ. Hãy để QA làm phần kỹ thuật, bạn giữ vai người làm chủ quy trình và giao tiếp.

Hướng dẫn từng bước

Dưới đây là quy trình chuẩn để bạn — một BA xuất thân QA — chủ trì UAT từ đầu đến cuối.

Bước 1 — Viết UAT Plan. Xác định phạm vi (in/out scope), liệt kê người tham gia và phân công ai test phần nào, lập lịch trình theo buổi/ngày, chốt môi trường và công cụ ghi nhận lỗi (Jira, Excel...). Đặc biệt viết rõ entry criteria và exit criteria ngay từ đầu — đừng để đến cuối mới nghĩ.

Bước 2 — Chuyển kịch bản từ test case sang UAT scenario. Đây là lúc tận dụng kho test case của QA, nhưng phải "dịch" lại. Test case QA thường rời rạc và kỹ thuật ("Nhập số âm vào trường giá → báo lỗi"). UAT scenario phải là một luồng nghiệp vụ end-to-end ("Nhân viên tạo đơn bán hàng cho khách VIP, áp voucher 10%, xuất hóa đơn và xác nhận tồn kho giảm đúng"). Gom nhiều test case thành một hành trình người dùng.

Bước 3 — Phối hợp QA chuẩn bị môi trường và dữ liệu. Bạn xác định cần loại dữ liệu nghiệp vụ gì (khách VIP, đơn combo, hàng tồn thấp...), QA lo phần dựng và nạp. Yêu cầu QA chạy smoke test trước buổi UAT đầu tiên.

Bước 4 — Onboard người dùng UAT. Tổ chức buổi kick-off: giải thích mục tiêu UAT, cách ghi nhận lỗi, cách phân biệt "đây là lỗi" với "đây là tôi chưa quen". Phát kịch bản và hướng dẫn rõ ràng. Người dùng business thường không phải dân kỹ thuật — đừng giả định họ biết cách viết bug report tốt.

Bước 5 — Điều phối thực thi. Trong các buổi UAT, bạn là người túc trực hỗ trợ. Khi user gặp vấn đề, đừng vội kết luận — ghi nhận, rồi để QA xác minh bug thật hay thao tác sai. Giữ một bảng theo dõi tập trung.

Bước 6 — Quản lý và phân loại defect cùng QA. QA phân loại severity kỹ thuật; bạn phân loại theo mức độ ảnh hưởng business và quyết định cái nào là blocker cho go-live, cái nào hoãn được sang sau.

Bước 7 — Đối chiếu Exit Criteria. Cuối UAT, lấy số liệu thực (pass rate, open defect theo mức) và đối chiếu với exit criteria đã định. Quyết định rạch ròi: đạt thì go, chưa đạt thì nêu rõ còn thiếu gì.

Bước 8 — Sign-off và báo cáo sponsor. Trình bày kết quả với sponsor bằng ngôn ngữ business, lấy chữ ký nghiệm thu chính thức (UAT Sign-off). Đây là cột mốc pháp lý/hợp đồng, không phải thủ tục hình thức.

Lỗi thường gặp & mẹo

Lỗi 1 — Sa vào việc test thay vì chủ trì. Đây là bẫy số một của BA-từ-QA. Bạn thấy bug là tay ngứa muốn nhảy vào debug. Hãy kiềm chế: vai của bạn là điều phối, để QA làm phần kỹ thuật.

Lỗi 2 — Exit criteria mơ hồ. "Khi business hài lòng" không phải tiêu chí. Luôn định lượng: pass rate, số defect theo severity, có kế hoạch cho defect tồn đọng.

Lỗi 3 — Lẫn lộn UAT với một vòng QA testing nữa. Nếu UAT của bạn chỉ là chạy lại test case kỹ thuật thì bạn đang lãng phí. UAT phải kiểm chứng nhu cầu nghiệp vụ, do người dùng thật thực hiện.

Lỗi 4 — Coi requirement defect như functional bug. Khi user từ chối một tính năng "đúng spec", đó là dấu hiệu spec sai. Đừng đẩy nó vào hàng bug code — ghi nhận như Change Request và đánh giá tác động.

Lỗi 5 — Bỏ qua onboarding người dùng. Business user không biết viết bug report. Nếu không hướng dẫn, bạn sẽ nhận về một đống phản hồi mơ hồ "nó không chạy".

Mẹo: Hãy biến thế mạnh QA thành "vũ khí mềm" của BA. Khả năng nghĩ ra edge case, định lượng chất lượng, phân loại severity — những thứ này khiến UAT Plan và exit criteria của bạn chặt chẽ hơn bất kỳ BA nào chưa từng làm QA. Đó là điểm khác biệt của bạn trên thị trường.

Mẹo: Luôn chạy một buổi UAT dry-run (chạy thử) nội bộ trước khi mời business user vào. Smoke test trước mỗi buổi để hệ thống không sập giữa chừng — uy tín của BA chủ trì phụ thuộc vào sự mượt mà này.

Bài tập thực hành

  • Viết UAT Plan rút gọn. Chọn một tính năng bạn quen (ví dụ: đặt hàng trên app giao đồ ăn). Viết một UAT Plan một trang gồm: scope, người tham gia, entry criteria, exit criteria (phải định lượng), lịch trình 3 buổi.
  • Chuyển test case sang UAT scenario. Lấy 5 test case kỹ thuật bạn từng viết thời QA, gom và viết lại thành 2 UAT scenario theo luồng nghiệp vụ end-to-end, dùng ngôn ngữ business.
  • Định nghĩa Exit Criteria đo được. Viết 4 tiêu chí exit cho UAT của tính năng trên, mỗi tiêu chí phải có con số cụ thể (pass rate, defect count theo severity).
  • Tình huống ra quyết định. Giả sử cuối UAT: 48/50 critical pass, còn 1 defect High mở và 4 defect Medium. Viết một đoạn 150 từ trình bày với sponsor: bạn khuyến nghị go-live hay hoãn, dựa trên exit criteria, và lý do.

Tóm tắt

UAT là điểm chuyển giao đẹp nhất trong hành trình QA-sang-BA, vì nó cho phép bạn dùng lại thế mạnh kiểm thử nhưng nâng lên một tầm vai trò mới. Hãy ghi nhớ ba điều cốt lõi:

  • Phân vai rõ: QA support (dựng môi trường, nạp dữ liệu, theo dõi defect), BA chủ trì (UAT Plan, exit criteria, điều phối, giao tiếp sponsor, sign-off).
  • UAT khác QA testing về bản chất: nó kiểm chứng nhu cầu nghiệp vụ, không phải độ đúng kỹ thuật. Một tính năng đúng spec vẫn có thể fail UAT.
  • Exit criteria phải đo được: đây là nơi nền QA của bạn tỏa sáng. Định lượng hóa quyết định go-live, đừng để nó trôi vào cảm tính.
Cái bẫy lớn nhất bạn cần tránh là sa lại vào việc test vì đó là vùng an toàn cũ. Từ bài này trở đi, mỗi khi vào UAT, hãy tự hỏi: "Mình đang chủ trì hay đang thực thi?" Câu trả lời sẽ cho biết bạn đã thật sự trở thành BA hay chưa.