Viết test trước — và phải thấy nó đỏ trước khi sửa code.
Quy trình thực tế:
1. Tái hiện bug bằng một test nhỏ nhất có thể, dùng đúng dữ liệu gây lỗi (đơn hàng id X, chuỗi đầu vào Y).
2. Chạy test → phải fail. Bước này quan trọng: nếu test pass ngay từ đầu thì bạn chưa tái hiện đúng bug, và test đó sẽ không bảo vệ được gì.
3. Sửa code cho tới khi test xanh.
4. Chạy toàn bộ suite để chắc không làm hỏng chỗ khác.
Lợi ích cụ thể:
- Chứng minh được bạn hiểu đúng nguyên nhân, không phải sửa mò trúng.
- Test đó thành test hồi quy vĩnh viễn: bug này không quay lại lần thứ ba.
- Bộ test lớn lên theo đúng những vùng code thực sự hay hỏng, thay vì rải đều một cách ngẫu nhiên.
Đây cũng là cách áp dụng TDD dễ thuyết phục nhất trong nhóm chưa quen TDD: không cần đổi cách làm feature, chỉ cần thêm một bước khi fix bug.