API và tích hợp
Kiểm thử tích hợp bên ngoài mà không tác động production
Kiểm thử có thể vô tình gửi tin thật hoặc tạo lượt đặt thật. Hãy tách môi trường, hạn chế đích gọi ra và xác minh cơ chế chặn trước khi tin vào một buổi diễn tập tích hợp.
Kiểm thử sát thực chỉ hữu ích khi tác động vẫn nằm trong ranh giới được duyệt. Ứng dụng staging vẫn có thể dùng thông tin xác thực thật, gọi endpoint thật hoặc gửi thông báo thật. Trước hết, liệt kê mọi tác động bên ngoài mà kiểm thử có thể tạo, kể cả tác động gián tiếp từ webhook và tiến trình nền.
Xác định ranh giới trước dữ liệu kiểm thử
Nên dùng tài khoản thử hoặc chế độ thử riêng của nhà cung cấp nếu có, thông tin xác thực tách biệt và bản ghi tổng hợp. Gắn nhãn staging cho ứng dụng không tạo ra cách ly. Kiểm tra cấu hình thực tế của tiến trình web, tác vụ định kỳ và tiến trình nền chạy sau yêu cầu ban đầu.
Dùng kiểm soát đích mạng và danh sách cho phép rõ ràng khi khả thi. Thay bộ kết nối email, nhắn tin, hoàn tất đơn và tác động khác bằng nơi nhận có kiểm soát. Có danh sách người nhận thử và kế hoạch dọn dữ liệu. Cơ sở dữ liệu cách ly không ngăn một lệnh gọi ra tạo tác động ngoài đời, nên phải xem toàn bộ đường thực thi.
Kết hợp nhiều loại bằng chứng
Dùng kiểm thử hợp đồng để kiểm tra cấu trúc yêu cầu và phản hồi đã thống nhất. Dùng bản thay thế nội bộ để mô phỏng chậm, nội dung sai và lỗi từng phần. Sau đó chạy trong môi trường thử mà nhà cung cấp hỗ trợ để kiểm tra giả định xác thực và giao thức mà bản thay thế không chứng minh được.
Stripe có tài liệu kiểm thử webhook cục bộ bằng CLI và kiểm tra chữ ký với nội dung yêu cầu nguyên gốc.[4] Các công cụ này giúp thử đường nhận của nhà cung cấp đó. Chúng không chứng minh mọi điều kiện giao thông điệp hoặc quy trình nghiệp vụ trong production đều được tái hiện. Ghi hành vi môi trường thử bỏ qua và hành vi còn cần kiểm tra khi phát hành có kiểm soát.
Lưu phiên bản dữ liệu mẫu cùng hợp đồng và xóa bí mật bị ghi lại trước khi chia sẻ bằng chứng kiểm thử. Sự sát thực hữu ích không đòi hỏi sao chép hồ sơ cá nhân thật.
Kiểm tra cách ly thực sự chặn sai sót
Nên kiểm thử đối chứng âm trước các kịch bản chức năng. Chủ động cấu hình đích không được phép hoặc thao tác chỉ dành cho môi trường thật trong bộ thử có kiểm soát, rồi xác nhận lớp bảo vệ từ chối mà không gửi yêu cầu. Không kiểm tra cơ chế chặn bằng cách thực hiện chính tác động thật cần ngăn.
- Liệt kê lệnh gọi trực tiếp, công việc chờ, webhook và tác động theo lịch.
- Xác minh endpoint, tài khoản, thông tin xác thực và người nhận thực tế.
- Xác nhận chặn đích gọi ra và che dữ liệu trong nội dung được ghi nhận.
- Kiểm thử sự kiện trùng, hết lượt thử, dọn dữ liệu và phát lại trong vùng cách ly.
Ví dụ giả định: nhắc lịch hẹn
Ví dụ giả định: nhà cung cấp phần mềm phòng khám thử nhắc lịch bằng lịch hẹn tổng hợp và nơi nhận tin có kiểm soát. Tiến trình nền xử lý timeout và công việc lặp, còn chính sách mạng chặn đích nhắn tin thật. Không đưa hồ sơ bệnh nhân vào kiểm thử.
Tài khoản thử nhà cung cấp xác minh định dạng yêu cầu được chấp nhận, nhưng nhóm ghi rõ chưa kiểm tra giao tin thật. Thiết lập nhiều lớp cần bảo trì và có thể lệch khi hành vi nhà cung cấp thay đổi. Bước tiếp theo là xem một lần chạy kiểm thử từ đầu đến cuối và chỉ ra mọi nơi tác động ngoài có thể thoát khỏi ranh giới dự kiến.