Tổng quan
Kim tự tháp kiểm thử khuyên có nhiều unit test nhanh ở đáy, ít integration test hơn ở giữa và ít end-to-end test nhất ở đỉnh. Tỷ lệ này giúp test suite nhanh, ổn định và vẫn bao phủ luồng quan trọng.
Ý chính
- Unit test rẻ và nhanh nên phù hợp kiểm logic nhỏ với số lượng lớn.
- Integration test kiểm cách các module hoặc service làm việc cùng nhau, số lượng ít hơn nhưng rất cần thiết.
- E2E test mô phỏng user thật nhưng chậm và dễ flaky nên nên dùng cho luồng quan trọng nhất.
Ví dụ từ nguồn
Một app thương mại điện tử có hàng trăm unit test cho tính giá, discount và validation; một số test API/database; và vài E2E test cho checkout.
Nếu team chỉ có E2E test, mỗi thay đổi nhỏ đều chờ lâu và lỗi thường khó khoanh vùng.
Nguồn gốc
Mike Cohn được ghi nhận là người phổ biến Test Pyramid trong Succeeding with Agile và các bài viết khoảng năm 2009.
Lưu ý khi áp dụng
Kim tự tháp là heuristic, không phải tỷ lệ cứng. Hãy tối ưu feedback nhanh và độ tin cậy theo kiến trúc sản phẩm.