Software testing có nhiều cấp độ (level) (theo phạm vi) và loại (type) (theo mục đích). Hiểu chúng — unit, integration, end-to-end; functional vs non-functional — giúp xây dựng một cách tiếp cận testing toàn diện bao phủ các khía cạnh khác nhau của chất lượng.
Các cấp độ testing (theo phạm vi)
UNIT → từng function/method riêng lẻ một cách độc lập (nhỏ nhất, nhanh nhất, nhiều nhất)
INTEGRATION → nhiều unit/component hoạt động CÙNG NHAU (vd: code + database, service)
END-TO-END (E2E) → TOÀN BỘ ứng dụng từ góc nhìn người dùng (luồng đầy đủ,
qua UI/hệ thống thật) — rộng nhất, chậm nhất
SYSTEM → toàn bộ hệ thống tích hợp; ACCEPTANCE → đáp ứng yêu cầu nghiệp vụ
