Kiểm tra ứng dụng khi không có internet
Rút dây mạng chỉ kiểm tra một điều: máy không có mạng. Phần lớn lỗi offline không phải như vậy. Chúng xảy ra khi bộ điều hợp vẫn bật, biểu tượng wifi trông bình thường, và thứ ứng dụng cần đơn giản là không với tới được.
Ba kiểu “offline” khác nhau
| Bạn bật gì | Ứng dụng thấy gì | Lỗi nó tìm ra |
|---|---|---|
| Chế độ LAN | Mạng nội bộ chạy. Mọi thứ bên ngoài thì không. | Wifi khách sạn trước khi đăng nhập, một đường lên mạng đã chết, mạng công ty không có đường ra ngoài. |
| Chặn một địa chỉ | Một máy chủ không với tới được. Mọi thứ khác vẫn chạy. | Một phụ thuộc ngừng hoạt động trong khi chính ứng dụng vẫn ổn: trường hợp mà kiểm tra sức khỏe (health check) thường bỏ sót. |
| Chặn cổng 53 | Tên không còn phân giải được, kết nối theo địa chỉ vẫn chạy. | DNS hỏng, với người dùng trông như “internet sập” còn trong nhật ký lại trông như một chuyện hoàn toàn khác. |
Từ dòng lệnh
Mất internet cho một ứng dụng, mạng nội bộ không đụng đến, trong hai phút:
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
Một dịch vụ không với tới được, mọi thứ khác bình thường:
BeanNetworkTester.exe --block-ip 203.0.113.10
Tên không còn phân giải được:
BeanNetworkTester.exe --block-port 53 --target myapp.exe
Cũng có sẵn một dòng thời gian làm hỏng DNS rồi tự khôi phục: failing-dns.json trong thư mục scenarios cạnh chương trình. Xem kịch bản theo thời gian.
Thực sự cần để ý điều gì
- Thông báo. Ứng dụng có nói chuyện gì đã xảy ra, hay hiện vòng xoay mãi mãi?
- Thử lại. Nó có giãn khoảng cách các lần thử, hay đập liên tục vào cùng một địa chỉ trong vòng lặp?
- Hàng đợi. Việc người dùng làm lúc offline có được giữ và gửi sau, hay bị mất?
- Phục hồi. STOP đưa mạng trở lại. Ứng dụng tự nhận ra, hay cần khởi động lại?
Điều cuối cùng đó là nơi có nhiều giá trị nhất. Mất mạng dễ xử lý tồi và dễ kiểm tra. Có lại mạng mới là chỗ trạng thái trở nên sai.
Đây không phải là gì
Bộ điều hợp vẫn bật và máy giữ địa chỉ, nên một ứng dụng chỉ hỏi Windows “có mạng không” vẫn nhận được câu trả lời có. Điều này có chủ ý, và là bài kiểm tra thú vị hơn: người dùng thật hiếm khi bị ngắt hoàn toàn, họ kết nối với thứ không với tới được cái họ cần. Nếu bạn muốn đúng trường hợp “không có bộ điều hợp”, hãy tắt bộ điều hợp, không cần công cụ.