Bốn mức đi từ nhỏ tới lớn, mỗi mức có mục tiêu và người thực hiện riêng:
1. Unit / Component — test từng module/hàm riêng lẻ, thường do dev viết. Nhanh, cô lập, bắt lỗi logic sớm nhất.
2. Integration — test sự tương tác giữa các thành phần (module với module, service với DB/API). Bắt lỗi ở giao diện giữa các phần.
3. System — test toàn bộ hệ thống đã tích hợp trong môi trường gần production, đối chiếu với yêu cầu (cả functional lẫn non-functional).
4. Acceptance (UAT) — người dùng/khách hàng xác nhận hệ thống đáp ứng nhu cầu và sẵn sàng để dùng. Thiên về validation.
Càng lên cao, phạm vi càng rộng và càng gần góc nhìn người dùng.