اختبار تطبيق بلا إنترنت
فصل كابل الشبكة يختبر شيئًا واحدًا: جهازًا بلا شبكة. ومعظم أخطاء عدم الاتصال ليست كذلك. بل تحدث حين يكون المحوّل يعمل، وأيقونة الواي فاي تبدو سليمة، وما يحتاجه التطبيق ببساطة غير قابل للوصول.
ثلاثة أنواع مختلفة من «عدم الاتصال»
| ما تشغّله | ما يراه التطبيق | الخطأ الذي يكشفه |
|---|---|---|
| وضع LAN | الشبكة المحلية تعمل. وكل ما وراءها لا يعمل. | واي فاي فندق قبل تسجيل الدخول، أو وصلة صاعدة ميتة، أو شبكة شركة بلا مسار إلى الخارج. |
| حظر عنوان | خادم واحد غير قابل للوصول. وكل شيء آخر يعمل. | اعتماد واحد متوقف بينما التطبيق نفسه سليم، وهي الحالة التي يفوتها فحص الصحة (health check) عادةً. |
| حظر المنفذ 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 ثم يعيده وحده: الملف failing-dns.json في مجلد scenarios بجوار البرنامج. انظر السيناريوهات الزمنية.
ما الذي يجب البحث عنه فعلًا
- الرسالة. هل يقول التطبيق ما حدث، أم يعرض مؤشر دوران إلى الأبد؟
- إعادة المحاولة. هل يتمهل بين المحاولات، أم يطرق العنوان نفسه في حلقة؟
- الطابور. هل يُحتفظ بما فعله المستخدم وهو غير متصل ويُرسل لاحقًا، أم يضيع؟
- التعافي. يعيد الزر STOP الشبكة. هل يلاحظ التطبيق ذلك وحده، أم يحتاج إلى إعادة تشغيل؟
هذا الأخير هو موضع معظم القيمة. فالانتقال إلى عدم الاتصال سهل التعامل معه بشكل سيئ وسهل الاختبار. والعودة هي حيث تفسد الحالة.
ما الذي لا تمثله هذه الأداة
يظل المحوّل يعمل ويحتفظ الجهاز بعنوانه، فيحصل تطبيق يسأل Windows فقط «هل توجد شبكة» على الجواب نعم. وهذا مقصود، وهو الاختبار الأكثر إثارة: فالمستخدمون الحقيقيون نادرًا ما يكونون منقطعين تمامًا، بل متصلون بشيء لا يصل إلى ما يحتاجونه. وإن أردت تحديدًا حالة «لا محوّل» فعطّل المحوّل، ولا حاجة إلى أداة.