API Testing có tầm quan trọng đối với automation testing vì các API đóng vai trò là giao diện chính cho logic ứng dụng. Vậy API Testing là gì? Tại sao lại cần đến API Testing. Bài viết dưới đây sẽ giúp bạn tìm hiểu những điều cần biết về kiểm thử của API và kiểm thử API đóng vai trò quan trọng như thế nào.
API Testing là gì?
API Testing là gì?
Về lý thuyết, API Testing (kiểm thử API) là một loại kiểm thử phần mềm bao gồm việc kiểm tra trực tiếp các giao diện lập trình ứng dụng và là một phần của kiểm thử tích hợp để xác định xem phần mềm có đáp ứng mong đợi về chức năng, độ tin cậy, hiệu suất và bảo mật hay không.
Kiểm thử API khác với những loại kiểm thử khác vì chưa có giao diện nên cần phải thiết lập môi trường khởi tạo. Gọi API với các tham số được yêu cầu và sau đó kiểm tra kết quả trả về.
Những ví dụ kiểm thử API phổ biến như:
- Kiểm tra giá trị API được trả lại dựa trên điều kiện đầu vào
- Xác nhận API không trả lại kết quả gì hoặc kết quả sai
- Kiểm tra API có kích hoạt một số sự kiện khác hoặc gọi một số sự kiện khác không
- Xác nhận API đang cập nhật cấu trúc dữ liệu nào đó
Test case trong API Testing
Test case trong API Testing được xây dựng dựa vào:
- Giá trị được trả về dựa trên điều kiện đầu vào: tương đối đơn giản khi kiểm tra, vì đầu vào có thể được xác định và kết quả có thể đã được xác thực.
- Không trả về bất cứ kết quả gì: Khi không có giá trị nào được trả về, một hành vị API trên hệ thống sẽ được tiến hành kiểm tra.
- Kích hoạt một số API/Interrupt/API: Nếu đầu ra của API được kích hoạt một số event hoặc gián đoạn, thì listener của interrupt hoặc event sẽ được theo dõi
- Cập nhật cấu trúc dữ liệu: Cập nhật cấu trúc dữ liệu sẽ trả về một số kết quả hoặc ảnh hưởng đến hệ thống và cần được xác thực.
- Sửa đổi một số tài nguyên: Nếu lệnh gọi API có sửa đổi một số tài nguyên thì nó phải được xác thực bằng các truy cập các tài nguyên tương ứng.
Test case trong API Testing
Tại sao cần kiểm thử API?
Kiểm thử ứng dụng sớm mà không cần giao diện người dùng
Nếu bạn tìm thấy lỗi càng muộn thì bạn càng mất nhiều thời gian và công sức để sửa nó. API Testing sẽ giúp người kiểm thử tham gia sớm vào vòng đời phát triển của sản phẩm. Với API Testing, bạn hoàn toàn có thể bắt đầu kiểm thử ứng dụng sớm mà không cần đến giao diện người dùng. Điều này sẽ giúp bạn sớm khắc phục được các vấn đề trong vòng đời phát triển, nếu không thì sẽ mất nhiều chi phí để khắc phục khi lỗi được xác định ở quá trình kiểm thử GUI. Ưu điểm của API Testing là có thể kiểm tra rất nhiều logic mà không bị phụ thuộc vào GUI.
Tạo ra một chiến lược kiểm thử tự động, giảm thiểu chi phí
Kim tự tháp Tự động hoá
Đây là hình ảnh của “Kim tự tháp tự động hóa” (Automation pyramid). Nếu chúng ta nắm được, chúng ta có thể tạo ra một chiến lược tự động hoá hiệu quả.
Đi từ tầng dưới của kim tự tháp, các chi phí liên quan đến việc tạo ra và duy trì các phương pháp, thời gian thực hiện, phạm vi kiểm thử sẽ dần tăng lên. Kim tự tháp chỉ ra rằng chúng ta cần làm nhiều kiểm thử tự động thông qua Uni Test và API Testing hơn là thực hiện kiểm thử dựa trên GUI.
Trên thực tế, việc liên tục tích hợp, thời gian để kiểm thử hồi quy GUI mất quá nhiều thời gian để nhận lại phản hồi. Các chi phí liên quan đến việc thực hiện và duy trì các phương pháp kiểm thử sẽ dần tăng lên.
API Testing đóng vai trò quan trọng trong doanh nghiệp
API testing là một hình thức kiểm thử phần mềm độc đáo. Kiểm thử API đặc biệt có giá trị đối với các doanh nghiệp biết nắm bắt và cập nhật quá trình hội nhập liên tục. Bài viết đã cung cấp những thông tin về API Testing. Hy vọng những thông tin này có thể giúp bạn hiểu được cơ bản API Testing là gì để có thể ứng dụng triển khai trong tương lai.