Trang chủ / Kiểm thử API & Di động
Cách tổ chức kiểm tra API, dữ liệu môi trường và chạy tự động trong bộ sưu tập Postman
Kiểm thử phần mềm trở nên dễ dự đoán hơn khi các kiểm tra API được tổ chức giống như mã sản phẩm. Một bộ sưu tập Postman được cấu trúc tốt giúp các nhóm tái sử dụng request, giữ dữ liệu môi trường tách biệt với logic kiểm tra và chạy các kiểm tra tự động trong CI mà không cần viết lại script mỗi sprint. Hướng dẫn này giải thích cách tạo bộ sưu tập kiểm tra API trong Postman có thể mở rộng từ khám phá cục bộ đến tự động hóa theo lịch trình.
Quyết định cấu trúc bộ sưu tập trước khi viết kiểm tra
Bắt đầu với một bố cục nhỏ, có chủ đích. Một mẫu phổ biến là nhóm các request theo tài nguyên và giai đoạn vòng đời:
- Auth cho các endpoint đăng nhập và làm mới token.
- Users cho các luồng tạo, đọc, cập nhật và xóa.
- Orders cho các thao tác ghi và xác thực quan trọng đối với nghiệp vụ.
- Health cho các kiểm tra sẵn sàng và smoke.
Giữ mỗi thư mục tập trung vào một lĩnh vực. Nếu một request được tái sử dụng bởi nhiều lĩnh vực, hãy đặt phiên bản chuẩn trong thư mục chung và tham chiếu nó bằng các biến cấp bộ sưu tập hoặc script trước khi gửi.
Sử dụng môi trường để tách dữ liệu khỏi logic
Các môi trường Postman chứa các giá trị thay đổi giữa các lần chạy, chẳng hạn như URL cơ sở, thông tin xác thực, ID tenant và cờ tính năng. Các biến bộ sưu tập chứa các giá trị mặc định ổn định hiếm khi thay đổi. Sự tách biệt này ngăn việc hard-code tình cờ và giúp cùng một request có thể chạy trên staging, QA hoặc production.
Một thiết lập thực tế bao gồm:
- Biến bộ sưu tập cho thời gian chờ mặc định, giới hạn phân trang và header chung.
- Biến môi trường cho baseUrl, apiKey và userPoolId.
- Biến bí mật cho token hoặc mật khẩu chỉ được sử dụng khi chạy.
Khi một biến có thể sống trong nhiều phạm vi, hãy ưu tiên phạm vi hẹp nhất vẫn cho phép tái sử dụng. Ví dụ, lưu baseUrl theo môi trường trong một môi trường, không phải trong bộ sưu tập.
Chuẩn hóa các script trước khi gửi và kiểm tra
Sự nhất quán giúp bảo trì dễ dàng hơn. Tạo một bộ nhỏ các mẫu script có thể tái sử dụng:
- Trước khi gửi: lấy token mới, tính toán timestamp hoặc tạo id duy nhất.
- Kiểm tra: xác nhận mã trạng thái, cấu trúc schema và các trường nghiệp vụ chính.
Sử dụng pm.test để kiểm tra dễ đọc. Giữ các assertion tập trung vào một hành vi mỗi kiểm tra. Nếu một phản hồi phải chứa danh sách, hãy xác thực kiểu và độ dài tối thiểu riêng biệt với nội dung của từng mục.
Các kiểm tra mẫu dễ bảo trì:
- Mã trạng thái bằng 200 hoặc 201 cho các thao tác ghi thành công.
- Header Content-Type là application/json.
- Thời gian phản hồi dưới ngưỡng được xác định lưu trong biến.
- Các trường bắt buộc tồn tại và có kiểu mong đợi.
Xây dựng thư viện tiện ích nhỏ bên trong bộ sưu tập
Postman hỗ trợ script cấp bộ sưu tập. Đặt các tiện ích chung ở đó để tránh trùng lặp code giữa các request. Các tiện ích chung bao gồm:
- setBaseUrl: đảm bảo URL cơ sở không kết thúc bằng dấu gạch chéo.
- assertSchema: xác thực phản hồi đối với một đoạn JSON Schema đã lưu.
- retryHealthCheck: truy vấn endpoint sẵn sàng cho đến khi nó trả về 200.
Giữ các tiện ích đơn giản và đặt tên rõ ràng. Nếu một tiện ích vượt quá vài dòng, hãy chia thành các hàm nhỏ hơn và ghi chú các đầu vào mong đợi trong comment.
Tạo bộ sưu tập chạy theo dữ liệu với biến
Các lần chạy theo dữ liệu cho phép bạn thực thi cùng một request với nhiều đầu vào. Postman hỗ trợ file CSV và JSON cho mục đích này. Định nghĩa các cột ánh xạ đến tên biến, chẳng hạn như userId, expectedStatus và note.
Các phương pháp hay nhất cho file dữ liệu:
- Giữ số dòng dưới vài trăm cho chạy cục bộ.
- Sử dụng giá trị mong đợi rõ ràng thay vì đoán kết quả.
- Bao gồm các trường hợp tiêu cực, chẳng hạn như email không hợp lệ hoặc thiếu trường bắt buộc.
- Lưu dữ liệu kiểm tra ngoài source control nếu nó chứa giá trị nhạy cảm.
Khi một kiểm tra phụ thuộc vào tài nguyên đã tạo, hãy nối các request sao cho đầu ra của request này trở thành đầu vào của request tiếp theo. Sử dụng biến môi trường hoặc bộ sưu tập để chuyển tiếp ID.
Lên kế hoạch chạy tự động trong CI
Các bộ sưu tập Postman chạy trong Newman, trình chạy dòng lệnh. Để giữ các công việc CI ổn định, thực hiện theo các bước sau:
- Xuất bộ sưu tập và môi trường mục tiêu.
- Lưu bí mật dưới dạng biến CI, không phải trong file.
- Sử dụng bộ smoke nhỏ để phản hồi nhanh và bộ regression đầy đủ cho chạy hàng đêm.
- Đánh dấu build thất bại nếu có bất kỳ kiểm tra nào không đạt và xuất báo cáo tóm tắt.
Một pipeline đơn giản có thể cài đặt Newman, chạy bộ smoke trên môi trường đã triển khai và lưu trữ báo cáo HTML dưới dạng artifact build. Đối với các hệ thống lớn hơn, hãy chia các chạy theo lĩnh vực để giảm thời gian thực thi và cô lập lỗi.
Quản lý phiên bản bộ sưu tập như code
Giữ các bộ sưu tập trong một repository chuyên dụng hoặc workspace có phiên bản. Sử dụng nhánh cho các thay đổi lớn và pull request để đánh giá. Gắn tag cho các bản phát hành tương ứng với phiên bản API để bạn có thể tái tạo một lần chạy vài tháng sau.
Ghi chú những gì đã thay đổi trong mỗi bản phát hành. Ngay cả một danh sách ngắn các endpoint đã thêm, biến đã xóa hoặc ngưỡng đã cập nhật cũng giúp những người bảo trì tương lai hiểu mục đích.
Xử lý xác thực an toàn
Ưu tiên các luồng dựa trên token có thể được làm mới tự động. Lưu bí mật client trong biến môi trường hoặc biến bí mật. Tránh ghi token trong đầu ra kiểm tra. Nếu token hết hạn giữa chừng, hãy thêm script trước khi gửi kiểm tra thời hạn và yêu cầu token mới chỉ khi cần.
Đối với thiết lập OAuth hoặc SSO, hãy xem xét một thư mục xác thực chuyên dụng với một nguồn tin cậy duy nhất cho quản lý token. Các thư mục khác không nên triển khai logic đăng nhập của riêng chúng trừ khi thực sự cần thiết.
Giám sát hiệu suất và độ tin cậy
Thêm các kiểm tra hiệu suất nhẹ cho các endpoint quan trọng. Lưu các ngưỡng mong đợi trong biến, chẳng hạn như maxResponseTimeMs. Điều này giúp dễ dàng điều chỉnh giới hạn mà không cần chỉnh sửa script.
Về độ tin cậy, thêm các lần thử lại cho lỗi tạm thời chỉ ở những nơi an toàn, chẳng hạn như endpoint đọc. Tránh thử lại các thaoét ghi không idempotent trừ khi API đảm bảo idempotent bằng key.
Giữ bảo trì thấp với các thói quen nhỏ
- Xem xét các kiểm tra thất bại hàng tuần và xóa các trường hợp lỗi thời.
- Refactor các assertion trùng lặp thành các tiện ích chung.
- Chạy nhanh bộ sưu tập cục bộ trước khi push thay đổi.
- Giữ tên thư mục và tên biến nhất quán trên tất cả các môi trường.
Với cấu trúc sạch, script có thể tái sử dụng và dữ liệu nhận biết môi trường, thiết lập Postman của bạn trở thành một phần đáng tin cậy của kiểm thử phần mềm. Các nhóm đã học cách tạo bộ sưu tập kiểm tra API trong Postman một lần có thể tái sử dụng cùng các mẫu cho các dịch vụ mới, khu vực mới và chu kỳ phát hành mới mà không cần bắt đầu lại từ đầu.
