Kiểm thử dưới góc nhìn người dùng

Chuyện là gần đây mình có mua giúp ông cậu một cái Wireless USB Adapter (dùng để gắn vào PC để bắt sóng Wi-Fi cho PC) vì phải gửi về quê nên mình phải “test” trước xem có trục trặc gì không, có dễ cài đặt hay sử dụng không. Việc cài đặt hay sử dụng một ứng dụng xem ra cũng không quá xa lạ với mình nhưng trải nghiệm lần này rất khác, mình sẽ “test” sản phẩm dưới góc nhìn một người dùng. Đoán xem, mình đã khám phá ra nhiều điều thú vị. Nào, chúng ta bắt đầu “test” thôi.

Sản phẩm của mình là một cái Wireless USB Adapter. Hình như bên dưới:

Adapter

Nhớ lại lúc khi mua thì mình có hỏi “có khó cài đặt không” và được em bán hàng trả lời là “dễ lắm, cắm vô là xài”. OK, dễ cài đặt là được vì cậu mình không rành vi tính lắm. Mình đem về, tháo vỏ ra và cắm ngay vào laptop Win 7 của mình. Máy bắt đầu dò tìm driver và báo lỗi không tìm thấy driver. Mình liền vào Device Manager và chọn update driver cho thiết bị và được đề nghị 2 giải pháp là tìm driver tự động hay cài thủ công. Dĩ nhiên ai chẳng muốn tự động mình chọn giải pháp tìm và cài đặt driver tự động:

search_driver_auto

Sau một lúc chờ đợi thì xuất hiện thông báo lỗi cài đặt driver không thành công

auto_update_driver

Oh, có vẻ như không dễ như em bán hàng nói. Vậy là phải cài đặt driver thủ công.

Mình xem lại hộp thì thấy có một đĩa mini-CD driver bán kèm theo. Vậy là quá tốt, đỡ phải mất công tìm và download driver thủ công. Bỏ đĩa CD vào máy và auto-run kích hoạt chương trình cài đặt driver xuất hiện:

driver_app

Theo thói quen, mình nhấn chọn “install”. Quá trình cài đặt hoàn tất thành công và không có lỗi gì. Trên màn hình Desktop, icon của chương trình cấu hình Wi-Fi “TOTOLINK 11n USB Wireless LAN Utility” hiển thị. Double click để mở chương trình nhưng chờ 1 phút, 2 phút, 3 phút rồi 5 phút vẫn không thấy ứng dụng được mở lên. Kiểm tra thông tin driver trong Device Manager thì thấy báo là driver vẫn chưa được cài thành công. Rõ ràng mình đã hoàn tất việc cài đặt driver cũng như không có báo lỗi gì cả. Khởi động lại máy tuy nhiên máy vẫn báo chưa nhận được driver. Hài nhất là thông báo từ Windows khi mình chọn cập nhật driver:

microsoft_error

Đại khái, Windows báo rằng “Driver tốt nhất đã được cài trên máy bạn rồi”. Thông báo này rất dễ gây nhầm lẫn, driver tốt nhất là thế nào trong khi máy vẫn không nhận được driver và thiết bị không xài được.

Mình suy nghĩ, có thể mình đã vội vàng và bỏ qua bước nào đó nên bỏ đĩa CD lại vào máy và bắt đầu cài lại driver.

Khi chương trình cài đặt driver xuất hiện, để ý kỹ hơn thì thấy có một dropdown hiển thị những driver của những model tương ứng. À, thì ra có thể mình đã chọn nhầm phiên bản driver để cài đặt.

driver_app

Tìm lại trên vỏ hộp thì thấy model của mình là “N150USM”. Khi chọn lại dropdown để chọn model mình cần, mình vô tình nhấn delete ở dropdown và oops, xuất hiện một thông báo lỗi truy xuất:

access_error

Một thông báo lỗi quá thiên về kỹ thuật. Bao nhiêu người dùng có thể hiểu được nội dung của thông báo lỗi. Ngoài ra, việc thiết kế một dropdown cho phép người dùng nhập dữ liệu để tìm driver là không hợp lý (và dẫn đến lỗi bên trên)

Mọi thứ bắt đầu trở nên thú vị. Mình đóng thông báo lỗi và tiếp tục quá trình cài đặt.

Trước khi test tiếp, mình sực nhớ mình quên đọc hướng dẫn cài đặt hay hướng dẫn sử dụng. Đa phần chúng ta ít để ý đến hướng dẫn sử dụng cho đến khi chúng ta gặp rắc rối nào đó với sản phẩm. Sản phẩm không có bán kèm hướng dẫn sử dụng in sẵn nhưng có file Manual với định dạng .PDF trong đĩa CD cài đặt. “Uhm, ít ra phải vậy chứ” mình nghĩ. Vào thư mục “Manual” trong CD thì mình thấy có 2 file “N150UA,N150USM MANUAL.pdf” và “N150USM,N300UT MANUAL.pdf” như hình bên dưới:

misleading_file_name_1

Mình bắt đầu bị rối. Cả 2 file đều có model “N150USM” (model của sản phẩm mình) vậy mình đọc file nào? OK, nếu cả 2 file đều có đề cập đến model “N150USM” vậy thì mình ngầm định rằng cả 2 file đều có thể dùng được. Tuy nhiên, rõ ràng tiêu đề của 2 file rất dễ gây nhầm lẫn và mang tính đánh đố người dùng. Tiếp tục, mình chọn và mở 1 file và nội dung file như sau:

manual_1

Tất cả nội dung đều bằng tiếng Hoa. Trong khi chờ đợi để đăng ký học lớp tiếng Hoa thì mình quyết định tiếp tục bằng cách xem hình ảnh minh họa (một hình ảnh có giá trị hơn ngàn lần từ ngữ). Theo như trong hình thì bước 1 chọn driver, bước 2 nhấn install. Nhưng mà khoan, để ý kỹ thì thấy ở bước số 1, driver mặc định lại là model “N150UA” khác với model của mình “N150USM”. Sự tò mò khiến mình đặt câu hỏi, vậy ở file Manual còn lại có gì?. Mình liền mở file Manual còn lại. Hướng dẫn cũng toàn tiếng Hoa và bước 1 bước 2 cũng giống như nhau, chỉ có khác nhau ở các bước sau khi nhấn “Install”. Mình không tìm thêm được thông tin nào hữu ích ngoại trừ trong Manual có đề cập đến trang web của công ty. Mình hi vọng trên website công ty có hỗ trợ tiếng Anh hay download driver bằng tiếng Anh. Khi truy cập vào trang web thì không truy cập được. Lỗi như sau:

website

Quá nản và nhức đầu với mớ tiếng Hoa, mình tắt bỏ 2 file Manual và tắt luôn website.

Tuy nhiên, tin tốt là sau khi chọn đúng model driver thì việc cài đặt hoàn tất và sản phẩm hoạt động tạm ổn. Thông tin thêm là mình cũng đã thử toàn bộ quá trình cài đặt trên WinXP, tình hình còn tệ hơn nhưng vì ngày nay WinXP cũng còn ít người xài và Microsoft đã ngưng hỗ trợ từ ngày 8/4/2014 nên mình không đề cập ở đây.

Như các bạn đã thấy, mình vừa kiểm thử dưới góc nhìn của người dùng. Tuy nhiên, mình chỉ mới dừng lại ở bước cài đặt. Mình vẫn chưa đi sâu vào kiểm thử các chức năng chính. Mình vẫn chưa thử việc uninstall. Mình vẫn chưa thử trên môi trường khác nhau như Windows Vista, Win 8, Linux, Mac OS (sản phẩm đề cập hỗ trợ những môi trường này). Mình vẫn chưa áp dụng những kỹ thuật kiểm thử nào đặc biệt cả. Cơ bản mình chỉ vừa tiếp cận sản phẩm với góc độ người dùng, thử với những tình huống khác nhau, quan sát và đặt ra những câu hỏi về sản phẩm. Kết quả là mình đã tìm được khá nhiều thông tin thú vị về sản phẩm. Ai đó khi đọc bài này, có thể phản biện rằng “không, người dùng không làm như vậy. Người dùng biết phải cài driver như thế nào cho đúng. Người dùng biết phải Workaround như thế nào” nhưng vấn đề là người dùng có rất nhiều loại. Người dùng có thể là chuyên gia tin học, người trình độ tầm tầm, người chủ yếu sử dụng vi tính để chơi game đánh bài. Người dùng có thể là người có thể cài đặt server, cấu hình cả một hệ thống phức tạp cũng có thể là người chỉ quen cài đặt các ứng dụng cơ bản hay cũng có người chưa bao giờ phải cài đặt gì cả. Người dùng cũng có người kiên nhẫn, ngồi cài đặt hàng giờ, giỏi chịu đựng hay Workaround tốt cũng có người chỉ vài phút đã nổi cơn điên. Người dùng có người kỹ tính, đọc kỹ hướng dẫn trước khi sử dụng nhưng cũng có người lơ đễnh chủ quan. Với những ai hay hỏi câu hỏi “không phải lỗi, người dùng không bao giờ làm như vậy” thì hãy tự hỏi mình câu hỏi “mình đã biết được bao nhiêu loại người dùng”.

Trở lại với góc nhìn kiểm thử, liệu những vấn đề mình gặp phải ở bên trên có phải là do sản phẩm không được kiểm thử kỹ càng hay không hay năng lực đội kiểm thử cho sản phẩm có vấn đề? Câu trả lời là “Không thể biết được”. Có rất nhiều khả năng có thể xảy ra. Đối với sản phẩm đó, đội kiểm thử có thể chỉ tập trung vào “kiểm” (verification) mà quên mất phần “thử” (validation). Cũng có thể đội kiểm thử biết được những vấn đề này nhưng chí phí để sửa cao, bị bát bỏ là “Không phải bug” hoặc ban quản trị quyết định không sửa. Chúng ta không biết và không thể nào biết được.

Là kỹ sư kiểm thử, chúng ta đôi khi vì quá tập trung vào vấn đề kỹ thuật, quy trình kiểm thử, thiết kế hay thực thi trường hợp kiểm thử mà quên mất câu hỏi “ai là người dùng sản phẩm” và “họ (người dùng) sử dụng sản phẩm đó như thế nào”, “họ cảm thấy sản phẩm như thế nào” và đặc biệt là “liệu họ có mua hay sử dụng tiếp sản phẩm của mình hay không”. Chúng ta có thể thực thi hàng trăm hàng ngàn trường hợp kiểm thử, chúng ta có một hệ thống kiểm thử tự động ổn định cũng như một quy trình kiểm thử gắt gao nhưng nếu chúng ta không hiểu hay hướng về người dùng thì rất nhiều khả năng việc kiểm thử đó là không mang lại nhiều giá trị.

Trong khi có thể chúng ta không thể biết và hiểu hết tất cả đối tượng người dùng nhưng điều chúng ta hoàn toàn có thể làm được là hãy biến mình thành một người dùng trên chính sản phẩm của mình. Hãy trải nghiệm sản mình đang kiểm thử với vai trò người dùng đồng thời nhạy bén với những đánh giá của người dùng khác (bạn đồng nghiệp, của sếp, của bạn bè, của đối thủ). Tất cả những thông tin đó đều rất hữu ích. Nên nhớ chúng ta không phải kiểm thử cho sản phẩm mà là chúng ta đang kiểm thử sản phẩm cho người dùng.

Đọc thêm:

Kiểm thử phần mềm