Pipeline có chạy test, nhưng code thì không có test case nào. Tất cả đều màu xanh!
Pipeline CI báo xanh, nhưng mở code ra thì không có test case, hoặc test chỉ là assertTrue(true). Đây là kiểu “test cho có”, không bảo vệ được chất lượng code.
Vấn đề: Test thiếu hoặc giả tạo
Thực trạng:
- Không có test case: Code không có unit test, integration test, chỉ dựa vào manual test.
- Fake test: Test case viết cho đủ, không kiểm tra logic thực tế.
- Coverage thấp: Pipeline chạy test nhưng coverage dưới 10%.
Hậu quả: Lỗi regression xuất hiện khi refactor, team mất thời gian debug thay vì phát triển feature mới.
Giải pháp: Enforce coverage và test critical path
Để test có ý nghĩa:
- Enforce coverage tối thiểu: Đặt ngưỡng coverage (ví dụ: 70%) trong pipeline, fail nếu không đạt.
- Test critical path trước: Viết test cho các logic quan trọng (tính giá, auth, payment).
- Dùng mock: Mock external service (DB, API) để test integration nhanh hơn.
Ví dụ: Với API /orders, viết unit test cho hàm calculateTotalPrice và integration test cho endpoint.
🎯 Tóm lại: Test phải kiểm tra logic thực tế, không chỉ để pipeline xanh. Enforce coverage và ưu tiên test critical path để bảo vệ code.
Đăng nhận xét