12/08/2018, 15:39

Kiểm thử API

I. API là gì? Vì sao phải test API? API (Application Programming Interface) là cái cầu nối giữa client và server. Client ở đây có thể là máy tính, điện thoại sử dụng hệ điều hành khác nhau và được viết bằng những ngôn ngữ khác nhau. Tương tự, server back-end cũng được viết bằng các ngôn ngữ khác ...

I. API là gì? Vì sao phải test API? API (Application Programming Interface) là cái cầu nối giữa client và server. Client ở đây có thể là máy tính, điện thoại sử dụng hệ điều hành khác nhau và được viết bằng những ngôn ngữ khác nhau. Tương tự, server back-end cũng được viết bằng các ngôn ngữ khác nhau. Để client và server có thể nói chuyện được với nhau chúng phải nói cùng 1 ngôn ngữ. Ngôn ngữ ấy chính là API.

II. Vì sao phải test API?

  • Trong quá trình triển khai dự án, phần Server và Client làm độc lập với nhau nên có nhiều chỗ bên Client chưa làm xong, ta không thể chờ Client làm xong để test được dữ liệu. Do đó ta cần kiểm tra API bằng công cụ khác, lúc này việc test hoàn toàn không phụ thuộc gì vào client.
  • Khi Client làm xong rồi, nếu ta kiểm tra trên client mà thấy lỗi liên quan đến logic và dữ liệu thì cũng cần phải kiểm tra thêm cả API để biết chính xác là Server sai hay Client sai nhằm giúp cho việc sửa lỗi nhanh hơn.
  • Khi làm hệ thống web services, dự án chỉ viết API cho bên khác dùng, nên sẽ không có client để test giống như các dự án khác. Do đó, phải test API hoàn toàn.

III. Kiểm thử API là gì?

  • Kiểm thử API là kiểm thử mà trong đó bạn sử dụng phần mềm để gọi tới API, nhận kết quả đầu ra và ghi lại phản hồi của hệ thống.
  • Kiểm thử API không tập trung vào giao diện mà chủ yếu tập trung vào lớp business logic của phần mềm.

IV. Cần chuẩn bị những gì để bắt đầu kiểm thử API?

  • Thiết lập môi trường kiểm thử API
  • Xác định phạm vi và yêu cầu kiểm thử
  • Quyết định xem bạn muốn thử nghiệm API của mình như thế nào?
  • Testcase API
  1. Thiết lập môi trường kiểm thử API
  • Thiết lập môi trường kiểm thử API với tập hợp các tham số cần thiết của API.
  • Cấu hình cơ sở dữ liệu và máy chủ theo các yêu cầu của ứng dụng.
  • Thử thực hiện gọi API để đảm bảo không có lỗi gì trước khi bạn tiến hành kiểm thử.
  1. Xác định phạm vi và yêu cầu kiểm thử Đặt các câu hỏi liên quan đến API để xác định phạm vi và yêu cầu kiểm thử. Ví dụ:
  • Những môi trường nào nên sử dụng API như thế nào?
  • Độ ưu tiên trong kiểm thử API?
  • Điều gì sẽ xảy ra trong những trường hợp bình thường, trường hợp bất thường
  • API nào khác có thể tương tác với API này? ...
  1. Quyết định xem bạn muốn thử nghiệm API của mình như thế nào? Một số phương pháp kiểm thử API phổ biến:
  • Functionality testing - Xác nhận API hoạt động chính xác theo đúng chức năng mà nó được tạo ra.
  • Usability testing - Xác nhận API có thể sử dụng một cách dễ dàng
  • Reliability testing - Xác nhận việc gọi API và trả kết quả hoạt động ổn định và nhất quán
  • Load testing - Xác nhận API hoạt động đúng với một lượng cuộc gọi lớn nhất định
  • Security testing - Xác nhận API đã define những yêu cầu về bảo mật như authentication, permissions và access controls
  • API documentation testing - Discovery testing: Xác nhận tài liệu hướng dẫn sử dụng của API là dễ sử dụng cho user
  1. Testcase API Các Testcase về kiểm tra API dựa trên:
  • Kiểm tra các giá trị trả về dựa trên điều kiện đầu vào.
  • Xác minh nếu API không trả lại bất kỳ kết quả gì hoặc kết quả sai.
  • Xác minh nếu API kích hoạt một số sự kiện khác hoặc gọi một API khác.
  • Xác minh xem API đang cập nhật bất kỳ cấu trúc dữ liệu nào.

V. Một số kiểu bug cần chú ý khi kiểm thử API

  • Vấn đề bảo mật
  • Các vấn đề về sự tin cậy. Khó khăn khi kết nối và nhận phản hồi từ API.
  • Vấn đề hiệu năng. API thời gian phản hồi rất cao.
  • Lỗi / cảnh báo không đúng cho người gọi
  • Xử lý sai số giá trị đối số hợp lệ
  • Dữ liệu phản hồi không được cấu trúc chính xác (JSON hoặc XML)

Nguồn tham khảo: Internet

0