Các biện pháp tốt nhất để khắc phục tình trạng flaky test.
1. Đồng bộ hóa đúng cách
- Sử dụng
explicit wait thay vì sleep trong test UI.
- Đảm bảo các điều kiện (element hiển thị, API phản hồi) đã sẵn sàng trước khi assert.
2. Cô lập môi trường test
- Mỗi test nên chạy độc lập, không phụ thuộc vào test khác.
- Dọn dẹp dữ liệu và trạng thái sau mỗi test.
3. Kiểm soát dữ liệu đầu vào
- Dùng dữ liệu giả lập (mock/stub/fake) thay vì gọi API thật.
- Tạo dữ liệu test riêng biệt, không dùng chung với môi trường production.
4. Tránh phụ thuộc vào thời gian thực
- Không assert theo thời gian cụ thể (ví dụ: “đợi 5 giây rồi kiểm tra”).
- Dùng timestamp giả lập hoặc kiểm tra theo điều kiện logic.
5. Ghi log và retry có kiểm soát
- Ghi lại log chi tiết khi test fail để phân tích nguyên nhân.
- Có thể dùng retry, nhưng chỉ như biện pháp tạm thời – không nên lạm dụng.
NGUYÊN TẮC CỐT LÕI
Để tránh flaky test, cần tập trung vào 4 điểm chính:
Công cụ hỗ trợ phát hiện flaky test
- CI/CD dashboard: theo dõi test nào fail ngẫu nhiên nhiều lần.
- Test analytics tools: như Testmo, Allure, hoặc Datadog để phân tích độ ổn định.
Sửa lần cuối: Thứ Sáu, 6 tháng 2 2026, 3:43 PM
Trở lại Khoá học