API Là Gì? Test API Như Thế Nào? Hướng Dẫn Từ A Đến Z Cho Tester
Nếu bạn mới bắt đầu tìm hiểu về kiểm thử phần mềm, chắc chắn không ít lần bạn nghe tới cụm từ “API Testing” và tự hỏi: API là gì, tại sao Tester lại cần biết test nó, và nó khác gì so với việc test giao diện (UI Testing) mà bạn đã quen thuộc? Bài viết này sẽ giải thích rõ ràng từ khái niệm cơ bản đến cách bắt tay vào test thực tế.
Nếu bạn muốn học API Testing bài bản, có lộ trình rõ ràng và thực hành trên dự án thật thay vì chỉ đọc lý thuyết suông, bạn có thể tham khảo khóa học API Testing tại Đức Giang Tester Education.
1. API là gì?
API (Application Programming Interface) hiểu đơn giản là cầu nối giao tiếp giữa hai hệ thống phần mềm. Nó cho phép một ứng dụng “yêu cầu” dữ liệu hoặc chức năng từ một ứng dụng khác mà không cần biết bên trong ứng dụng đó hoạt động ra sao.
Lấy một ví dụ đời thường: khi bạn mở app đặt đồ ăn và bấm “Đặt hàng”, app không tự nó xử lý toàn bộ — nó gửi một yêu cầu (request) đến server của nhà hàng thông qua API, server xử lý xong sẽ trả lại kết quả (response) như “Đơn hàng đã được xác nhận” hoặc “Nhà hàng đã đóng cửa”.
Trong phát triển web hiện đại, phần lớn hệ thống được xây dựng theo kiến trúc client-server, trong đó:
- Client (giao diện người dùng — web, app mobile) gửi request
- Server (backend) xử lý và trả về response
- API chính là “ngôn ngữ chung” giúp hai bên hiểu nhau
Các thành phần cơ bản của một API Request
| Thành phần | Ý nghĩa |
|---|---|
| Endpoint | Địa chỉ URL mà request được gửi đến, ví dụ https://api.example.com/users |
| Method | Loại hành động: GET (lấy dữ liệu), POST (tạo mới), PUT/PATCH (cập nhật), DELETE (xóa) |
| Header | Thông tin bổ sung đi kèm request, ví dụ token xác thực, định dạng dữ liệu |
| Body | Dữ liệu gửi kèm (thường dùng với POST, PUT), ví dụ thông tin đăng ký user mới |
| Response | Kết quả trả về từ server, gồm status code và dữ liệu |
2. Tại sao Tester cần biết test API?
Nhiều bạn mới vào nghề chỉ quen test qua giao diện (click chuột, nhập liệu, xem kết quả trên màn hình). Nhưng thực tế, rất nhiều lỗi không hiện rõ trên UI — dữ liệu có thể sai ngầm bên dưới mà giao diện vẫn hiển thị “có vẻ” đúng.
Một vài lý do khiến API Testing trở thành kỹ năng gần như bắt buộc với Tester hiện nay:
- Phát hiện lỗi sớm hơn: API thường được phát triển và có thể test trước khi giao diện hoàn thiện, giúp phát hiện bug ngay từ giai đoạn đầu thay vì đợi đến lúc UI xong mới test.
- Test nhanh hơn UI rất nhiều: Một request API chạy trong mili-giây, trong khi thao tác qua UI (chờ trang load, click, nhập liệu) tốn thời gian hơn đáng kể — đặc biệt khi cần test hàng trăm trường hợp dữ liệu khác nhau.
- Không phụ thuộc giao diện: Có những logic nghiệp vụ (business logic) chỉ có thể kiểm tra chính xác qua API, vì UI có thể “che giấu” lỗi bằng cách hiển thị dữ liệu mặc định hoặc validate phía client.
- Nền tảng cho Automation: Phần lớn framework test tự động hiện nay (Postman, RestAssured, Playwright API testing…) đều xoay quanh việc gửi và kiểm tra API request.
Đây cũng chính là lý do khóa học tại Đức Giang Tester Education luôn đưa API Testing vào lộ trình sớm cho người mới — không phải để “học cho biết”, mà vì đây là kỹ năng bạn sẽ dùng ngay trong công việc thực tế. Xem chi tiết khóa học tại đây.
3. Các phương pháp HTTP cần nắm vững
Trước khi test, bạn cần hiểu rõ ý nghĩa của từng loại request:
GET — Lấy dữ liệu Dùng để truy vấn thông tin, không làm thay đổi dữ liệu trên server. Ví dụ: lấy danh sách sản phẩm, xem thông tin một tài khoản.
POST — Tạo mới Dùng để gửi dữ liệu mới lên server, ví dụ đăng ký tài khoản, tạo đơn hàng mới.
PUT / PATCH — Cập nhật PUT thường dùng để cập nhật toàn bộ thông tin của một đối tượng, còn PATCH chỉ cập nhật một phần. Ví dụ: đổi email tài khoản (PATCH) so với cập nhật lại toàn bộ hồ sơ (PUT).
DELETE — Xóa Dùng để xóa một đối tượng dữ liệu, ví dụ xóa một bài viết hoặc hủy đơn hàng.
4. Status Code — “Ngôn ngữ” mà server dùng để trả lời bạn
Khi gửi request, server sẽ trả về một mã trạng thái (status code) cho biết kết quả xử lý. Đây là điều đầu tiên Tester cần kiểm tra:
| Nhóm mã | Ý nghĩa |
|---|---|
| 2xx | Thành công — ví dụ 200 OK, 201 Created |
| 3xx | Chuyển hướng — ví dụ 301 Moved Permanently |
| 4xx | Lỗi từ phía client — ví dụ 400 Bad Request, 401 Unauthorized, 404 Not Found |
| 5xx | Lỗi từ phía server — ví dụ 500 Internal Server Error |
Tình huống thực tế: Bạn gửi request đăng nhập với mật khẩu sai, nhưng server lại trả về 200 OK thay vì 401 Unauthorized — đây chính là một bug nghiêm trọng, dù giao diện vẫn có thể hiển thị thông báo “sai mật khẩu” một cách bình thường (do xử lý riêng ở phía frontend).
5. Quy trình test API cơ bản
Dưới đây là các bước Tester thường thực hiện khi kiểm thử một API endpoint:
Bước 1: Đọc và hiểu tài liệu API (API Documentation) Xác định rõ endpoint, method, các tham số bắt buộc/tùy chọn, và định dạng dữ liệu mong đợi (thường dùng Swagger, Postman Collection, hoặc tài liệu do Dev cung cấp).
Bước 2: Chuẩn bị dữ liệu test Xác định các trường hợp cần kiểm tra — không chỉ dữ liệu hợp lệ, mà cả dữ liệu không hợp lệ, dữ liệu biên (boundary), dữ liệu rỗng, ký tự đặc biệt…
Bước 3: Gửi request và ghi nhận response Dùng công cụ như Postman để gửi request thực tế, quan sát status code, thời gian phản hồi, và nội dung dữ liệu trả về.
Bước 4: Kiểm tra kết quả (Assertion) So sánh response thực tế với kết quả mong đợi — không chỉ status code, mà cả cấu trúc dữ liệu (schema), giá trị các trường, và logic nghiệp vụ.
Bước 5: Kiểm tra các trường hợp ngoại lệ Test với token hết hạn, thiếu tham số bắt buộc, gửi sai định dạng dữ liệu, gửi số lượng request lớn (test hiệu năng cơ bản)…
Một số loại test case phổ biến khi test API
- Positive testing: Gửi dữ liệu hợp lệ, kỳ vọng thành công
- Negative testing: Gửi dữ liệu sai định dạng, thiếu trường bắt buộc, kỳ vọng lỗi đúng như thiết kế
- Boundary testing: Kiểm tra giá trị biên, ví dụ độ dài tối đa của một trường văn bản
- Authorization testing: Kiểm tra quyền truy cập — user không có quyền có bị chặn đúng không
- Data validation: Kiểm tra cấu trúc và kiểu dữ liệu trả về có đúng như tài liệu API mô tả không
6. Công cụ hỗ trợ test API phổ biến
- Postman: Công cụ phổ biến nhất, giao diện trực quan, phù hợp cho cả Manual Tester lẫn viết test tự động cơ bản
- Swagger / OpenAPI: Thường dùng để xem tài liệu API và test nhanh trực tiếp trên trình duyệt
- RestAssured (Java): Thư viện phổ biến để viết API Automation Test trong hệ sinh thái Java
- Playwright / Axios (JavaScript, TypeScript): Ngày càng phổ biến khi kết hợp UI Testing và API Testing trong cùng một framework
Tổng kết
API Testing không phải là kỹ năng “nâng cao” chỉ dành cho Automation Tester — đây là kỹ năng nền tảng mà bất kỳ Tester nào cũng nên trang bị, kể cả khi bạn đang làm Manual Testing. Hiểu được request/response, status code, và cách kiểm tra logic đằng sau giao diện sẽ giúp bạn phát hiện bug sâu hơn, báo cáo chính xác hơn, và làm việc hiệu quả hơn rất nhiều với đội Dev.
Nếu bạn đang muốn bắt đầu học API Testing một cách bài bản — từ khái niệm cơ bản, sử dụng thành thạo Postman, đến viết test case chuyên nghiệp cho các dự án thực tế — bạn có thể tham khảo khóa học API Testing tại Đức Giang Tester Education. Khóa học được thiết kế theo phương châm thực chiến, chỉ học những gì áp dụng được ngay vào công việc.




