Chạy được ≠ đúng. Và đúng hôm nay ≠ đúng ngày mai.
Câu nói này có lẽ là nỗi đau chung của nhiều team backend khi audit hệ thống. Bạn vào dự án, thấy API chạy mượt, trả response đúng format, client gọi ngon lành. Nhưng hỏi: “Test đâu?” thì cả team nhìn nhau, nhún vai: “Test manual, anh ơi!”. Không unit test, không Postman collection, không automation test – tất cả dựa vào niềm tin mong manh rằng code sẽ không bao giờ sai.
![]() |
Niềm tin là tất cả! |
Thực trạng: Test bằng tay, debug bằng mắt
Trong nhiều dự án MVP, team thường ưu tiên tốc độ hơn chất lượng. API được viết nhanh, test qua loa bằng cách gọi thử vài lần trên Postman hoặc curl, thấy “ok” là đẩy lên production. Kết quả?
- Regression bugs: Thêm feature mới, sửa code cũ, API bỗng trả sai dữ liệu mà không ai hay.
- Refactor không dám đụng: Controller 500 dòng, muốn tách ra nhưng sợ làm hỏng logic vì không có test bảo vệ.
- Manual test tốn thời gian: Mỗi lần deploy, QA phải ngồi gọi lại từng API, ghi kết quả ra Excel.
Hậu quả là team mất hàng giờ để debug lỗi, khách hàng thì phàn nàn vì hệ thống “hôm chạy, mai hỏng”.
Giải pháp: Viết test, setup pipeline
Đừng để API sống trong niềm tin. Bắt đầu bằng cách:
- Viết ít nhất 1 unit test cho logic nghiệp vụ quan trọng. Ví dụ, nếu API tính giá đơn hàng, hãy test hàm calculateTotalPrice với các case: giá âm, số lượng 0, hoặc discount đặc biệt. Dùng framework như Jest (Node.js), PHPUnit (PHP), hoặc Pytest (Python).
- Tạo Postman collection cho API testing. Ghi lại các case cơ bản (success, error) và chia sẻ với team.
- Setup CI/CD pipeline: Đảm bảo test fail thì block deploy. Công cụ như GitHub Actions, GitLab CI, hoặc Jenkins có thể giúp.
Ví dụ, với một API /get-user, bạn có thể viết test kiểm tra:
- Trả về 200 khi user tồn tại
- Trả về 404 khi user không tồn tại.
- Trả về 400 khi thiếu tham số.
🎯 Tóm lại: Không có test, bạn đang đánh cược với chất lượng hệ thống. Bắt đầu từ một test nhỏ, tích hợp vào pipeline, và bạn sẽ tiết kiệm được hàng giờ debug trong tương lai.
Đăng nhận xét