Học Playwright tiếng Việt, Cộng đồng Playwright cho người Việt

How Google Tests Software

[How Google Tests Software] Phần 4: Tìm hiểu về Test Certified Program

Hôm nay chúng ta sẽ tìm hiểu về Test Certified program – một chương trình độc đáo được Google thiết kế để nâng cao kỹ năng kiểm thử cho các developer.

Test Certified là gì?

Test Certified là một chương trình khuyến khích các đội phát triển phần mềm (dev team) tại Google nâng cao năng lực kiểm thử của họ. Chương trình được thiết kế theo mô hình bậc thang, chia thành 5 cấp độ, mỗi cấp độ yêu cầu dev team đạt được những tiêu chuẩn nhất định về kỹ năng kiểm thử.

5 cấp độ trong Test Certified:

Cấp độ 1: Bước khởi đầu

  • Mục tiêu: Đảm bảo dev team có những kiến thức cơ bản về kiểm thử và bắt đầu áp dụng các kỹ thuật kiểm thử cơ bản.
  • Yêu cầu:
    • Thiết lập hệ thống đo lường code coverage.
    • Thiết lập Continuous Build.
    • Phân loại test theo quy mô: Small, Medium, Large.
    • Xác định các test không xác định (nondeterministic tests).
    • Tạo bộ test smoke test.

Cấp độ 2: Nắm vững cơ bản

  • Mục tiêu: Nâng cao năng lực kiểm thử của dev team, tập trung vào việc áp dụng các quy trình kiểm thử và cải thiện code coverage.
  • Yêu cầu:
    • Không cho phép release sản phẩm khi có test fail (red tests).
    • Yêu cầu smoke test suite phải chạy thành công trước khi submit code.
    • Tăng code coverage của tất cả các test lên 50%.
    • Tăng code coverage của test small lên 10%.
    • Ít nhất một tính năng được kiểm thử bằng integration test.

Cấp độ 3: Kiểm thử toàn diện

  • Mục tiêu: Dev team áp dụng các kỹ thuật kiểm thử tiên tiến và kiểm thử code mới một cách hiệu quả.
  • Yêu cầu:
    • Yêu cầu kiểm thử cho tất cả các thay đổi quan trọng (nontrivial changes).
    • Tăng code coverage của test small lên 50%.
    • Các tính năng mới được kiểm thử bằng integration tests.

Cấp độ 4: Kiểm thử legacy code

  • Mục tiêu: Dev team có thể kiểm thử code cũ (legacy code) và cải thiện chất lượng code cũ.
  • Yêu cầu:
    • Tự động hóa việc chạy smoke tests trước khi submit code.
    • Smoke test suite phải chạy xong trong vòng 30 phút.
    • Loại bỏ tất cả các test không xác định (nondeterministic tests).
    • Code coverage tổng thể phải đạt ít nhất 40%.
    • Code coverage từ test small phải đạt ít nhất 25%.
    • Tất cả các tính năng quan trọng được kiểm thử bằng integration tests.

Cấp độ 5: Kiểm thử chuyên nghiệp

  • Mục tiêu: Dev team đạt được tiêu chuẩn kiểm thử cao nhất, áp dụng các kỹ thuật kiểm thử chuyên nghiệp.
  • Yêu cầu:
    • Viết test cho mỗi lỗi sửa (bug fix).
    • Áp dụng các công cụ phân tích code (static and dynamic analysis tools).
    • Code coverage tổng thể phải đạt ít nhất 60%.
    • Code coverage từ test small phải đạt ít nhất 40%.

Lợi ích của Test Certified:

  • Nâng cao chất lượng sản phẩm: Chương trình khuyến khích dev team áp dụng các phương pháp kiểm thử hiệu quả, giúp họ phát hiện và sửa lỗi sớm hơn, nâng cao chất lượng sản phẩm.
  • Tăng năng suất: Chương trình giúp dev team tự động hóa các test case, rút ngắn thời gian kiểm thử, cho phép teams phát hành sản phẩm nhanh hơn.
  • Tăng cường sự tham gia: Chương trình khuyến khích các developer chủ động tham gia vào việc kiểm thử, tạo ra văn hóa kiểm thử chung trong cả đội.
  • Nâng cao uy tín: Các teams đạt được chứng chỉ Test Certified sẽ được công nhận về năng lực kiểm thử của họ, góp phần nâng cao uy tín và sự tin tưởng trong ngành.

Thách thức của Test Certified:

  • Yêu cầu cao về kỹ năng: Để đạt được các cấp độ cao trong chương trình, dev team cần phải có kiến thức và kỹ năng kiểm thử chuyên nghiệp.
  • Sự đầu tư về thời gian và nguồn lực: Chương trình đòi hỏi các team phải đầu tư thời gian và nguồn lực để thực hiện các yêu cầu.
  • Thái độ của dev team: Một số developer có thể không muốn tham gia vào chương trình hoặc thấy nó quá khó khăn.
  • Thiếu sự hỗ trợ: Dev team cần nhận được sự hỗ trợ và hướng dẫn từ các chuyên gia kiểm thử trong quá trình thực hiện chương trình.

Làm thế nào để thành công trong Test Certified?

Để thành công trong chương trình Test Certified, các dev team cần:

  • Cam kết với chất lượng: Đặt mục tiêu nâng cao chất lượng sản phẩm là ưu tiên hàng đầu.
  • Chuẩn bị kỹ càng: Xác định rõ ràng các kỹ năng cần thiết và xây dựng kế hoạch học tập hiệu quả.
  • Hỗ trợ lẫn nhau: Chia sẻ kinh nghiệm, kiến thức và hỗ trợ lẫn nhau trong đội.
  • Học hỏi từ những người đi trước: Học hỏi từ các chuyên gia kiểm thử và những team đã đạt được chứng chỉ Test Certified.
  • Đánh giá và cải thiện liên tục: Đánh giá thường xuyên tiến độ của team và tìm cách cải thiện các kỹ năng kiểm thử.

Test Certified program là một minh chứng cho sự đầu tư nghiêm túc của Google vào việc nâng cao chất lượng phần mềm. Chương trình này đã góp phần tạo nên văn hóa kiểm thử mạnh mẽ trong Google và góp phần tạo ra những sản phẩm chất lượng cao, được người dùng tin tưởng.

Trả lời