Định nghĩa API testing 

API testing là một loại kiểm thử phần mềm bao gồm kiểm tra trực tiếp các giao diện lập trình ứng dụng (API) và là một phần của kiểm thử tích hợp để xác định xem chúng có đáp ứng mong đợi về chức năng, độ tin cậy, hiệu suất và bảo mật không.

Bạn đang xem: Test là gì

Vì API thiếu GUI, API testing được thực hiện ở message layer.

API testing được coi là quan trọng cho automation testing vì các API đóng vai trò là giao diện chính cho logic ứng dụng và do GUI test rất khó duy trì với các chu kỳ release ngắn và các thay đổi thường được sử dụng trong Agile và DevOps.

*

So sánh API testing và GUI testing

API testing phù hợp hơn cho test automation và test liên tục (đặc biệt trong Agile và DevOps) so với GUI testing. Bởi vì:

Độ phức tạp của hệ thống: GUI testing không thể xác minh đầy đủ các fuctional path và API / service liên quan đến kiến trúc đa nhiệm. API được coi là giao diện ổn định nhất cho hệ thống được test.Các chu kỳ release ngắn với các vòng phản hồi nhanh: Các nhóm Agile và DevOps làm việc với các vòng lặp ngắn (short iterations) và các vòng phản hồi nhanh (fast feedback loops) thấy rằng GUI testing yêu cầu làm lại đáng kể để theo kịp sự thay đổi thường xuyên. Testing ở lớp API ít hơn và dễ bảo trì hơn.

Vì những lý do này, chúng ta nên tăng API testing và giảm sự phụ thuộc vào GUI testing. API testing được khuyến nghị cho phần lớn các automation test và thử nghiệm càng nhiều càng tốt. GUI testing sau đó được dành riêng để xác thực các trường hợp ở system level, mobile testing, và usability testing.

Thiết lập môi trường test API

API testing khác với các loại kiểm thử phần mềm khác vì GUI không khả dụng.

Tuy nhiên, bạn được yêu cầu thiết lập môi trường ban đầu gọi API với một bộ tham số bắt buộc và cuối cùng là kiểm tra kết quả.

Do đó, thiết lập môi trường thử nghiệm API testing khá phức tạp.

Cơ sở dữ liệu và máy chủ nên được cấu hình theo yêu cầu ứng dụng.

Sau khi cài đặt xong, Hàm API sẽ được gọi để kiểm tra xem API đó có hoạt động không.

Các loại đầu ra của API

Đầu ra của API có thể là

Bất kỳ loại dữ liệu nàoTrạng thái (Pass hoặc Fail)Gọi một API function khác.

Xem thêm:

Hãy xem xét ví dụ về từng loại trên:

Bất kỳ loại dữ liệu nào

Ví dụ: một hàm API sẽ thêm hai số nguyên.

Long add(int a, int b)

Các số phải được đưa ra làm tham số đầu vào. Đầu ra phải là tổng của hai số nguyên. Đầu ra này cần phải được xác minh với một kết quả mong đợi.

Call phải là

add (1234, 5656)

Các ngoại lệ phải được xử lý nếu số lượng vượt quá giới hạn số nguyên.

Trạng thái (Pass hoặc Fail)

Hãy xem xét API function bên dưới

Lock()Unlock()Delete()

Nó trả về bất kỳ giá trị nào như True (trường hợp thành công) hoặc false (trường hợp có lỗi).

Một Test Case chính xác hơn sẽ có thể gọi các hàm trong bất kỳ tập lệnh nào và sau đó kiểm tra các thay đổi trong cơ sở dữ liệu hoặc application GUI.

Call một API / Event

Trong trường hợp này, khi ta gọi một trong các hàm API, và hàm này sẽ gọi một hàm khác.

Ví dụ: Hàm API đầu tiên có thể được sử dụng để xóa một record đã chỉ định trong bảng và tiếp đó, hàm này gọi một hàm khác để REFRESH cơ sở dữ liệu.

Test case trong API testing

Test case trong API testing dựa vào:

– Giá trị trả về dựa trên điều kiện đầu vào: tương đối dễ 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ứ điều gì: Khi không có giá trị trả về, một hành vi API trên hệ thống sẽ được kiểm tra

– Kích hoạt một số API / Event / Interupt: Nếu đầu ra của API kích hoạt một số event hoặc gián đoạn, thì những listerner của event hoặc interupt đó sẽ được theo dõi.

Xem thêm: Research Là Gì – định Nghĩa, Ví Dụ, Giải Thích

– Cập nhật cấu trúc dữ liệu: Cập nhật cấu trúc dữ liệu sẽ có 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 sửa đổi một số tài nguyên thì nó phải được xác thực bằng cách truy cập các tài nguyên tương ứng.

Chuyên mục: Hỏi Đáp