Đang tải...

Lửng Lọc Lõi

Đeo kính để soi Bug cho rõ, nhíu mày để nhắc Dev sửa cho kỹ. Với tôi, 'chạy được' thôi là chưa đủ! 🧐💻


0

Postman cho Tester mới: Từ gửi request đến kiểm tra API cơ bản

Lửng Lọc Lõi
Lửng Lọc Lõi

19 giờ trước · 7 phút đọc

Tại sao tester cần biết Postman?

Mình nhớ lần đầu dev bảo "API trả về sai rồi, bạn kiểm tra đi". Lúc đó mình không biết mở gì, test kiểu gì, dùng tool nào. Mò mẫm mất gần nửa ngày mới gửi được 1 request đơn giản.

Postman là công cụ giúp bạn giao tiếp trực tiếp với API - không cần code, không cần giao diện app. Bạn gửi request, nhận response, kiểm tra kết quả. Đơn giản vậy thôi.

347334 Postman - công cụ API testing phổ biến nhất trong team QA hiện nay

Tại sao tester cần biết? Vì rất nhiều bug nằm ở tầng API, không phải giao diện. Nếu chỉ test qua UI, bạn sẽ bỏ sót một lớp lỗi rất quan trọng. Dev có thể fix UI nhưng API vẫn trả sai data - và người dùng vẫn bị ảnh hưởng.

Bài này mình hướng dẫn từ đầu: cài Postman, gửi request đầu tiên, đọc response, đến viết test script tự động kiểm tra. Không cần biết code trước. Chỉ cần logic và tỉ mỉ là đủ.


Cài đặt Postman

Postman có bản desktop (Windows, macOS, Linux) và bản web. Với tester mới, mình khuyên dùng bản desktop - dễ quản lý hơn, không lo session timeout.

Cài đặt đơn giản:

  1. Tải Postman tại: Tải Postman tại đây
  2. Cài như app thường (Next → Next → Finish)
  3. Mở lên, tạo tài khoản miễn phí (hoặc bỏ qua)
  4. Giao diện chính hiện ra - bạn sẵn sàng rồi

347335 Giao diện Postman sau khi cài - các khu vực chính bạn cần biết

Giao diện Postman có 3 vùng chính bạn cần làm quen:

  • Sidebar trái: quản lý Collections (tập hợp các request)
  • Vùng giữa: nơi bạn tạo và gửi request
  • Vùng dưới: nơi response hiện ra sau khi gửi

Không cần nhớ hết ngay. Làm quen từng vùng khi dùng đến là được.


Gửi request đầu tiên với GET

API có 4 loại request chính: GET (lấy dữ liệu), POST (tạo mới), PUT (cập nhật), DELETE (xóa). Bài này mình dùng JSONPlaceholder - API công khai miễn phí, không cần đăng ký, rất phù hợp để luyện tập.

Thử GET đầu tiên - lấy danh sách bài viết:

Bước 1: Nhấn nút "+" hoặc "New" để tạo request mới

Bước 2: Chọn method GET (dropdown bên trái thanh URL)

Bước 3: Nhập URL: https://jsonplaceholder.typicode.com/posts

Bước 4: Nhấn Send

347336 4 bước gửi GET request đầu tiên - đơn giản hơn bạn nghĩ

Nếu làm đúng, vùng response phía dưới sẽ hiện ra một mảng JSON gồm 100 bài viết. Đây là response từ server trả về. Bạn vừa gửi request API đầu tiên rồi đó.

Tại sao dùng JSONPlaceholder? Vì đây là API test công khai, không cần token hay tài khoản. Bạn có thể gửi bất kỳ request nào mà không sợ làm hỏng dữ liệu thật. Xem thêm các endpoint có sẵn tại: JSONPlaceholder - danh sách endpoints


Đọc response: status code, body, headers

Gửi request xong, việc của tester là đọc response kỹ - không phải chỉ "có data là được". Mình từng approve test case chỉ vì thấy data hiện ra, nhưng quên kiểm tra status code. Kết quả? Bug lọt production vì server trả 200 nhưng data thực ra rỗng.

Response có 3 thứ bạn cần kiểm tra:

1. Status code (góc dưới phải màn hình Postman)

Status Ý nghĩa Ví dụ
200 OK Thành công GET/PUT thành công
201 Created Tạo mới thành công POST thành công
400 Bad Request Request sai định dạng Thiếu field bắt buộc
401 Unauthorized Chưa xác thực Thiếu token
404 Not Found Không tìm thấy ID không tồn tại
500 Internal Server Error Server lỗi Bug ở backend

2. Response Body (tab "Body" phía dưới)

Đây là data server trả về. Kiểm tra: đúng định dạng JSON không? Có đủ field không? Giá trị có đúng không?

3. Headers (tab "Headers" phía dưới)

Kiểm tra Content-Type: application/json - đảm bảo server trả JSON thật, không phải HTML lỗi.

347337 3 vùng response quan trọng cần kiểm tra sau mỗi request

Nhiều bạn mới chỉ nhìn vào Body mà bỏ qua status code và headers. Thói quen này dễ bỏ sót lỗi. Mình khuyên bạn kiểm tra đủ cả 3 - mất thêm 10 giây nhưng tránh được bug nghiêm trọng.


POST, PUT, DELETE: gửi request có body

GET chỉ lấy data. Muốn tạo mới, cập nhật, xóa - bạn cần POST, PUT, DELETE. Điểm khác biệt là các request này cần body - tức là dữ liệu bạn gửi lên server.

Ví dụ POST - tạo bài viết mới:

Method: POST
URL: https://jsonplaceholder.typicode.com/posts
Body (JSON):
{
  "title": "Bài viết test",
  "body": "Nội dung test từ Postman",
  "userId": 1
}

Cách thực hiện trong Postman:

  1. Chọn method POST
  2. Nhập URL
  3. Click tab Body → chọn raw → chọn JSON từ dropdown
  4. Paste JSON vào ô text
  5. Nhấn Send

Kết quả mong đợi: status 201 Created, response body trả về object vừa tạo kèm id mới.

347338 Cách cấu hình body cho POST request trong Postman

Ví dụ PUT - cập nhật bài viết:

Method: PUT
URL: https://jsonplaceholder.typicode.com/posts/1
Body (JSON):
{
  "id": 1,
  "title": "Tiêu đề đã sửa",
  "body": "Nội dung đã sửa",
  "userId": 1
}

Ví dụ DELETE:

Method: DELETE
URL: https://jsonplaceholder.typicode.com/posts/1
(Không cần body)

Kết quả DELETE: status 200 OK, body trả về {} (object rỗng).

Lưu ý quan trọng: JSONPlaceholder là API giả lập. Dữ liệu bạn tạo/sửa/xóa không thật sự thay đổi trên server. Đây là lý do nó an toàn để luyện tập.


Tổ chức request với Collection

Bạn test một tính năng thường không phải 1 request mà 5-10 request. Không tổ chức vào Collection, bạn sẽ mất công tìm lại mỗi lần cần chạy lại.

Collection giống như thư mục chứa các request liên quan. Ví dụ: Collection "User API" chứa các request GET/POST/PUT/DELETE cho user. Collection "Post API" chứa request cho bài viết.

Tạo Collection:

  1. Click "New" → chọn "Collection"
  2. Đặt tên (ví dụ: "JSONPlaceholder Test")
  3. Nhấn Create

Thêm request vào Collection:

  1. Tạo request như bình thường
  2. Nhấn Save (Ctrl+S)
  3. Chọn Collection muốn lưu vào
  4. Đặt tên request (ví dụ: "GET - Danh sách bài viết")

347339 Collection giúp sắp xếp request theo tính năng - dễ tìm, dễ chạy lại

Sau khi có Collection, bạn có thể chạy cả Collection bằng nút "Run" - Postman sẽ tự động gửi tất cả request theo thứ tự. Tính năng này rất hữu ích khi cần chạy regression testing nhanh.

Nhớ đặt tên request rõ ràng: "GET - Lấy user theo ID", "POST - Tạo user mới" - thay vì chỉ "Request 1", "Request 2". Người khác trong team nhìn vào cũng hiểu ngay.