Mmaiqai.com
🔗 API Testing · Chương 3 · Mục 3.4

Test theo môi trường: mock, sandbox, staging

🎯 Mục tiêu học: hiểu sự khác biệt giữa các môi trường khi test tích hợp, và rủi ro nếu chỉ test ở 1 môi trường duy nhất rồi coi như đã đủ.

So sánh 3 môi trường thường dùng khi test tích hợp

Môi trườngĐặc điểmKhi nào dùngRủi ro nếu chỉ test ở đây
MockGiả lập hoàn toàn service phụ thuộc bằng code/tool riêngTest nhanh, không phụ thuộc service ngoài còn hoạt động hay khôngKhông phát hiện được lỗi hợp đồng thật (contract mismatch) — mock luôn trả đúng như mình lập trình sẵn
SandboxMôi trường thử nghiệm do bên thứ 3 cung cấp (vd cổng thanh toán)Test hành vi gần thật của service bên ngoài mà không tốn phí/rủi ro thậtCó thể có giới hạn (rate limit, dữ liệu giả định) khác với production, dễ tạo cảm giác an toàn giả
StagingMôi trường nội bộ cấu hình gần giống production nhấtTest tích hợp toàn diện trước khi release, dùng dữ liệu gần thậtChi phí duy trì cao; nếu cấu hình lệch production dù nhỏ vẫn có thể bỏ sót lỗi

Nguyên tắc khi phối hợp cả 3 môi trường

1. Mock cho vòng lặp phát triển nhanh — chạy hàng chục/hàng trăm lần mỗi ngày trong lúc code, không cần chờ service ngoài phản hồi.

2. Sandbox cho case liên quan bên thứ 3 — xác nhận hành vi thật của cổng thanh toán, dịch vụ vận chuyển... trước khi tin vào mock.

3. Staging cho bộ test quan trọng nhất trước khi release — không cần chạy lại toàn bộ, nhưng bắt buộc chạy lại các case rủi ro cao (thanh toán, luồng đa bước ở Mục 3.1) ở môi trường gần thật nhất có thể.

4. Không bao giờ trộn lẫn cấu hình môi trường — luôn kiểm tra kỹ URL/credentials đang trỏ đúng môi trường, tránh rủi ro gọi nhầm sang production khi đang test.

📌 Ghi nhớ

Test case PASS ở mock không đảm bảo nó cũng đúng ở sandbox/staging — vì mock luôn phản hồi đúng như mình lập trình sẵn, không mô phỏng được lỗi/độ trễ thật. Luôn dành ít nhất 1 vòng chạy lại ở môi trường gần thật hơn trước khi release.

📖 Thuật ngữ Anh–Việt (mục này)

Đề thi dùng thuật ngữ tiếng Anh — nhớ đúng cụm bên trái. Bấm 🔊 để nghe từng từ, hoặc "Đọc tất cả" để nghe lần lượt Anh → (vài giây) → Việt.

Thuật ngữ (EN)Nghĩa & ghi nhớ nhanh
MockGiả lập hành vi của 1 service phụ thuộc, dùng để test không phụ thuộc service thật
SandboxMôi trường thử nghiệm do bên thứ 3 cung cấp, mô phỏng gần giống hành vi thật
StagingMôi trường nội bộ cấu hình gần giống production nhất trước khi release
Contract mismatchSai lệch hợp đồng dữ liệu — response thực tế khác với những gì đã thống nhất/mock

📎 Nội dung do maiqai.com biên soạn dựa trên thực hành phổ biến khi test tích hợp, không sao chép nguyên văn từ nguồn nào.