© 2026 Laravel

Manual vs Automation Testing: Chiến lược cân bằng

2 phút đọc
#testing #automation #manual #strategy

#1. Bản chất

  • Manual Testing (Thủ công): Cần thiết cho UX/UI, các luồng nghiệp vụ phức tạp, các edge case mà logic máy tính khó bao phủ.
  • Automation Testing (Tự động): “Tấm khiên” bảo vệ hệ thống khi refactor. Giúp phát hiện lỗi ngay khi vừa save code.

#2. Kim tự tháp Testing (Testing Pyramid)

  • Unit Test (Đáy): Test từng class/method. Số lượng nhiều nhất, chạy nhanh nhất.
  • Integration Test (Giữa): Test sự kết hợp của nhiều component (VD: Test Service gửi mail + DB).
  • End-to-End (E2E) Test (Đỉnh): Test toàn bộ hệ thống qua trình duyệt (Browser). Chạy chậm, dễ vỡ, chỉ test các flow quan trọng nhất.

#3. Khi nào dùng cái gì?

  • Manual: Chỉ dùng khi cần “cảm nhận” sản phẩm hoặc khi tính năng thay đổi quá nhanh chưa kịp viết test.
  • Automation: BẮT BUỘC cho các luồng nghiệp vụ cốt lõi (Core Business) như: Thanh toán, Đăng ký, Đặt hàng.

#4. Câu hỏi nhanh

Q: Tại sao đừng lạm dụng E2E Test? A: E2E rất dễ bị “dính” (brittle) – chỉ cần đổi 1 cái class CSS, cả test suite bị fail. E2E tốn thời gian chạy (CI/CD chậm). Chỉ nên test 5-10% luồng quan trọng nhất qua E2E.

Bài viết liên quan