Test levels và test types thường bị nhầm vì cả hai đều dùng để tổ chức hoạt động kiểm thử. Điểm khác biệt ngắn gọn là: level nói về phạm vi hoặc đối tượng đang test; type nói về khía cạnh chất lượng đang được đánh giá.
Test Level là gì?
Test level là nhóm test activities được tổ chức và quản lý cùng nhau, gắn với phần mềm tại một giai đoạn phát triển nhất định – từ component riêng lẻ đến hệ thống hoàn chỉnh hoặc 1 hệ nhiều systems.
Năm Test Levels chính
- Component Testing: Hay còn có tên phổ thông hơn là Unit test. Test từng component độc lập, chủ yếu do developer thực hiện.
- Ví dụ: Dev viết Unit Test để test hàm
calculateRefundAmount()
- Ví dụ: Dev viết Unit Test để test hàm
- Component Integration Testing: hay còn gọi tắt là Integration Testing. test tích hợp giữa các component với nhau, hoặc giữa màn hình với màn hình, giữa màn hình và API…
- Ví dụ: Tester test màn hình Đăng Ký tài khoản, sau đó login bằng tài khoản đó để test màn hình Dashboard
- System Testing: test behavior của toàn hệ thống, gồm functional end-to-end tasks và non-functional characteristics.
- Ví dụ: Test full luồng Customer trong hệ thống: Đăng kí – Activate – Đăng nhập – Deactivate…
- System Integration Testing: Hay còn gọi là SIT, test interface giữa system under test với hệ thống hoặc external service khác.
- Ví dụ: Test full luồng thanh toán, có bước tương tác với cổng thanh toán bên ngoài (Momo, Zalopay)
- Add vào giỏ – Ốp mã – Thanh toán – Redirect sang Payment Gateway – Nhập thông tin – Check trừ tiền thành công – Đơn hàng đặt thành công
- Ví dụ: Test full luồng thanh toán, có bước tương tác với cổng thanh toán bên ngoài (Momo, Zalopay)
- Acceptance Testing: kiểm tra lại business needs và chứng minh readiness for deployment; gồm UAT, operational, contractual, regulatory, alpha và beta testing. Do PO team đảm nhiệm
- Ví dụ: Sau khi tester test xong, PO vào nghiệm thu sản phẩm 1 lần nữa trên môi trường Staging
Các test level được phân biệt bằng test object, objectives, basis, defect/failure điển hình, approach và responsibility – không chỉ bằng tên môi trường.
Test Type là gì?
Test type là nhóm test activities liên quan đến một quality characteristic hoặc một góc nhìn kiểm thử cụ thể. Phần lớn test types có thể áp dụng ở mọi test level.
Bốn Test Types
- Functional Testing: đánh giá hệ thống phải làm “gì”; tập trung completeness, correctness và appropriateness.
- Làm đúng theo SRS hoặc Requirements là được
- Non-functional Testing: đánh giá hệ thống hoạt động “tốt đến mức nào”; gồm performance, compatibility, usability, reliability, security, maintainability, portability/flexibility và safety.
- Phải làm tốt, đúng là chưa đủ
- Dựa vào Non-functional requirements
- Black-box Testing: dựa trên specification, không dựa vào internal structure.
- tester không cần biết code của dev
- White-box Testing: dựa trên implementation hoặc cấu trúc bên trong như code, architecture, workflow và data flow.
- tester đọc code của dev, review code của dev
Bảng phân biệt nhanh
| Tiêu chí | Test Level | Test Type |
|---|---|---|
| Câu hỏi | Test ở phạm vi/giai đoạn nào? | Test đặc tính hoặc góc nhìn nào? |
| Ví dụ | Component, system, acceptance | Functional, Non-Functional, white-box, Black-box |
| Liên hệ SDLC | Gắn với test object ở phase nhất định | Có thể áp dụng tại nhiều levels |
| Có thể kết hợp? | Một level chứa nhiều types | Một type chạy ở nhiều levels |




