Crowd testing, a kind of…

Thực hiện phương pháp test bởi nhóm người dùng khách quan (alternative focus group)

(Ảnh: Pixel Art Suits – Nguồn: blog.smartbear.com)

Crowd testing không phải topic mới, bởi nó khả phổ biến trên thế giới, đặc biệt là các công ty chuyên làm dịch vụ testing. Có 1 tên gọi khác mà bạn cũng hay gặp, đó là “crowd-source testing”, với nôm na ý tưởng là sử dụng 1 nhóm người dùng nhất định để test sản phẩm của bạn (hoặc công ty bạn) làm ra. Ở góc độ chuyên nghiệp, crowd testing nhằm giải quyết những vấn đề cụ thể như:

  • Cross-culture: Sản phẩm được thực hiện ở 1 nước, nhưng phục vụ global users, cũng có nghĩa là target users của bạn ở nhiều đất nước khác nhau, văn hóa, ngôn ngữ, tôn giáo và nhận thức / tư duy khác nhau. Chính vì thế mà nếu sản phẩm chỉ được test bởi 1 nhóm tester ở trong công ty của bạn là không đủ.
  • Alternative view: Với một nhóm được chọn ngẫu nhiên bao gồm những người chuyên nghiệp lẫn không chuyên, bạn sẽ có số liệu usability test có tính trung thực cao hơn. Bởi nếu bạn và những thành viên trong nhóm cùng test sản phẩm với nhau thì “tính khám phá” sẽ không còn do nhóm đã tham gia phát triển sản phẩm được 1 thời gian nhất định. Vd: nếu test phần registration thì sau vài lần self-test bạn / hoặc developer trong nhóm sẽ thao tác rất nhanh để đi qua bước đó. Cảm quan về layout, color, first feeling cũng không còn mới nữa.v.v..
  • Quick failure, quick rebuild: Khi đưa sản phẩm dạng MVP (Most Valuable Product) cho nhóm crowd testing, bạn có cơ hội kiểm chứng tính đúng đắn, hiệu quả của tính năng cũng như giao diện nhanh hơn. Điều này giúp giảm thiểu sự “tranh cãi” trong nội bộ nhóm, cũng như giảm thiểu lỗi usability tới end-user thực sự của bạn.
  • Improve personas: Personas là một công việc khá nặng nhọc nếu làm cẩn thận vả kỹ lưỡng, tuy nhiên trong nhiều dự án có thời gian phát triển ngắn, việc interview người dùng để phát triển nghiên cứu personas là khá khó khăn cũng như tốn nhiều thời gian và chi phí. Crowd-testing với sự lựa chọn của nhóm “rộng” hơn và “tập trung” hơn vào thị phần bạn hướng tới sẽ giúp bạn có phản hồi tích cực.
  • Ego is good: Ego (cái tôi), trong nhiều trường hợp bị tẩy chay, nhất là làm việc nhóm, nhưng trong testing lại là 1 điều tích cực. Tại sao? Bởi Ego là bản chất của con người. Khi được mời test 1 sản phẩm, bạn sẽ nghĩ gì? OK, sản phẩm này có phục vụ cho “tôi” đạt được cái “tôi” muốn hay không? Để xem họ làm ăn ra sao, kiểu gì chả có lỗi? và “tôi” thích thú khi tìm ra lỗi, và cảm giác đó giúp “tôi” thấy mình thật cool. (may mà có “tôi” không thì sản phẩm bị lọt lỗi ra ngoài nhé!).v.v…
  • v.v.. và nhiều lợi ích khác nữa (lúc nào rảnh mình chém tiếp).

crowd-test

(Ảnh minh họa crowd testing, nguồn Applause)

nhóm của tôi, crowd testing được thực hiện đơn giản hơn và mục tiêu hướng tới usability nhiều hơn. Thay vì phân loại crowd testing thành từng phần chuyên nghiệp như: Functional, Security, UI, Performance.v.v.. thì tôi hướng tới việc để các bạn test tự phát (un-educated users). Mục đích là để tôi và nhóm phát triển có cái nhìn trung thực về end-users’s feeling.

Qua thời gian thử nhiệm 1 năm, tôi rút ra kinh nghiệm thực hiện crowd testing cho nhóm với các bước đơn giản như sau:

  • Thời điểm: Sau khi sản phẩm được QA test xong, các lỗi đã được xử lý, tôi gửi email cho cả công ty (khoảng 60 người) và yêu cầu họ hỗ trợ “dùng thử” sản phẩm.
  • Đối tượng: Tất cả mọi người, từ em lễ tân tới kế toán hay những nhóm chuyên môn (PM, QA, PHP, Front-end, Managers..) khác.
  • Thời gian test: 30 phút (bạn có thể để dài hơn nhưng thực ra theo mình thấy để dài hơn sẽ không hiệu quả, thời gian ngắn, bạn sẽ chỉ test những thứ mà bạn thích test nhất, hoặc 30 phút cũng cho bạn thấy với newbie users, thời gian đó có đủ để họ biết dùng sản phẩm hay không?)
  • Xử lý phản hồi / ý kiến đóng góp: Nên làm đơn giản nhất có thể. Tránh sử dụng những nhứ professional như JIRA, Trello, Basecamp… nó quá xa vời với người không chuyên và cũng “mất thời gian” để log bug. Với tôi, tạo 1 file Google excel hoặc 1 shared folder để mọi người kéo thả screen shots lên đó là đủ.
  • Sử dụng online chat tool: Cứ thử đi, xem có ai dùng không? có ai hỏi bạn cách sử dụng không? Zopim là 1 tool miễn phí tốt cho bạn.
  • Stop and review: Bạn phải kiên quyết giữ qui tắc 30 phút. Hết thời gian là ngắt truy nhập 🙂 để sau đó nhóm của bạn tiến hành review, thiết lập ưu tiên cho những bug / hay đóng góp quan trọng và lên kế hoạch hoàn thiện sản phẩm. Quyền quyết định vẫn nằm ở nhóm của bạn, nhưng hãy tập trung vào những ý kiến khách quan và có tính cụ thể cao. Tránh những ý kiến kiểu như “liệu tăng scale lên 1000 concurrent users thì sẽ thế nào?”, hoặc “Ứng dụng khó dùng quá..!”,v.v.. Nói chung là cần tỉnh táo, khách quan.

Crowd testing ở góc độ của tôi có phần nào giống Sprint Demo của Scrum, nhưng thay vì demo theo tuần (cái mà ít hiệu quả ở 1 công ty mà ai cũng bận rộn) thì nhóm của tôi demo ở giai đoạn sản phẩm đã có thể dùng được đối với user. Nghĩa là người dùng có thể chạy hết một user journey.

Bạn có thể áp dụng gamification như giải thưởng cho người test tốt nhất, lỗi tìm ra nhiều nhất, đóng góp về mặt usability hay nhất.v.v.. để tăng tính sôi nổi của cuộc chơi.

Khi sản phẩm được đem ra crowd testing, cũng có nghĩa là cả nhóm phải cố gắng làm thật tốt, chỉn chu hơn. Tester cũng cố gắng test cẩn thận hơn và vì thế bạn có cơ hội kiểm nghiệm nhiều hơn một chút.

What to Test in A/B

Test cái gì trong A/B testing, và thực hiện A/B test cho website như thế nào?

ab website-testing

(Ảnh: kết quả thử nghiệm A/B testing, nguồn Internet)

A/B testing hiện tại có lẽ đang là một khái niệm được áp dụng rộng rãi trong các chiến dịch marketing, đi kèm với micro site hoặc các landing page quảng cáo. Khái niệm cơ bản của A/B testing tôi đã trình bày trong blog trước đây, tuy nhiên thực hiện như thế nào thì cần phải có kế hoạch cũng như chiến thuật cụ thể hơn.

This process begins with the most important question of all: What is the purpose of your site?

Có thể nói, ở Việt Nam thì không nhiều công ty có đủ chi phí, sự kiên nhẫn và mindset làm A/B testing. Nghe thì hay, nói thì hay nhưng không phải ai cũng muốn thực hiện nghiêm túc, đa phần chỉ dừng lại ở mức theo dõi Google Analytic xem số liệu rồi điều chỉnh chi phí marketing mà thôi. Nhưng nếu muốn làm nghiêm túc thì sao? OK, đầu tiên bạn (hoặc team của bạn, bao gồm cả sếp) phải trả lời câu hỏi mục đích của website (hoặc landing page) là gì? Không có đích đến, sẽ không hoạch định được đường đi đúng đắn.

Khi đã có mục tiêu cụ thể, A/B testing được tiến hành theo 05 bước phổ biến như sau:

  1. Define success: Thiết lập các số liệu dưới dạng tiêu chuẩn mà các nhóm triển khai sản phẩm (website cùng hướng tới). Thường sẽ có 02 nhóm A và B. Bạn sẽ không thể xác định xem giải pháp của nhóm nào giành phần thắng nếu như không xác định các số liệu định lượng một cách rõ ràng. Số liệu có thể là thời gian trung bình 01 user xem một trang web, số lượng pageviews, số lượng đơn đặt hàng trung bình, số lượng visitor, doanh thu / trên 1 visitor.v.v… (Cũng có thể lựa chọn các thông số như churn rate, exit rate, conversion rate…)
  2. Identify bottlenecks: Phối hợp cùng với nhóm của bạn, cùng với số liệu analytic của website, phân tích xem website đang bị “tắc” ở đâu? nghẽn ở khâu nào? người dùng dừng lại và bỏ đi từ trang nào nhiều nhất trên website? trang checkout có vấn đề gì không? hoặc trang xem chi tiết sản phẩm có cần cải tiến ở khâu nào để người dùng đặt hàng dễ dàng hơn? A/B testing không nhất thiết phải test tất cả các trang trong 1 website, chỉ cần tìm ra “bottleneck” và cải tiến triệt để sẽ mang lại hiệu quả rõ rệt.
  3. Construct a hypothesis: Hypothesis nghĩa là giả thuyết. Sau khi xác định được “bottleneck” của website ở đâu, các nhóm xây dựng website cần tiến hành hàng loạt các thủ tục, các bài test để đưa ra giả thuyết về người dùng. Ví dụ như phỏng vấn một lượng người dùng (user interview), theo dõi, quan sát hành vi của một nhóm người dùng (focus group) hoặc lấy thông tin phản hồi (thông qua feedback form)… để rồi từ đó đưa ra các giả thuyết, cũng như các thay đổi cần thiết, các cách thức thực hiện thay đổi (về giao diện, về qui trình mua hàng online chẳng hạn).
  4. Prioritize: Khi có một mớ các giả thuyết, bước tiếp theo là đưa ra mức độ ưu tiên. Cải tiến cái nào trước, test cái nào trước, thử nghiệm giải pháp nào trước. Tất cả tùy thuộc vào mục tiêu mà chúng ta đã đặt ra ban đầu. Chẳng hạn như website e-commerce thì những màn hình check-out, payment cần ưu tiên hơn là test các API tương tác với các đại lý.
  5. Test: Sau cùng, khi đã có các giải pháp thử nghiệm theo thứ tự ưu tiên (thường 1 trang màn hình trên website sẽ có 2 giải pháp A và B để 2 nhóm tiến hành test), công việc phải làm chính là test. Việc test được tiến hành với những nhóm người dùng ngẫu nhiên (có thể thuê freelancer, tình nguyện viên, sinh viên vào dự án test này).

Đầu ra của việc A/B test chính là các báo cáo, với những thông số analytic mới và các nhóm (nhóm A, nhóm B) lại tiến hành cập nhật, cải tiến giải pháp của mình. Chu trình A/B test bao gồm 5 bước nêu trên có thể được thực hiện lặp lại nhiều lần, cho tới khi các giải pháp thay đổi đáp ứng được mục tiêu đặt ra (thường là về số liệu) ban đầu.

Sau khi kết thúc dự án A/B testing (gọi là dự án nội bộ), người quản lý dự án chọn ra phương án (A hoặc B) đáp ứng yêu cầu tốt nhất để từ đó triển khai cho sản phẩm go live. Lưu ý nhỏ là A/B testing không nhất thiết phải tiến hành khi dự án website mới bắt đầu, A/B testing phục vụ cho cải tiến, kiểm nghiệm những phương áp thay đổi, phát triển sản phẩm trong suốt vòng đời của sản phẩm đó.