Kiến thức nền tảng về Kiểm thử API và Hướng dẫn sử dụng Apifox

Trong quy trình đảm bảo chất lượng phần mềm hiện đại, việc nắm vững giao thức truyền thông là tiền đề bắt buộc để thực hiện kiểm thử hiệu quả. Hiểu sâu về cách dữ liệu được trao đổi giữa các hệ thống sẽ giúp kỹ thuật viên không chỉ thao tác thành thạo công cụ mà còn chẩn đoán chính xác nguyên nhân khi sự cố xảy ra.

1. Phạm vi và Mục tiêu của Kiểm thử Giao diện

Việc kiểm thử giao diện (Interface Testing) tập trung chủ yếu vào cơ chế tương tác dữ liệu giữa các thành phần hệ thống, đặc biệt là giữa tầng ứng dụng người dùng (Frontend/App) và máy chủ (Server). Trọng tâm của hoạt động này nằm ở ba khía cạnh:

  • Tính toàn vẹn của tham số: Đảm bảo dữ liệu đầu vào được chuyển đi và nhận về đúng định dạng.
  • Logic nghiệp vụ: Xác minh tính năng cốt lõi có hoạt động đúng theo thiết kế hay không.
  • Xử lý ngoại lệ: Đánh giá khả năng chống chịu lỗi của hệ thống khi gặp dữ liệu bất thường hoặc kết nối không ổn định.

Nội dung chi tiết của quy trình kiểm thử sẽ được khai thác trong các phần sau, trước hết cần làm rõ bản chất của đối tượng được kiểm tra và cơ chế giao tiếp.

2. Bản chất Giao diện và Tài liệu API

Giao diện lập trình ứng dụng (API) đóng vai trò như một hợp đồng kỹ thuật. Nó định nghĩa sẵn một tập hợp các hàm hoặc dịch vụ cho phép các hệ thống khác nhau tương tác mà không cần can thiệp vào mã nguồn gốc nội bộ. Trong môi trường phát triển tách biệt Frontend và Backend, API là cầu nối duy nhất để hai đội ngũ phối hợp.

Vì vậy, kiểm thử API mang tính chất kiểm thử hộp đen. Người kiểm thử dựa trên tài liệu mô tả (API Documentation) để xác nhận xem server có đáp ứng đúng cam kết đã ký trong tài liệu đó hay không, bao gồm cả các kịch bản xử lý lỗi dự phòng.

3. Cơ chế Truyền thông qua HTTP

Mọi tương tác giữa trình duyệt/máy khách và máy chủ đều diễn ra thông qua giao thức HTTP. Dữ liệu được đóng gói thành các khối thông báo (HTTP Message) tuân theo cấu trúc chuẩn hóa. Mỗi tin nhắn bao gồm hai loại chính: Yêu cầu (Request) từ phía gửi và Phản hồi (Response) từ phía nhận.

Cấu trúc chung của một gói tin HTTP bao gồm ba phần:

  1. Hàng khởi tạo (Start Line): Chứa thông tin cơ bản nhất về loại tin nhắn.
  2. Phần tiêu đề (Header): Chứa các thuộc tính mô tả chi tiết dữ liệu như kiểu nội dung (Content-Type), độ dài (Length), v.v.
  3. Phần thân (Body): Chứa dữ liệu thực tế (văn bản, JSON, hình ảnh...), có thể rỗng tùy trường hợp.

Cấu trúc Yêu cầu (Request)

PHƯƠNG_THỨC /ĐƯỜNG_DẪN_RUỘNG NGÔN_BẢN_HÀNH_ĐỊNH
[TIÊU_ĐỀ_1: Giá trị]
[TIÊU_ĐỀ_2: Giá trị]

[DỮ_LIỆU_BODY]

Cấu trúc Phản hồi (Response)

NGÔN_BẢN_HÀNH_ĐỊNH MÃ_TRẠNG_THÁI LÝ_DO
[TIÊU_ĐỀ_1: Giá trị]
[TIÊU_ĐỀ_2: Giá trị]

[DỮ_LIỆU_BODY]

Các trường quan trọng cần lưu ý:

  • Phương thức (Method): Hành động mong muốn thực thi trên server (GET lấy dữ liệu, POST tạo mới, PUT cập nhật, XÓA xóa).
  • URI (Resource Path): Địa chỉ đường dẫn đến tài nguyên cần truy xuất.
  • Mã trạng thái (Status Code): Chỉ thị kết quả xử lý (Ví dụ: 200 OK cho thành công, 404 NotFound cho lỗi đường dẫn).
  • Lý do (Reason Phrase): Diễn giải văn bản cho mã trạng thái nhằm mục đích hiển thị người dùng.

4. Phân tích Tài liệu API

Để thực hiện kiểm thử, đội ngũ QA cần trang bị đầy đủ tài liệu yêu cầu sản phẩm cùng với tài liệu kỹ thuật API. Tài liệu API cung cấp thông tin chi tiết về từng điểm cuối (endpoint), bao gồm định dạng dữ liệu gửi đi và cấu trúc dữ liệu trả về.

Khi nghiên cứu một API mẫu (chẳng hạn như dịch vụ nhận diện văn bản công cộng), bước đầu tiên là xác định rõ các tham số bắt buộc để khởi tạo phiên làm việc (session). Một số nền tảng cung cấp kho API mở cho mục đích học tập và thực nghiệm, tuy nhiên cần lưu ý về quy trình xin quyền truy cập nếu cần.

5. Nguyên lý Hoạt động của Công cụ Kiểm thử

Công cụ như Apifox về bản chất cũng là một trình khách (Client) gửi yêu cầu HTTP đến máy chủ. Sự khác biệt nằm ở cách đóng gói và kích hoạt yêu cầu:

  • Trong Code: Yêu cầu được viết tĩnh trong mã nguồn và tự động chạy khi điều kiện thỏa mãn.
  • Trong Công cụ: Người dùng trực tiếp cấu hình thủ công các trường thông số và kích hoạt gửi yêu cầu tức thời.

Quy trình thực hiện một bài kiểm thử cơ bản trên giao diện bao gồm:

  1. Xác định phương thức HTTP và đường dẫn URL.
  2. Bổ sung các tham số vào Header, Query String hoặc Body (nếu có).
  3. Thực thi lệnh gửi yêu cầu.
  4. So khớp phản hồi trả về với dự kiến trong tài liệu.

6. Thử nghiệm Thực tế

Sau khi nắm vững lý thuyết, hãy tiến hành xây dựng yêu cầu kiểm thử đầu tiên.

Bài tập 1: Truy xuất trang web động

Mục tiêu: Sử dụng phương thức GET để tải về mã nguồn HTML của một trang chủ.

  • Mở công cụ, tạo một endpoint mới.
  • Nhập địa chỉ mục tiêu (ví dụ trang tìm kiếm phổ biến).
  • Chọn phương thức GET, để trống phần Header và Body.
  • Thực hiện gửi yêu cầu.
  • Kiểm tra kết quả trả về ở phần Response Body, sử dụng tính năng xem trước để xác nhận nội dung HTML hiển thị đúng giao diện trang web.

Bài tập 2: Xin Token Truy cập

Mục tiêu: Gọi API để nhận thẻ xác thực (Access Token) thông qua phương thức POST.

  • Tham khảo tài liệu kỹ thuật của dịch vụ thứ ba để biết tên các tham số cần thiết (thường là ID ứng dụng và bí mật).
  • Thiết lập phương thức thành POST.
  • Điền các cặp khóa-giá trị vào phần Parameters (Query hoặc Form-data tùy tài liệu yêu cầu).
  • Gửi yêu cầu và rà soát phần trả về. Nếu thành công, phản hồi sẽ chứa trường access_token.

Người học nên áp dụng quy trình tương tự lên các endpoint nội bộ hoặc các dịch vụ mở khác để củng cố kỹ năng.

Thẻ: Apifox API Testing HTTP Protocol Backend Verification QA Automation

Đăng vào ngày 16 tháng 8 lúc 02:41