Get in touch
or send us a question?
CONTACT

Agile Testing – Mùa 2: Khi Tester “Nhảy Vào Cuộc Chơi”

Chào mừng bạn đến với mùa 2 của series Agile Testing! Nếu bạn đã theo dõi mùa 1, hẳn bạn đã có một cái nhìn tổng quan về Agile Testing – nơi tester không chỉ ngồi một góc, hí hoáy gõ test case mà còn tham gia vào mọi giai đoạn phát triển phần mềm.

Mùa này, chúng ta sẽ đi sâu hơn vào sự khác biệt giữa kiểm thử truyền thống và Agile, các phương pháp & chiến lược kiểm thử quan trọng, và đặc biệt là vai trò của tester trong Agile.

Hãy cài seatbelt, vì mùa 2 này sẽ có nhiều cú plot twist đầy bất ngờ! 🚀


1. So sánh mô hình truyền thống và Agile: Ai Làm Gì, Ở Đâu, Khi Nào?

Trước khi “nhập môn” Agile Testing, hãy cùng nhìn lại cách kiểm thử diễn ra trong mô hình truyền thống và so sánh với Agile.

Bảng So Sánh: Kiểm thử truyền thống vs Agile Testing

Tiêu chíMô hình truyền thống (Waterfall)Agile Testing
Thời điểm kiểm thửCuối vòng đời phát triểnNgay từ đầu, kiểm thử diễn ra liên tục
Ai làm kiểm thử?Tester chuyên tráchCả đội (Developer, Tester, PO, BA) cùng tham gia
Viết test case khi nào?Sau khi nhận tài liệu yêu cầuViết song song khi phát triển tính năng (TDD, BDD, ATDD)
Sửa lỗi như thế nào?Cuối dự án, chi phí sửa lỗi caoFix ngay khi phát hiện, giảm chi phí sửa lỗi
Công cụ chínhTest case, test plan truyền thốngTest automation, continuous testing, exploratory testing
Khả năng phản hồi với thay đổiChậm, vì quy trình cứng nhắcNhanh, vì thay đổi được hoan nghênh

Nhìn bảng này, có thể thấy Agile Testing không đơn giản là kiểm thử nhanh hơn, mà còn thay đổi tư duy của cả đội ngũ phát triển phần mềm.


2. Các phương pháp & chiến lược trong Agile Testing

Chúng ta thường nghe nhiều về Test Automation, nhưng kiểm thử Agile không chỉ có automation. Dưới đây là những phương pháp và chiến lược quan trọng mà tester nên biết.

2.1. Phương pháp Agile Testing

🛠 Hardening Iteration – Nước rút để hoàn thiện sản phẩm

  • Khi sprint sắp kết thúc, nhóm dành một khoảng thời gian (thường 1-2 tuần) để tối ưu, fix bug, cải thiện hiệu suất thay vì phát triển thêm tính năng mới.
  • Giống như việc bạn sắp đi thi, thay vì học bài mới, bạn ôn lại kiến thức cũ, rà soát những gì chưa vững để đảm bảo chất lượng.

🔧 Fix Bugs First – Đập lỗi trước khi viết tính năng mới

  • Đây là một nguyên tắc quan trọng trong Agile: Sửa lỗi trước khi tiếp tục phát triển.
  • Nếu để bug tồn đọng, chúng sẽ trở thành “quả bom hẹn giờ”, càng để lâu càng khó fix.
  • Một số nhóm thực hiện Fix Bugs First bằng cách chặn developer tiếp tục coding nếu có bug quan trọng chưa sửa.

2.2. Các chiến lược kiểm thử quan trọng

🎯 Risk-based Testing – Kiểm thử theo mức độ rủi ro

  • Không phải tất cả tính năng đều quan trọng như nhau. Một lỗi nhỏ trên trang liên hệ sẽ ít ảnh hưởng hơn so với lỗi nghiêm trọng trên hệ thống thanh toán.
  • Tester cần đánh giá mức độ rủi ro và ưu tiên kiểm thử những khu vực có tác động cao nhất.

🤖 Test Automation – Kiểm thử tự động để giảm tải công việc thủ công

  • Test automation giúp kiểm thử hồi quy (regression testing) diễn ra liên tục.
  • Các công cụ phổ biến như Selenium, Playwright, Cypress giúp giảm công sức kiểm thử thủ công, nhưng đừng quên rằng không phải lúc nào cũng nên tự động hóa.

✅ Acceptance Testing – Kiểm thử chấp nhận, đảm bảo sản phẩm đúng nhu cầu khách hàng

  • Acceptance Testing không chỉ do tester thực hiện, mà còn có thể do Product Owner (PO) hoặc khách hàng trực tiếp tham gia.
  • Đây là bước kiểm thử cuối cùng trước khi một tính năng được chính thức phát hành.

3. Tester trong Agile – Anh Hùng Thầm Lặng?

3.1. Kỹ năng cần có của một tester trong Agile

Kỹ năngVì sao quan trọng?
Automation TestingGiúp giảm tải công việc lặp đi lặp lại
Exploratory TestingPhát hiện lỗi mà test case thông thường không thể tìm thấy
Risk AnalysisĐánh giá và ưu tiên kiểm thử những tính năng quan trọng
CommunicationAgile đòi hỏi tester giao tiếp thường xuyên với developer, PO, khách hàng
Critical ThinkingGiúp đặt ra những câu hỏi quan trọng để đảm bảo sản phẩm hoạt động đúng

3.2. Những rủi ro & giải pháp

  • Tester bị “lụt” trong thay đổi liên tục? 👉 Giải pháp: Xây dựng test case linh hoạt, sử dụng automation testing để giảm tải.
  • Developer và tester không hiểu nhau? 👉 Giải pháp: Sử dụng các phương pháp như BDD (Behavior Driven Development) để cả hai bên có chung góc nhìn.
  • Sprint quá ngắn, không đủ thời gian test? 👉 Giải pháp: Áp dụng exploratory testing, ưu tiên kiểm thử quan trọng trước.

Agile Tester – Người Gác Cổng Chất Lượng

Trong Agile, tester không chỉ là người tìm lỗi, mà còn là người bảo vệ chất lượng, hỗ trợ đội phát triển và mang lại giá trị thực sự cho khách hàng.

Tóm lại, mùa 2 của series Agile Testing giúp bạn hiểu rõ hơn về:
Sự khác biệt giữa kiểm thử truyền thống và Agile
Các phương pháp & chiến lược quan trọng trong Agile Testing
Vai trò của tester trong Agile, rủi ro và cách đối phó

Mùa 3 của series sẽ tiếp tục với các phương pháp kiểm thử Agile nâng cao! Nếu bạn đang háo hức muốn biết về Pyramid Testing, Agile Test Quadrants và nhiều hơn nữa, hãy đón chờ nhé! 🚀