API Test là gì?

API Test là gì?

November 11, 2021 0 By Nam Vu

Mình đã có một bài viết nói về API và API Testing trước đó, tuy rằng Api Testing không nằm trong danh mục bắt buộc phải test trong quá trình phát triển phần mềm nhưng khi phân chia backend và frontend thì Api testing được xem là cửa ngõ đảm bảo chất lượng đầu ra cho anh em dev backend nên đây có thể là một nhiệm vụ cần thiết phải làm cho các anh em backend trước khi tích hợp với frontend.

Ngoài ra 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 giớ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 Test 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.

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í

Đâ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ấy 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 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.

Api testing tuy rằng hàn lâm của anh em dev backend nhưng không có nghĩa là nó chỉ là nhiệm vụ của anh em dev backend. Những hệ thống lớn đảm bảo chất lượng sản phẩm cũng như phải tích hợp với nhiệu hệ thống bên ngoài khác thì bắt buộc phải có quá trình Api testing, khi này QC hay Tester phải bắt buộc phải có nghiệp vụ test những Api public ra bên ngoài này để đảm bảo chất lượng đầu ra đầu vào của từng Api. 

Trên đây là những khái niệm tổng quát và cơ bản nhất của Api Testing. Hi vọng sẽ giúp ích được phần nào cho các bạn có cái nhìn khách quan nhất về Api Testing trong dự án thực tế.

#ntechdevelopers