IT nói tiếng người
Kiểm thử

Unit Test, Integration Test và E2E Test khác nhau thế nào?

Trả lời ngắnBa tầng từ dưới lên: càng lên cao càng giống thật, càng chậm, và càng khó biết hỏng ở đâu. Nên viết nhiều ở dưới, ít ở trên.

Bảng so sánh

UnitIntegrationE2E
Phạm viMột hàm, một lớpVài thành phần ghép nhauCả hệ thống, từ giao diện xuống database
Tốc độVài mili giâyVài trăm mili giây10–30 giây một ca
Độ giống thậtThấpVừaCao nhất
Khi đỏ thì biết gìBiết ngay hàm nào saiBiết vùng nào saiChỉ biết “có gì đó sai”
Tỉ lệ nên cóNhiều nhấtVừa phảiÍt nhất, chỉ luồng sống còn
Hay chập chờn khôngGần như khôngThỉnh thoảngRất hay

💡 Cách nhớ

Hình dung kim tự tháp: đáy rộng là unit, giữa là integration, chóp nhọn là E2E. Bộ test nào có hình dáng ngược lại — nhiều E2E, ít unit — sẽ chậm và chập chờn.

Chọn cái nào?

⚠ Bẫy thường gặp

Sai lầm phổ biến nhất của người mới: thấy E2E “giống thật nhất” nên viết tất cả bằng E2E. Kết quả là bộ test chạy hai tiếng, đỏ ngẫu nhiên vài ca mỗi lần, rồi cả đội mất niềm tin và bỏ luôn không thèm nhìn.

Câu hỏi hay gặp

Nên có bao nhiêu phần trăm mỗi loại?
Con số hay được nhắc là 70% unit, 20% integration, 10% E2E. Đừng bám cứng vào số, ý chính là: càng lên cao càng ít.
Tester chỉ viết E2E thôi đúng không?
Không nhất thiết. Rất nhiều thứ tester muốn kiểm có thể kiểm bằng API testing, vừa nhanh vừa ổn định hơn E2E rất nhiều.

Đọc kỹ từng thuật ngữ

← Xem các bảng so sánh khác