- vừa được xem lúc

Sơ lược API Testing

0 0 9

Người đăng: Dung Nguyen

Theo Viblo Asia

1. API testing là gì?

API testing là một loại kiểm thử phần mềm liên quan đến việc kiểm thử các giao diện lập trình ứng dụng (APIs) một cách trực tiếp và là một phần của kiểm thử tích hợp để xác định xem hệ thống có đáp ứng các yêu cầu về tính năng, độ tin cậy, hiệu suất và bảo mật. Vì các API không có GUI nên kiểm thử API được thực hiện ở tầng nghiệp vụ (bussiness layer) . Trong quá trình kiểm thử API, dữ liệu được trao đổi từ XML hoặc JSON thông qua các yêu cầu và phản hồi HTTP ( HTTP requests and responses). Đây là những công nghệ độc lập và sẽ làm việc với nhiều ngôn ngữ lập trình và công nghệ khác nhau.

2. Các test case cho kiểm thử API

Các test case cho kiểm thử API được dựa trên:

  • URL và Method: Kiểm tra URL và Method của API cần test đã đúng với tài liệu đặc tả hay chưa? (thường thì method sẽ là POST or GET tùy vào từng API)

  • Cấu trúc parameter request: Kiểm tra cấu trúc của params truyền đi đã đúng chưa (thường thì kiểm tra đã đầy đủ các property như trong tài liệu hay chưa?)

  • Data truyền đi (parameter request): Kiểm tra với các trường hợp data là valid, invalid, null.. (thường thì với mỗi data đẩy lên sẽ nhận về data, status_code và message tương ứng)

  • Dữ liệu trả về dựa trên điều kiện đầu vào: Điều này tương đối dễ dàng kiểm tra, như đầu vào có thể được xác định và kết quả có thể được xác thực.

  • Không trả về gì cả: Khi không có giá trị trả về, hành vị của API trên hệ thống có thể được kiểm tra

  • Kích hoạt một vài API/event/interrupt: Nếu đầu ra của một API kích hoạt các event hoặc interrupt, thì các listeners của event và interrupt nên đươc kiểm tra

  • 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 vài kết quả hoặc ảnh hưởng lên hệ thống, và chúng nên được kiểm tra

  • Chỉnh sửa các tài nguyên(resources) nhất định: Nếu API gọi chỉnh sửa một vài tài nguyên thì nó nên được xác nhận bằng cách truy cập vào các tài nguyên tương ứng

3. Những điều cần kiểm tra trong kiểm thử API

  • Discovery testing: Kiểm tra các API khi truy cập các tài nguyên và xem các API truy cập các tài nguyên, có được các quyền xem, xóa và sửa hợp lệ hay không

  • Usability testing: Loại kiểm thử này kiểm tra xem API có làm đúng chức năng và thân thiện hay không. và API được tích hợp tốt trên các nền tảng khác hay không

  • Security testing: Loại kiểm thử này bao gồm các loại xác thực được yêu cầu và xem các dữ liệu nhạy cảm có được mã hóa thông qua HTTP hoặc cả hai hay không

  • Automated testing: Kiểm thử API được nâng cao trong việc tạo ra các đoạn mã hoặc công cụ mà có thể chạy API thường xuyên

  • Documentation: Đội kiểm thử phải đảm bảo rằng các tài liệu thích hợp và cung cấp đầy đủ các thông tin để tương tác với API. Tài liệu nên là một phần khi bàn giao

Tìm hiểu về các phương thức và định dạng API: Các API thường hỗ trợ phương thức HTTP như GET, POST, DELETE, PUT và các định dạng dữ liệu như JSON, XML. Tester cần tìm hiểu về chúng để có thể nâng cao việc Test API hiệu quả hơn Hiểu rõ yêu cầu về các API: Đọc kỹ tài liệu API và hiểu rõ yêu cầu của API trước khi bắt đầu Test. Điều này giúp bạn có được cái nhìn tổng quát về chức năng và tính năng của API. Tập trung vào kịch bản chính: Sử dụng dữ liệu thực tế Kiểm tra phản hồi của API: Kiểm tra các mã trạng thái HTTP và dữ liệu trả về từ API Đặt caau hỏi đối với những người có kinh nghiệm

4. Các loại lỗi mà kiểm thử API tìm ra

Lỗi do xử lý các lỗi điều kiện tạo ra

Các cờ chưa sử dụng

Thiếu hoặc lặp các chức năng

Các vấn đề về độ tin cậy. Khó khăn trong việc két nối và nhận được phản hồi từ API.

Các vấn đề về bảo mật

Vấn đề về xử lý đa luồng

Vấn đề về hiệu năng. Thời gian API phản hồi rất cao

Lỗi/cảnh báo không đúng

Xử lý không đúng các giá trị đối số hợp lệ

Cấu trúc dữ liệu trả về không chính xác(JSON hoặc XML)

5. Các tools hỗ trợ kiểm thử API

Kiểm thử API và Unit đều là kiểm tra về source code nên các công cụ tương tự có thể sử dụng cho cả hai

Postman - Manual API testing SOAPUI - Manual API testing JMeter - Manual API testing Katalon Studio - Automated API testing akaAT Studio - Automated API testing Rest Assured (Java) - Automated API testing Rest Sharp (C#) - Automated API testing Playwright (Javascript/Python/Java/C#) - Automated API testing ...

6. Tại sao cần kiểm thử API

  1. Kiểm thử ứng dụng sớm và không cần giao diện người dùng Khi bạn tìm thấy lỗi càng muộn thì càng mất nhiều thời gian, công sức để fix nó. API testing đưa người kiểm thử tham gia sớm vào vòng đời phát triển sản phẩm. Với API testing, bạn có thể bắt đầu kiểm thử ứng dụng sớm ngay cả khi không có giao diện người dùng. Điều này giúp xác định và khắc phục sớm các vấn đề trong vòng đời phát triển, nếu không thì sẽ tốn kém để khắc phục khi được xác định trong quá trình kiểm thử GUI. Ưu điểm của việc kiểm thử API là rất nhiều logic có thể được kiểm tra mà không bị phụ thuộc vào UI.

  2. Để có được một chiến lược kiểm thử tự động tuyệt vời và giảm chi phí. Nếu chúng ta hiểu được "Kim tự tháp Tự động hoá" ( Automation pyramid), chúng ta có thể đưa ra một chiến lược tự động hóa hiệu quả.

Nguồn tham khảo: https://anhtester.com/blog/blog/so-luoc-ve-api-testing

Bình luận

Bài viết tương tự

- vừa được xem lúc

Một số câu hỏi tình huống khi đi phỏng vấn Tester

1. Expected(kết quả mong đợi) trong testcases dựa vào đâu. . Dựa vào SRS: Software Requirement specification Document(tài liệu đặc tả).

0 0 825

- vừa được xem lúc

NHỮNG CÂU TRẢ LỜI PHỎNG VẤN QC - MANUAL TESTER - FRESHER LEVEL _ DDTCMT

Em có thể mô tả life cycle của một bug. . . Nguồn hình: https://itguru.

0 0 367

- vừa được xem lúc

Bộ câu hỏi phỏng vấn tuyển dụng Tester

Một trong những vị trí điển hình của ngành CNTT đó là Tester. Bạn có nguyện vọng cũng như chuyên môn để trở thành một tester nhưng lại bị làm khó bởi những câu hỏi phỏng vấn tuyển dụng Tester.

0 0 145

- vừa được xem lúc

Danh sách câu hỏi phổ biến Interview Manual Tester 2024 - Phỏng vấn

Bài viết này sẽ gửi đến bạn những câu hỏi và gợi ý câu trả lời phỏng vấn giúp cho các bạn tự tin hơn trước buổi phỏng vấn ứng tuyển vào vị trí Tester, nhân viên kiểm thử... Đọc ngay nhé. Gợi ý: Bạn nê

0 0 13

- vừa được xem lúc

Pass phỏng vấn vị trí testers dễ dàng hơn với bộ câu hỏi về API testing - Interview 2024

Bài viết này sẽ gửi đến bạn những câu hỏi và gợi ý câu trả lời phỏng vấn vị trí API Tester. Hi vọng bài viết này sẽ giúp cho các bạn tự tin hơn trước buổi phỏng vấn ứng tuyển.

0 0 10

- vừa được xem lúc

SQL (Structured Query Language)

SQL (Structured Query Language) là một ngôn ngữ lập trình dùng để tương tác với cơ sở dữ liệu quan hệ (Relational Database Management System - RDBMS). SQL cho phép bạn thực hiện các thao tác như truy

0 0 16