Không phải dự án nào cũng cần kiểm thử bài bản, nhưng bỏ qua đúng thời điểm thì tiền sửa sau gấp nhiều lần tiền làm đúng từ đầu.
Kiểm thử người dùng cần thiết nhất khi Anh Chị sắp bỏ tiền lập trình một luồng quan trọng như đặt hàng, đăng ký, hoặc thanh toán và chưa chắc khách có tự làm được không. Không cần chờ sản phẩm hoàn chỉnh: quan sát khoảng năm người thật dùng thử bản mẫu đã đủ để lộ phần lớn vấn đề. Làm sớm trên bản mẫu rẻ hơn nhiều so với sửa sau khi đã lập trình xong.
Kiểm thử người dùng (usability testing) là quan sát người thật thực hiện nhiệm vụ thật trên sản phẩm của mình, rồi ghi lại chỗ họ vấp, kẹt, hoặc hiểu nhầm. Câu hỏi không phải "có nên làm không" mà là "làm lúc nào và làm ở mức nào". Không phải dự án nào cũng cần kiểm thử bài bản, nhưng bỏ qua đúng thời điểm thì chi phí sửa sau khi lập trình xong có thể gấp nhiều lần chi phí làm đúng từ đầu.
Trước khi hỏi "có cần kiểm thử không", hãy trả lời ba câu này:
Nielsen Norman Group ước tính khoảng năm người dùng trong kiểm thử định tính đã đủ để phát hiện phần lớn vấn đề khả dụng, dựa trên mô hình xác suất phát hiện lỗi. Tuy nhiên, con số này có giới hạn quan trọng cần biết: nó giả định nhóm khách tương đối đồng nhất và các vấn đề có tần suất xuất hiện trung bình. Các nhà nghiên cứu Spool và Schroeder đã phản biện rằng với sản phẩm phức tạp hoặc nhiều nhóm khách rất khác nhau, năm người có thể bỏ sót nhiều vấn đề quan trọng.
Hướng dẫn thực hành của NNG gợi ý: nếu có hai nhóm khách khác nhau thì khoảng ba đến bốn người mỗi nhóm, từ ba nhóm trở lên thì khoảng ba người mỗi nhóm. Đây là con số theo kinh nghiệm, không phải công thức cứng. Điều quan trọng hơn là cách tổ chức các đợt kiểm thử.
Thay vì kiểm thử mười lăm người một lần, hãy chia thành ba đợt năm người, sửa lỗi giữa các đợt rồi kiểm thử lại. Bản sửa thường sinh ra lỗi mới, nên cần kiểm chứng tiếp.
Nielsen Norman Group, Why You Only Need to Test with 5 Users
Trong quy trình của Sinh Vũ, bản mẫu (prototype) có thể bấm thử được dựng ở giai đoạn giữa dự án, trước khi chuyển sang lập trình. Đây là điểm tự nhiên và hợp lý nhất để kiểm thử. Chi phí sửa bản mẫu tính bằng giờ, chi phí sửa luồng đã lập trình tính bằng ngày.
Với dự án website tiêu chuẩn, cách tiếp cận thực tế là tập trung kiểm thử vào một đến hai luồng đáng tiền nhất: thường là luồng liên hệ hoặc đặt hàng. Không cần kiểm thử toàn bộ website. Quan sát năm đến bảy người thật dùng thử bản mẫu các luồng đó, ghi lại chỗ họ dừng lại hoặc hỏi, rồi chỉnh thiết kế trước khi giao cho lập trình viên.
Sinh Vũ không cam kết con số chuyển đổi cụ thể sau kiểm thử. Nhưng kinh nghiệm thực hành cho thấy: phát hiện một vấn đề quan trọng trong luồng thanh toán ở giai đoạn bản mẫu tránh được rủi ro phải làm lại toàn bộ luồng sau bàn giao, điều đó đủ để việc kiểm thử sớm có giá trị.
Why You Only Need to Test with 5 Users, Nielsen Norman Group; How Many Test Users in a Usability Study?, Nielsen Norman Group; Spool & Schroeder, Testing Web Sites: Five Users Is Nowhere Near Enough, CHI 2001 (nguồn phản biện); kinh nghiệm thực hành Sinh Vũ.
Hoàn toàn được, và đây là thời điểm tốt nhất. Kiểm thử trên bản mẫu (prototype), tức bản thiết kế có thể bấm thử nhưng chưa lập trình, rẻ hơn nhiều và dễ sửa hơn nhiều so với kiểm thử trên bản đã dựng thật. Sinh Vũ thường đề xuất kiểm thử ở giai đoạn này trước khi chuyển sang lập trình.
Không nên. Nhân viên nội bộ đã quen với sản phẩm, quen với cách công ty dùng từ ngữ và cấu trúc luồng, nên họ không phản ánh được hành vi của khách thật. Kết quả kiểm thử từ nhóm này thường bỏ sót phần lớn vấn đề mà khách bên ngoài sẽ gặp.
Nielsen Norman Group ước tính khoảng năm người đủ để phát hiện phần lớn vấn đề trong kiểm thử định tính, nhưng con số này dựa trên giả định nhóm khách tương đối đồng nhất. Nếu Anh Chị có nhiều nhóm khách rất khác nhau, ví dụ người mua lẻ và đại lý, thì cần thêm người cho mỗi nhóm. Quan trọng hơn là lặp nhiều đợt nhỏ thay vì dồn một đợt lớn.