User Acceptance Testing (UAT) những điều cần biết

UAT là bước quan trọng trong quy trình sản xuất phần mềm, để đánh giá xem sản phẩm có đáp ứng được các yêu cầu/kỳ vọng của End User/Stakeholder hay không. Trong bộ phận sản xuất và phát triển phần mềm của chúng ta, UAT cũng được triển khai với cùng mục đích này. Bài viết sau đây sẽ cung cấp một cái nhìn sâu sắc và toàn diện hơn về UAT, giúp nâng cao hiểu biết và cải thiện kỹ năng thực hiện quy trình kiểm thử, từ đó chất lượng sản phẩm được đảm bảo và đáp ứng được mong muốn của Stakeholder.

User Acceptance Testing là gì?

Theo ISTQB

“Các thử nghiệm chính thức liên quan đến yêu cầu của người dùngquy trình nghiệp vụ được tiến hành để xác định xem một hệ thốngthỏa mãn các tiêu chí chấp nhận hay không và cho phép người dùng, khách hàng hoặc tổ chức được ủy quyền khác xác định có chấp nhận hệ thống đó hay không.”

End User sẽ sử dụngkiểm tra phần mềm để phát hiện lỗi tiềm ẩn và các vấn đề liên quan đến trải nghiệm người dùng.

Sau đó, họ sẽ cung cấp phản hồi cho nhóm phát triển để điều chỉnh phần mềm theo yêu cầu và mong đợi.

Mục đích của UAT?

  • Xác định các bug còn sót hoặc các tính năng chưa hoàn thiện của phần mềm.
  • Ngăn chặn việc phát hiện ra lỗi hoặc phát hiện các tính năng không hiệu quả, chưa hoàn thiện trước khi đưa ra thị trường.
  • Đóng vai trò là bước cuối cùng trong quy trình kiểm thử. Sau khi đã hoàn thành các giai đoạn Unit Testing, System Testing và Regression Testing.
  • Nếu phần mềm có thể vượt qua các giai đoạn kiểm thử trước đó nhưng không đáp ứng UAT thì vẫn cần phải điều chỉnh trước khi đưa ra thị trường.

Khi nào thực hiện UAT?

Để thực hiện UAT một cách hiệu quả, chúng ta cần đảm bảo các điều kiện:

  • Requirement phải có sẵn: Các yêu cầu phải được xác định và tài liệu hóa rõ ràng nhằm đảm bảo UAT kiểm tra được các khía cạnh cần thiết của hệ thống/phần mềm.
  • Source code của sản phẩm cần phải được phát triển đầy đủ: Toàn bộ mã nguồn của sản phẩm phải được phát triển và hoàn thiện nhằm đảm bảo hệ thống hoạt động như mong đợi.
  • Hoàn thành quy trình kiểm thử: Các quá trình kiểm thử phải được hoàn thành đầy đủ trước khi bắt đầu UAT. Đảm bảo các chức năng cơ bản và các phần tích hợp của hệ thống đã được kiểm tra kỹ lưỡng.
  • Không có bug nghiêm trọng hoặc bug khiến cho sản phẩm dừng đột ngột: Hệ thống không được có bug nghiêm trọng hoặc bug khiến cho sản phẩm dừng đột ngột.
  • Báo cáo và fix bug: Tất cả các lỗi phát hiện trong giai đoạn kiểm thử trước đó phải được report và fix trước khi bắt đầu quá trình UAT.
  • Môi trường UAT phải sẵn sàng: Môi trường kiểm thử dành cho UAT phải được chuẩn bị và sẵn sàng sử dụng, đảm bảo quá trình UAT có thể diễn ra hiệu quả và không gặp trở ngại kỹ thuật.
  • Thông báo đã sẵn sàng để UAT: Nhóm phát triển phải thông báo rõ và xác nhận hệ thống đã sẵn sàng cho giai đoạn UAT.

Việc đảm bảo các điều kiện trên sẽ giúp cho quá trình UAT diễn ra suôn sẻ và hiệu quả, từ đó nâng cao chất lượng và độ tin cậy của sản phẩm phần mềm trước khi phát hành đến End User/Stakeholder.

Ai thực hiện UAT?

UAT thường được thực hiện bởi:

  • End User
  • Stakeholder
  • Tổ chức được ủy quyền

Các bước thực hiện UAT

Bước 1 – Phân tích requirement

  • Project charter
  • Business use cases
  • Process flow diagram
  • Business requirements document
  • System requirements specification

Bước 2 – Lập kế hoạch kiểm thử UAT

Kế hoạch UAT bao gồm (nhưng không giới hạn):

  • Entry và exit criteria for UAT
  • Test scenarios
  • Test cases
  • Timeline
  • Test data

Bước 3 – Chuẩn bị test scenario, test case và test data

  • Xác định test scenario và thiết kế test case
  • Đảm bảo test case đủ phản ánh các test scenario đã xác định trước đó
  • Sử dụng use case và kỹ thuật bảo mật cho dữ liệu kiểm thử

Bước 4 – Thực hiện kiểm thử UAT

Người dùng và nhóm kiểm thử thực hiện UAT. Khi kết thúc, người dùng quyết định chấp nhận sản phẩm hay không.

Bước 5 – Xác nhận đã đáp ứng yêu cầu khách hàng

Khi kết thúc UAT, xác nhận kết quả UAT.

Sự khác biệt giữa UAT và Functional Testing

User Acceptance Testing

  • Gồm các bước kiểm thử để xác nhận phần mềm đáp ứng nhu cầu của End User.
  • Khi khách hàng và nhà cung cấp đồng ý với kết quả của UAT, quá trình phát triển phần mềm sẽ được kết thúc.
  • Đánh giá khả năng của phần mềm từ góc độ người dùng, có thể bao gồm các trường hợp sử dụng thực tế.
  • Mục tiêu là đảm bảo sản phẩm đáp ứng yêu cầu và mong đợi của khách hàng.

Functional Testing

  • Kiểm thử chức năng tập trung vào kiểm tra yêu cầu cụ thể và thông số kỹ thuật của phần mềm.
  • Thiếu đi thành phần người dùng, tập trung vào đảm bảo phần mềm hoạt động đúng theo yêu cầu kỹ thuật.
  • Có thể kết luận về việc phần mềm đáp ứng thông số kỹ thuật, nhưng không thể xác định liệu phù hợp với nhu cầu và mong đợi của người dùng hay không.

Các loại UAT hiện nay?

Những thách thức khi UAT

Gia tăng tỷ lệ thành công khi UAT

Giải đáp một số câu hỏi của các bạn:

Q: Trong quá trình UAT, có nên sử dụng lại các test case của tester từ giai đoạn kiểm thử không?
A: Không nên sử dụng lại, vì:

  • Mục đích của kiểm thử là kiểm tra các yêu cầu cụ thể và thông số kỹ thuật của phần mềm. Trong khi đó, UAT nhằm xác nhận phần mềm đáp ứng nhu cầu của người dùng cuối. Do đó, hai giai đoạn này có mục tiêu khác nhau, dẫn đến các test case cũng khác nhau.
  • Quan điểm của người kiểm thử phần mềm trong giai đoạn phát triển sẽ khác với quan điểm của người thực hiện UAT.
  • UAT nên có các test case độc lập để phát hiện những lỗi có thể đã bị bỏ sót trong giai đoạn phát triển.

Q: Trong Eco, PO là người dùng cuối, khách hàng, hay một tổ chức được ủy quyền khác?
A: PO là khách hàng (Stakeholder) của đội phát triển (bao gồm Dev và Tester).

Q: Tổ chức được ủy quyền là gì?
A: Tổ chức được ủy quyền là những tổ chức được thuê để thực hiện kiểm thử độc lập. Thường là các công ty outsource về Testing, được thuê để nghiệm thu sản phẩm.

Q: Trong UAT, có cần kiểm thử kỹ như ở giai đoạn kiểm thử không?
A: UAT chủ yếu tập trung vào việc xác định xem hệ thống có đáp ứng các tiêu chí chấp nhận và mang lại trải nghiệm người dùng tốt hay không. Do đó, không cần lặp lại quy trình kiểm thử chi tiết. Tuy nhiên, tùy theo chiến lược của từng công ty, có thể có những công ty thực hiện UAT theo cách giống như kiểm thử.

Q: UAT thường được thực hiện khi nào?
A: UAT thường được thực hiện sau giai đoạn kiểm thử của QA/Tester và trước khi phát hành lên môi trường PRO.

Related Posts