API Testing – Sơ bộ về protocol (Phần 1)

3 min read

Bạn đã từng thắc mắc protocol là gì? Hay chúng ta giao tiếp qua mạng internet ra sao hay chưa?

API testing là gì?

API testing là một loại kiểm thử phần mềm, nó phân tích một giao diện chương trình ứng dụng (API) để xác minh rằng API đó có đáp ứng chức năng, bảo mật, hiệu suất và độ tin cậy như mong đợi hay không? Kiểm thử có thể thực hiện trực tiếp trên API hoặc như một phần của kiểm thử tích hợp.

Khi nhận được yêu cầu test API, testers phải làm gì?

Trong kiểm thử API, thay vì sử dụng đầu vào (nhập từ bàn phím) và đầu ra tiêu chuẩn của người dùng, người kiểm thử sẽ sử dụng các công cụ hỗ trợ để gửi lệnh gọi đến API, nhận đầu ra và ghi lại phản hồi của hệ thống. Kiểm tra API rất khác với Kiểm tra GUI và sẽ không tập trung vào giao diện của một ứng dụng. Nó chủ yếu tập trung vào lớp logic nghiệp vụ của kiến trúc phần mềm.

Để trả lời cho câu hỏi “test API là gì và làm thế nào để thực hiện”, trước tiên ta phải tìm hiểu bản chất, thành phần của API.

I. Protocol là gì?

Giả sử: Có 2 người A và B nói chuyện với nhau qua điện thoại, nếu người A hỏi 1 câu rồi im lặng, người B sẽ biết rằng người A đang chờ đợi câu trả lời và đến lượt người B nói. Hai chiếc máy tính cũng giao tiếp 1 cách lịch sự như vậy và được mô tả với cái thuật ngữ “Protocol” – giao thức.
Giao thức chính là những luật lệ được chấp thuận để 2 cái máy tính có thể nói chuyện với nhau.
Tuy nhiên, luật lệ này chặt chẽ hơn rất nhiều so với giao tiếp giữa người với người. Máy tính sẽ không thông minh để có thể nhận biết 2 câu “A là chồng B” hay “B là vợ A” có cùng ý nghĩa. Để 2 máy tính giao tiếp hiệu quả, server phải biết chính xác cách mà client sắp xếp cái message nó gửi lên như thế nào.

Chúng ta đã từng nghe đến những Protocol cho những mục đích khác nhau, ví dụ như Mail có POP hay IMAP, message có XMPP, Kết nối thiết bị: Bluetooth. Trong web thì Protocol chính là HTTP – HyperText Transfer Protocol, và nó là giao thức được dùng cho các API.

II. HTTP hoạt động như thế nào?

Cuộc sống của HTTP xoay quanh cái vòng luẩn quẩn: Request và Response. Client gửi request, server gửi lại response là liệu server có thể làm được cái client muốn hay ko. Và API được xây dựng trên chính 2 thành phần: Request và Reponse. Trước tiên, ta phải hiểu cấu trúc của mỗi thành phần.

http protocol

1. Request: một cái request đúng chuẩn cần có 4 thứ: 

  • URL: là 1 cái địa chỉ duy nhất cho 1 thứ (dùng danh từ), có thể là web page, image,hoặc video. API mở rộng cái ý tưởng gốc của URL cho những thứ khác, ví dụ: customers, products. Và như thế client dễ dàng cho server biết cái nó muốn là cái gì, những cái này còn được gọi chung là “resources” – nguồn lực.
  • Method: là cái hành động client muốn tác động lên “resources”, và nó thường là động từ. Có 4 loại Method hay được dùng:
    – GET: Yêu cầu server đưa lại resource
    – POST: Yêu cầu server cho tạo ra 1 resource mới.
    – PUT: Yêu cầu server cho sửa / thêm vào resource đã có trên hệ thống.
    – DELETE: Yêu cầu server cho xóa 1 resourse.
  • Headers: nơi chứa các thông tin cần thiết của 1 request nhưng end-users không biết có sự tồn tại của nó. Ví dụ: độ dài của request body, thời gian gửi request, loại thiết bị đang sử dụng, loại định dạng cái response mà client có đọc được…
  • Body: nơi chứa thông tin mà client sẽ điền. Giả sử bạn đặt 1 cái bánh pizza, thì thông tin ở phần body sẽ là: Loại bánh pizza, kích cỡ, số lượng đặt.

2. Respone: 

  • Sau khi nhận được request từ phía client, server sẽ xử lý cái request đó và gửi ngược lại cho client 1 cái response. Cấu trúc của 1 response tương đối giống phần request nhưng Status code sẽ thay thế cho URL và Method. Tóm lại, nó có cầu trúc 3 phần:
    1. Status code (Có thể tham khảo bài viết riêng về status code để hiểu rõ hơn)
    2. Headers
    3. Body

R: https://viblo.asia/p/tim-hieu-ve-http-hypertext-transfer-protocol-bJzKmgewl9N

Avatar photo

Clean Code: Nguyên tắc viết hàm trong lập trình…

Trong quá trình phát triển phần mềm, việc viết mã nguồn dễ đọc, dễ hiểu là yếu tố then chốt để đảm bảo code...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc comment trong lập trình

Trong lập trình, code không chỉ là một tập hợp các câu lệnh để máy tính thực thi, mà còn là một hình thức...
Avatar photo Dat Tran Thanh
3 min read

Clean Code: Nguyên tắc xử lý lỗi (Error Handling)

Trong quá trình phát triển phần mềm, việc xử lý lỗi không chỉ là một phần quan trọng mà còn ảnh hưởng trực tiếp...
Avatar photo Dat Tran Thanh
4 min read

2 Replies to “API Testing – Sơ bộ về protocol (Phần 1)”

Leave a Reply

Your email address will not be published. Required fields are marked *