Postman Cơ Bản: Test REST API Đầu Tiên Cho Tester

Postman là gì & vì sao tester dùng

Postman là công cụ GUI giúp tester gửi request HTTP đến API rồi đọc response, mà không cần viết code. Khi dùng Postman test api, bạn nhập URL, chọn method (GET/POST...), thêm header/body, bấm Send và xem ngay status code cùng dữ liệu JSON trả về. Nó biến việc "nói chuyện" với API thành thao tác trực quan, rất hợp người mới.

Vì sao tester chuộng cách postman test api kiểu này? Vì nó cho bạn nhìn thấy mọi thứ rõ ràng: request gửi đi gồm gì, server đáp lại ra sao, mất bao lâu. Bạn có thể lưu lại request để chạy lại nhiều lần, gom thành bộ test, thậm chí viết assertion tự kiểm tra. So với việc viết script bằng code ngay từ đầu, Postman giúp bạn tập trung vào tư duy kiểm thử thay vì cú pháp lập trình.

Nếu bạn còn mơ hồ "API" hay "RESTful" nghĩa là gì, hãy đọc trước API RESTful là gì; còn muốn nhìn bức tranh tổng thể nghề thì xem API testing là gì. Bài này tôi giả định bạn đã nắm sơ khái niệm và muốn bắt tay làm ngay.

Xuyên suốt bài, tôi dùng một ví dụ quen thuộc: Hệ thống đặt phòng họp nội bộ. Hệ thống này có API để lấy danh sách lượt đặt (GET) và tạo một lượt đặt mới (POST). Ta sẽ test chính hai API đó.

Cài đặt & giao diện Postman

Cài Postman rất nhẹ nhàng. Vào trang postman.com, tải bản desktop cho Windows/macOS/Linux rồi cài như phần mềm thường. Có cả bản web chạy trên trình duyệt, nhưng bản desktop tiện hơn vì gọi được API chạy ở localhost. Đăng nhập (hoặc bấm bỏ qua) là dùng được ngay — Postman miễn phí cho nhu cầu cơ bản.

Mở Postman lên, vài khu vực bạn cần biết để postman test api không bị lạc:

Khu vực | Vị trí | Dùng để làm gì
Sidebar (Collections) | Bên trái | Lưu và gom nhóm các request thành bộ test
Thanh request | Trên cùng | Chọn method (GET/POST), nhập URL, bấm Send
Tab Params/Headers/Body | Giữa | Khai báo tham số, header, dữ liệu gửi đi
Panel Response | Dưới | Xem status code, body JSON, header, thời gian phản hồi
Tab Tests | Giữa | Viết test assertion (pm.test) kiểm tra response

Một khái niệm hay gây nhầm: Workspace là không gian làm việc lớn (theo cá nhân hoặc nhóm), còn Collection là một thư mục gom các request liên quan bên trong workspace. Người mới cứ tạo một workspace cá nhân, rồi một collection tên "Đặt phòng họp" là đủ.

Gửi request GET đầu tiên (từng bước)

Bước đầu tiên khi postman test api thường là một request GET. GET là method dùng để đọc dữ liệu — an toàn nhất để tập gửi request đầu tiên vì nó không làm thay đổi gì trên server. Ta sẽ lấy danh sách lượt đặt phòng. Các bước cụ thể như bảng dưới:

Bước | Thao tác trong Postman
1 | Bấm New → HTTP Request (hoặc dấu + mở tab mới)
2 | Chọn method GET ở ô bên trái thanh request
3 | Dán URL endpoint, ví dụ https://api.example.com/bookings
4 | (Tùy chọn) Mở tab Params thêm query như ?date=2026-07-01
5 | (Nếu API cần) Mở tab Headers thêm Authorization
6 | Bấm Send
7 | Xem panel Response ở dưới: status code và body JSON

Khi gửi thành công, bạn sẽ thấy 200 OK ở góc và một mảng JSON các lượt đặt. Nếu nhận 401, nghĩa là thiếu xác thực; 404 nghĩa là sai đường dẫn endpoint. Đây chính là lúc kiến thức HTTP status code phát huy tác dụng — đọc đúng mã là đọc đúng "tâm trạng" của server.

Mẹo nhỏ: sau khi request chạy ngon, bấm Save để lưu vào collection "Đặt phòng họp". Lần sau bạn chỉ cần mở ra bấm Send, khỏi gõ lại.

Gửi POST với body JSON

Bước tiếp theo khi postman test api là thử một request POST. POST dùng để tạo mới dữ liệu — ở đây là tạo một lượt đặt phòng. Khác với GET, POST cần gửi kèm body chứa dữ liệu. Các bước:

Tạo request mới, chọn method POST.

Nhập URL: https://api.example.com/bookings.

Mở tab Body, chọn raw, rồi chọn định dạng JSON ở menu bên phải.

Postman tự thêm header Content-Type: application/json — đây là điều người mới hay quên khi test thủ công, thiếu nó server có thể từ chối.

Nhập body, ví dụ:

json { "room": "Phòng họp A", "date": "2026-07-01", "start": "09:00", "end": "10:00", "booker": "tuan.bui" }

Bấm Send.

Một POST tạo mới thành công thường trả về 201 Created kèm dữ liệu lượt đặt vừa tạo (thường có thêm một id). Đây là lúc tư duy tester lên tiếng: đừng chỉ test ca "đẹp". Hãy thử gửi body thiếu trường room, hoặc đặt trùng giờ một phòng — API tốt phải trả lỗi rõ ràng (ví dụ 400 cho dữ liệu sai, 409 Conflict khi trùng lịch) chứ không vỡ thành 500 chung chung.

Đọc response: status, body, header

Đọc response cho đúng là kỹ năng cốt lõi khi postman test api. Panel Response chia làm mấy phần, mỗi phần kể một câu chuyện khác nhau:

Status code: con số ở góc trên (200, 201, 400, 401, 404, 500...). Đây là điều đầu tiên cần kiểm. Nhớ nhanh: 2xx thành công, 4xx lỗi do request gửi sai, 5xx lỗi do server.

Body: dữ liệu trả về, thường là JSON. Bạn đối chiếu từng field với kỳ vọng — đúng giá trị chưa, đúng kiểu dữ liệu chưa, có thiếu field nào không.

Headers: tab Headers trong response cho biết metadata như Content-Type, thông tin phân trang, hay header xác thực. Đừng bỏ qua, nhiều lỗi tích hợp nằm ở đây.

Time & Size: Postman hiển thị thời gian phản hồi và dung lượng — một chỉ báo hiệu năng sơ bộ để bạn cảnh giác nếu API chậm bất thường.

Quy trình đọc của tôi luôn theo thứ tự: status code trước (đúng mã chưa?), rồi tới body (đúng dữ liệu chưa?), cuối cùng liếc header và thời gian. Nắm trình tự này, bạn sẽ không bị rối khi response trả về một đống thông tin.

Viết test assertion cơ bản (pm.test)

Đọc bằng mắt thì ổn cho vài request, nhưng postman test api nghiêm túc cần tự động kiểm tra. Postman cho phép viết assertion trong tab Tests bằng JavaScript đơn giản — bạn gần như chỉ điền vào khuôn mẫu, không cần giỏi lập trình. Hàm chính là pm.test(), kết hợp pm.expect() để khẳng định điều bạn mong đợi.

Ví dụ, cho request POST tạo lượt đặt ở trên, mở tab Tests và viết:

```javascript // Kiểm tra status code đúng 201 pm.test("Tao booking tra ve 201", function () { pm.response.to.have.status(201); });

// Kiểm tra response trả về có id pm.test("Response co truong id", function () { const data = pm.response.json(); pm.expect(data).to.have.property("id"); });

// Kiểm tra đúng phòng đã đặt pm.test("Dung phong da dat", function () { const data = pm.response.json(); pm.expect(data.room).to.eql("Phòng họp A"); }); ```

Bấm Send, kéo xuống tab Test Results trong panel Response: mỗi assertion đậu sẽ hiện màu xanh (PASS), trượt thì màu đỏ (FAIL). Vậy là bạn vừa có một bộ kiểm thử tự xác minh, chạy lại bao nhiêu lần cũng cho kết quả nhất quán — đúng tinh thần test mà không phải xét bằng mắt mỗi lần.

Để thiết kế các assertion cho đủ ca (hợp lệ, không hợp lệ, biên), bạn áp dụng tư duy phủ case y như khi test giao diện. Đây là phần thực hành trọng tâm trong khóa API Testing.

Collection & biến môi trường

Khi postman test api ở quy mô lớn hơn, bạn cần tổ chức cho gọn — và đó là lúc Collection cùng biến môi trường tỏa sáng.

Collection là bộ sưu tập các request được lưu lại. Bạn gom tất cả request "Đặt phòng họp" (GET danh sách, POST tạo, GET chi tiết...) vào một collection, đặt theo thứ tự, rồi có thể chạy cả bộ một lần bằng Collection Runner.

Biến môi trường (environment variable) giúp bạn tránh lặp lại và dễ chuyển giữa các môi trường (dev, staging, production). Thay vì gõ cứng https://api.example.com ở mọi request, bạn tạo biến base_url rồi dùng cú pháp hai ngoặc nhọn:

{{base_url}}/bookings

Tạo hai environment "Dev" và "Staging" với base_url khác nhau; muốn đổi nơi test, chỉ cần chọn environment ở góc phải trên — toàn bộ request tự trỏ sang đúng server. Token xác thực cũng nên để thành biến {{token}} cho an toàn và tiện thay.

Khi đã có collection chạy ngon, bạn có thể đưa nó lên CI để chạy tự động mỗi lần build — và đó là cầu nối sang Newman, công cụ chạy collection bằng dòng lệnh mà tôi nói ở phần FAQ dưới đây.