Get in touch
or send us a question?
CONTACT

Agile Testing – Mùa 3: Kỹ Thuật Kiểm Thử

Chào mừng bạn đến với mùa 3 của series Agile Testing! 🎉 Nếu bạn đã theo dõi từ mùa 1 và mùa 2, hẳn bạn đã có nền tảng vững chắc về Agile Testing. Trong mùa này, chúng ta sẽ đi sâu vào các kỹ thuật kiểm thử quan trọng giúp đội ngũ phát triển phần mềm đảm bảo chất lượng một cách hiệu quả nhất.


🏗️ ATDD & BDD: Kiểm Thử Hướng Dẫn Đầu

ATDD (Acceptance Test-Driven Development)

  • Tester, Developer, BA cùng viết các bài kiểm thử chấp nhận (Acceptance Test) trước khi phát triển tính năng.
  • Đảm bảo phần mềm đáp ứng yêu cầu ngay từ đầu.
  • Ví dụ công cụ: FitNesse, Cucumber.

BDD (Behavior-Driven Development)

  • Mở rộng từ TDD, giúp giao tiếp giữa nhóm kỹ thuật và phi kỹ thuật tốt hơn.
  • Viết kịch bản kiểm thử bằng ngôn ngữ tự nhiên (Gherkin: Given-When-Then).
  • Ví dụ công cụ: Cucumber, SpecFlow.

📌 Bảng So Sánh ATDD vs BDD

Đặc điểmATDDBDD
Trọng tâmKiểm thử chấp nhậnHành vi người dùng
Đối tượng sử dụngTester, Dev, BADev, BA, PO
Ngôn ngữCấu trúc kiểm thửGherkin
Khi nào sử dụng?Khi cần đảm bảo yêu cầu đã được đáp ứng trước khi codeKhi cần tăng cường giao tiếp giữa các bên liên quan

🔺 Test Pyramid & Test Quadrants

🏗️ Test Pyramid

  • Unit Test (Nhiều nhất, chạy nhanh)
  • Service/API Test (Trung bình, kiểm tra logic nghiệp vụ)
  • UI Test (Ít nhất, nhưng quan trọng để kiểm tra giao diện)

🏆 Agile Test Quadrants

QuadrantMục tiêuLoại kiểm thử
Q1Kiểm thử codeUnit Test, API Test
Q2Hỗ trợ đội ngũFunctional Test, Usability Test
Q3Đánh giá sản phẩmExploratory Test, UAT
Q4Kiểm thử phi chức năngPerformance, Security

🏁 Sprint Zero & Test Planning

Các Hoạt Động Quan Trọng

  • Xác định tiêu chí Definition of Done (DoD).
  • Lập kế hoạch kiểm thử (Test Planning).
  • Xây dựng môi trường kiểm thử.
  • Chuẩn bị test data.
  • Thiết lập CI/CD.

📌 Checklist Sprint Zero ✅ Định nghĩa DoD, DoR
✅ Thiết lập môi trường Dev/Test
✅ Tích hợp kiểm thử tự động vào CI/CD


🎯 Phân Tích Rủi Ro Chất Lượng

  • Xác định rủi ro tiềm ẩn.
  • Ưu tiên rủi ro theo mức độ ảnh hưởng.
  • Chiến lược giảm thiểu rủi ro.

📌 Ví dụ về bảng phân tích rủi ro

Rủi roẢnh hưởngKhả năng xảy raGiải pháp
Server downtimeCaoTrung bìnhXây dựng hệ thống backup
Data lossRất caoThấpCơ chế backup tự động

🕵️ Exploratory Testing

  • Kiểm thử không theo kịch bản cứng nhắc.
  • Tester tự do khám phá hệ thống.
  • Đặc biệt hiệu quả trong phát hiện lỗi tiềm ẩn.

📌 Kỹ Thuật Exploratory Testing

✅ Session-Based Testing
✅ Error Guessing
✅ Pair Testing


🛠️ Công Cụ Agile Testing Phổ Biến

Công cụLoại kiểm thử
SeleniumUI Automation
JUnit/TestNGUnit Test
CucumberBDD
JIRA/XrayTest Management

🎬 Kết Luận: Hoàn Thành Series Agile Testing 🎉

Chúc mừng bạn đã hoàn thành cả 3 mùa của series Agile Testing! 🚀

💡 Tóm Tắt Toàn Bộ Series:

Mùa 1: Cơ bản về Agile Testing
Mùa 2: So sánh mô hình truyền thống & Agile, chiến lược kiểm thử
Mùa 3: Kỹ thuật kiểm thử quan trọng

Agile Testing không chỉ là công việc của Tester, mà là trách nhiệm của cả đội ngũ phát triển phần mềm. Hy vọng bạn đã có thêm nhiều kiến thức hữu ích để áp dụng vào công việc thực tế. Hãy tiếp tục học hỏi, thử nghiệm, và không ngừng cải thiện! 💪🔥

👉 Nếu bạn thấy series này hữu ích, hãy chia sẻ với đồng nghiệp nhé! 💡