Mmaiqai.com
🧩 CT-AI · Chương 6 · Mục 6.1.9

A/B testing: để dữ liệu thật quyết định phiên bản nào tốt hơn

🎯 Mục tiêu học (LO AI-6.1.9 · mức K2 – Hiểu): giải thích cách dùng A/B testing trong bối cảnh hệ thống ML.

💡 Ý cốt lõi: A/B testing so sánh phản hồi của hai biến thể (A và B) với cùng input để xác định biến thể nào tốt hơn — một cách tiếp cận thống kê, dùng chính hệ hiện tại làm test oracle một phần.

Cách hoạt động & ứng dụng

Ví dụ đơn giản: gửi hai loại ưu đãi khuyến mãi (A và B) tới hai nửa danh sách marketing; hiệu quả của mỗi ưu đãi giúp quyết định dùng cái nào trong tương lai. Nhiều công ty thương mại điện tử & web dùng A/B testing trong production, chuyển hướng người dùng khác nhau đến chức năng khác nhau để tìm hiểu sở thích người dùng.

A/B testing là một cách giải quyết test oracle problem — dùng hệ thống hiện có như một oracle một phần. A/B testing không tự sinh test case và không hướng dẫn cách thiết kế test, dù input vận hành thực tế thường được đưa vào test.

A/B testing dùng để test bản cập nhật cho hệ AI, với điều kiện có tiêu chí chấp nhận đã thống nhất, ví dụ thước đo hiệu năng chức năng ML (3.3). Mỗi khi hệ được cập nhật, A/B testing xác định biến thể mới có hiệu năng bằng hoặc tốt hơn biến thể trước không. Có thể áp dụng cho bộ phân loại đơn giản lẫn hệ phức tạp hơn nhiều — ví dụ so sánh thời gian di chuyển trung bình giữa hai biến thể của một hệ định tuyến giao thông thông minh trong hai tuần liên tiếp.

A/B testing cũng dùng được cho hệ tự học (self-learning): khi hệ có thay đổi, test tự động được chạy, và đặc tính hệ sau thay đổi được so với trước thay đổi — nếu tốt hơn, thay đổi được chấp nhận; nếu không, hệ quay lại trạng thái trước.

🔢 Kỹ thuật thống kê phổ biến cho A/B testing: t-test, z-test, chi-squared test, và Mann-Whitney U test.

📝 Bẫy hay gặp

Đề hay cho một phát biểu nghe hợp lý nhưng sai — nhớ mấy chỗ gài sau:

  • "A/B testing tự sinh test case và hướng dẫn thiết kế test" → SAI: A/B testing không sinh test case, chỉ so sánh phản hồi giữa hai biến thể với input có sẵn.
  • "A/B testing chỉ dùng được cho hệ đơn giản như bộ phân loại" → SAI: cũng dùng được cho hệ phức tạp (định tuyến giao thông) và cả hệ tự học.
  • "A/B testing không liên quan gì đến test oracle problem" → SAI: A/B testing là một cách giải quyết test oracle problem, dùng hệ hiện có làm oracle một phần.

📌 Ghi nhớ

A/B testing = so sánh 2 biến thể trên cùng input → chọn cái tốt hơn, cần tiêu chí chấp nhận rõ ràng

Với tester: khi cập nhật một hệ AI đang chạy production, A/B testing là cách phổ biến để xác nhận "không tệ hơn" trước khi rollout toàn bộ — nhớ phân biệt với back-to-back testing (6.1.10): A/B dùng thước đo hiệu năng & thống kê để so sánh hai biến thể, còn back-to-back dùng để phát hiện lỗi qua pseudo-oracle.

📖 Thuật ngữ Anh–Việt (mục này)

Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.

Thuật ngữ (EN)Nghĩa & ghi nhớ nhanh
A/B testingSo sánh hai biến thể để chọn phiên bản tốt hơn
Test oracle problemBài toán khó xác định kết quả đúng cho hệ AI
Partial test oracleOracle một phần — không xác nhận đúng tuyệt đối, chỉ so sánh
t-test / z-testKiểm định thống kê so sánh trung bình hai nhóm
Chi-squared testKiểm định Chi-bình phương
Mann-Whitney U testKiểm định phi tham số so sánh hai nhóm độc lập
Self-learning systemHệ tự học — tự cập nhật model theo dữ liệu mới

🎯 Câu hỏi minh họa (phong cách đề CT-AI · K2)

After a self-learning MLS makes a change, automated tests compare the resulting system characteristics with those before the change. If performance is not better, the system reverts. Which technique does this describe?

  • a) Metamorphic testing.
  • b) A/B testing.
  • c) Adversarial testing.
  • d) Drift testing.
Xem bản dịch tiếng Việt

Sau khi một MLS tự học có thay đổi, test tự động so sánh đặc tính hệ thống sau thay đổi với trước thay đổi. Nếu hiệu năng không tốt hơn, hệ quay lại trạng thái cũ. Đây là kỹ thuật nào?

a) Metamorphic testing.

b) A/B testing.

c) Adversarial testing.

d) Drift testing.

Xem đáp án & giải thích

Đáp án đúng: b — so sánh trước/sau thay đổi rồi giữ hoặc revert theo kết quả tốt hơn chính là ứng dụng A/B testing cho hệ tự học.

a sai — metamorphic testing kiểm tra quan hệ input/output, không so sánh hai phiên bản hệ thống.

c sai — adversarial testing tạo input đánh lừa, không so sánh trước/sau thay đổi.

d sai — drift testing theo dõi thay đổi dữ liệu/khái niệm theo thời gian, không phải so sánh hai biến thể hệ thống.

Đề để tiếng Anh cho sát đề thi thật; phần giải thích để tiếng Việt cho dễ hiểu. Câu hỏi do maiqai.com tự soạn theo phong cách đề.

📎 Nguồn: Chương 6 – Kiểm thử mô hình cho hệ thống ML, mục 6.1.9 "A/B Testing", trang 61 — ISTQB® Certified Tester AI Testing Syllabus v2.0 (© International Software Testing Qualifications Board). Nội dung biên soạn/dịch ý lại bằng tiếng Việt, không sao chép nguyên văn.