बिना इंटरनेट के ऐप का टेस्ट
नेटवर्क केबल निकालने से सिर्फ़ एक चीज़ परखी जाती है: बिना नेटवर्क वाली मशीन। ज़्यादातर ऑफ़लाइन बग ऐसे नहीं होते। वे तब होते हैं जब एडाप्टर चालू होता है, वाई-फ़ाई आइकन ठीक दिखता है, और जो चीज़ ऐप को चाहिए वह बस पहुँच में नहीं होती।
“ऑफ़लाइन” के तीन अलग रूप
| आप क्या चालू करते हैं | ऐप को क्या दिखता है | यह कौन-सा बग ढूँढता है |
|---|---|---|
| LAN मोड | लोकल नेटवर्क चलता है। उसके पार कुछ नहीं। | लॉग-इन से पहले होटल का वाई-फ़ाई, मरा हुआ अपलिंक, बिना बाहर के रास्ते वाला कंपनी नेटवर्क। |
| पता ब्लॉक करें | एक सर्वर पहुँच से बाहर। बाकी सब चलता है। | एक निर्भरता बंद जबकि ऐप खुद ठीक है, वह मामला जो हेल्थ चेक आमतौर पर चूक जाता है। |
| पोर्ट 53 ब्लॉक करें | नाम हल होना बंद हो जाते हैं, पते से कनेक्शन अब भी चलते हैं। | टूटा हुआ DNS, जो उपयोगकर्ता को “इंटरनेट बंद है” जैसा दिखता है और लॉग में बिल्कुल कुछ और। |
कमांड लाइन से
एक ऐप के लिए इंटरनेट गायब, लोकल नेटवर्क अछूता, दो मिनट के लिए:
BeanNetworkTester.exe --lan-mode --target myapp.exe --duration 120
एक सेवा पहुँच से बाहर, बाकी सब सामान्य:
BeanNetworkTester.exe --block-ip 203.0.113.10
नाम हल होना बंद:
BeanNetworkTester.exe --block-port 53 --target myapp.exe
एक तैयार टाइमलाइन भी है जो DNS तोड़ती है और अपने आप उसे वापस भी कर देती है: प्रोग्राम के बगल वाले scenarios फ़ोल्डर में failing-dns.json। समय आधारित सिनेरियो देखें।
असल में क्या देखें
- संदेश। क्या ऐप बताता है कि क्या हुआ, या हमेशा के लिए स्पिनर दिखाता रहता है?
- रीट्राई। क्या वह अंतराल बढ़ाता है, या एक लूप में उसी पते पर हथौड़े बरसाता है?
- कतार। क्या उपयोगकर्ता का ऑफ़लाइन रहते किया हुआ काम सहेजकर बाद में भेजा जाता है, या खो जाता है?
- वापसी। STOP नेटवर्क वापस ला देता है। क्या ऐप खुद पहचान लेता है, या उसे रीस्टार्ट चाहिए?
वह आखिरी वाली बात सबसे ज़्यादा काम की है। ऑफ़लाइन होना बुरी तरह सँभालना भी आसान है और परखना भी। लौटने पर ही स्टेट गलत होता है।
यह क्या नहीं है
एडाप्टर चालू रहता है और मशीन अपना पता रखती है, इसलिए जो ऐप सिर्फ़ Windows से पूछता है “क्या नेटवर्क है”, उसे अब भी हाँ मिलती है। यह जानबूझकर है, और यही ज़्यादा दिलचस्प टेस्ट है: असली उपयोगकर्ता शायद ही कभी पूरी तरह कटे होते हैं, वे ऐसी किसी चीज़ से जुड़े होते हैं जो उनकी ज़रूरत तक पहुँच नहीं सकती। अगर आपको खासकर “कोई एडाप्टर नहीं” वाला मामला चाहिए, तो एडाप्टर बंद कर दें, किसी टूल की ज़रूरत नहीं।