Get in touch
or send us a question?
CONTACT

Risk-Based Testing – Kiểm thử dựa trên rủi ro cho QA/QC trong phát triển phần mềm hiện đại

Trong bối cảnh phần mềm ngày càng phức tạp và thời gian release bị rút ngắn, việc kiểm thử toàn diện mọi chức năng là điều gần như không khả thi. Đây chính là lúc Risk-Based Testing (RBT) – kiểm thử dựa trên rủi ro – trở thành một chiến lược quan trọng giúp QA/QC tập trung vào những khu vực có khả năng gây ảnh hưởng lớn nhất đến sản phẩm.


⚠️ Risk-Based Testing là gì?

Risk-Based Testing là phương pháp:

  • Xác định các rủi ro tiềm ẩn trong hệ thống
  • Ưu tiên test dựa trên:
    • Mức độ ảnh hưởng (Impact)
    • Xác suất xảy ra (Likelihood)

👉 Công thức đơn giản:

Risk = Impact × Likelihood


🧠 Vì sao QA cần áp dụng RBT?

Trong thực tế:

  • Deadline luôn ngắn
  • Resource có hạn
  • Scope thường thay đổi

👉 Nếu test “tràn lan”, bạn sẽ:

  • Mất thời gian vào phần ít quan trọng
  • Bỏ sót bug nghiêm trọng

👉 RBT giúp bạn:

  • Tập trung vào core business
  • Giảm thiểu critical bug
  • Tối ưu effort testing

🧩 Các loại rủi ro phổ biến trong phần mềm

1. 🔥 Business Risk

  • Lỗi ảnh hưởng trực tiếp đến người dùng hoặc doanh thu
  • Ví dụ:
    • Thanh toán sai
    • Không login được

2. ⚙️ Technical Risk

  • Liên quan đến hệ thống, code, performance
  • Ví dụ:
    • Crash app
    • Memory leak
    • API timeout

3. 👤 User Experience Risk

  • Trải nghiệm kém nhưng không crash
  • Ví dụ:
    • UI lỗi layout
    • Delay thao tác

4. 🔐 Security Risk

  • Lỗ hổng bảo mật
  • Ví dụ:
    • SQL Injection
    • Lộ thông tin user

📊 Cách áp dụng Risk-Based Testing (thực tế)

Bước 1: Xác định risk items

  • Liệt kê các module:
    • Login
    • Payment
    • Game play
    • Leaderboard

Bước 2: Đánh giá risk

Module Impact Likelihood Risk
Payment High Medium 🔴 High
Login High High 🔴 Critical
UI Color Low Low 🟢 Low

Bước 3: Ưu tiên test

Level Hành động
🔴 High Test kỹ, nhiều case, automation
🟡 Medium Test đủ
🟢 Low Smoke test

🎮 Ví dụ thực tế (Game/Minigame)

Với màn Minigame:

🔴 High Risk:

  • Unity game không load
  • Không save score
  • Crash khi chơi

🟡 Medium:

  • Leaderboard sai thứ tự
  • Ads không reward

🟢 Low:

  • Màu badge sai
  • Text lệch nhẹ

👉 QA nên:

  • Test sâu gameplay + score
  • Test offline/online sync
  • Test memory + performance

🚀 Best Practices cho QA

  • ✔️ Luôn hỏi: “Nếu feature này lỗi thì ảnh hưởng gì?”
  • ✔️ Làm việc với PO/Dev để hiểu business
  • ✔️ Update risk khi có thay đổi
  • ✔️ Kết hợp automation cho high-risk area
  • ✔️ Không test “cho đủ”, test “cho đúng”

❌ Sai lầm phổ biến

  • Test tất cả như nhau (no priority)
  • Bỏ qua risk analysis
  • Không update risk khi release gấp
  • Chỉ test happy case

📌 Kết luận

Risk-Based Testing không chỉ là kỹ thuật, mà là tư duy làm QA chuyên nghiệp.

👉 Một tester giỏi không phải là người test nhiều nhất,
mà là người test đúng chỗ, đúng thời điểm, và đúng rủi ro.


✨ Gợi ý mở rộng

  • Áp dụng RBT vào Agile/Scrum
  • Kết hợp với Automation Testing
  • Sử dụng risk matrix trong test planning