🍀 API Testing (kiểm thử API) là hoạt động kiểm tra các API để xác định chúng có hoạt động đúng theo yêu cầu, xử lý dữ liệu chính xác và giao tiếp đúng với các hệ thống liên quan hay không.
API thường nằm ở phía backend và đóng vai trò trung gian cho phép các ứng dụng hoặc thành phần khác nhau trao đổi dữ liệu với nhau.
Ví dụ, khi người dùng đăng nhập vào một ứng dụng:
Ứng dụng → Login API → Backend → Database
Ứng dụng gửi thông tin đăng nhập đến API. API xử lý yêu cầu, kiểm tra dữ liệu và trả về kết quả.
API Testing tập trung kiểm tra request, response, dữ liệu, logic và các quy tắc xử lý của API thay vì kiểm tra giao diện người dùng.
Xem thêm REST API là gì? và HTTP Status Code là gì?
API Testing kiểm tra những gì?
Một API Test thường có thể kiểm tra nhiều khía cạnh khác nhau.
1. Request
Kiểm tra API có nhận và xử lý đúng request hay không.
Ví dụ:
- HTTP method
- URL / endpoint
- Query parameter
- Path parameter
- Header
- Request body
2. Response
Kiểm tra API có trả về response đúng hay không.
Ví dụ:
- HTTP status code
- Response body
- Response header
- Response format
- Response time
Ví dụ API đăng nhập thành công có thể trả về: HTTP 200 OK cùng với thông tin người dùng hoặc access token.
Tester không chỉ kiểm tra 200 OK, mà còn cần kiểm tra dữ liệu trong response có chính xác hay không.
Thường nội dung trả về có định dạng là JSON
3. Dữ liệu
API thường trao đổi dữ liệu giữa nhiều thành phần của hệ thống.
Tester có thể kiểm tra:
- Dữ liệu trả về có chính xác không
- Dữ liệu có bị thiếu hoặc thừa không
- Kiểu dữ liệu có đúng không
- Dữ liệu có được lưu đúng hay không
- Dữ liệu trong response có nhất quán với database hoặc hệ thống liên quan không
4. Business Logic
API có thể chứa nhiều logic nghiệp vụ.
Ví dụ: Một mã giảm giá chỉ được sử dụng một lần.
Tester có thể kiểm tra:
- Lần 1 → Áp dụng thành công
- Lần 2 → Không được phép sử dụng (báo lỗi)
Nếu API vẫn cho phép sử dụng mã giảm giá lần thứ hai, đây có thể là lỗi trong business logic.
5. Error Handling
Tester cũng cần kiểm tra cách API xử lý các trường hợp không hợp lệ.
Ví dụ:
- Thiếu trường bắt buộc
- Sai kiểu dữ liệu
- Dữ liệu không hợp lệ
- Không có quyền truy cập
- Resource không tồn tại
- Request không hợp lệ
Không chỉ cần kiểm tra API có trả lỗi, mà còn cần kiểm tra lỗi có được xử lý và phản hồi đúng theo yêu cầu hay không.
Xem thêm API Test Case là gì? và Test Case Tự động cho API ở đây
API Testing khác gì UI Testing?
API Testing và UI Testing kiểm tra những lớp khác nhau của hệ thống.
| API Testing | UI Testing |
| Kiểm tra API | Kiểm tra giao diện |
| Tập trung vào request và response | Tập trung vào hành vi trên UI |
| Không cần thao tác trực tiếp trên giao diện | Thường cần tương tác với UI |
| Có thể kiểm tra business logic ở backend | Kiểm tra luồng người dùng từ UI |
| Thường thực hiện nhanh hơn UI automation | Có thể mất nhiều thời gian hơn |
Ví dụ với chức năng đăng nhập:
UI Testing
Mở trang Login → Nhập username → Nhập password → Click Login → Kiểm tra kết quả trên giao diện
API Testing
POST /login → Gửi username + password → Kiểm tra status code → Kiểm tra response → Kiểm tra token → Kiểm tra dữ liệu (cả cấu trúc và giá trị)
Hai loại kiểm thử này không thay thế hoàn toàn cho nhau.
API Testing có phải chỉ dành cho Tester Automation?
KHÔNG!
Tester manual cũng có thể thực hiện API Testing bằng các công cụ như Postman hoặc các công cụ tương tự.
Tuy nhiên, khi số lượng API và test case tăng lên, API Test Automation có thể giúp thực hiện các test lặp lại nhanh và ổn định hơn.
Ví dụ:
Manual API Testing → API Test Automation → CI/CD → Tự động thực hiện API test
Vì vậy, API Testing là một kỹ năng hữu ích không chỉ đối với Automation Tester mà cả Manual Tester.
Một số công cụ thường được sử dụng
Một số công cụ phổ biến trong API Testing gồm:
- Postman
- Insomnia
- Swagger / OpenAPI
- REST Assured
- Playwright
- Cypress
Việc lựa chọn công cụ phụ thuộc vào công nghệ, mục đích kiểm thử và cách tổ chức test của từng dự án.
Tester nên bắt đầu học API Testing từ đâu?
Nếu mới bắt đầu, có thể đi theo thứ tự:
01. HTTP
Hiểu:
- GET
- POST
- PUT
- PATCH
- DELETE
- HTTP Status Code
- Header
- Request / Response
02. REST API
Hiểu endpoint, resource, parameter và cách API trao đổi dữ liệu.
Xem thêm REST API là gì?
03. API Test Case
Biết xác định các trường hợp cần kiểm tra cho một API.
04. Authentication & Authorization
Hiểu cách API xác thực người dùng và kiểm soát quyền truy cập.
05. API Testing Tool
Thực hành với Postman hoặc công cụ tương tự.
06. API Test Automation
Khi đã nắm được nền tảng, có thể tiếp tục với API automation và tích hợp vào CI/CD.
API Testing có quan trọng với Tester?
API là một phần quan trọng trong nhiều hệ thống phần mềm hiện đại.
Ngay cả khi người dùng tương tác với ứng dụng thông qua web hoặc mobile, phía sau giao diện thường vẫn có các API xử lý dữ liệu và nghiệp vụ.
Vì vậy, hiểu API giúp Tester có thể kiểm tra hệ thống không chỉ từ giao diện mà còn từ phía backend.
Đặc biệt với những hệ thống có nhiều service, mobile app, web app và các hệ thống tích hợp với nhau, API Testing trở thành một kỹ năng hữu ích trong công việc kiểm thử.
Kết luận
API Testing là hoạt động kiểm tra API nhằm xác định API có xử lý request, trả response, dữ liệu và logic nghiệp vụ đúng theo yêu cầu hay không.
Để bắt đầu với API Testing, Tester nên nắm vững:
HTTP → REST API → Request/Response → Status Code → API Test Case → Authentication → API Automation
API Testing cũng là nền tảng tốt để Tester tiếp tục phát triển sang API Test Automation và các kỹ thuật kiểm thử backend chuyên sâu hơn.
Xem thêm REST API là gì? và HTTP Status Code là gì?




