صفحة متصفح واحدة تعرض عنوان IP لا تثبت تقريبًا شيئًا عن النفق المنقسم. قد يكون العنوان الظاهر هو الصحيح لسبب خاطئ، ولا يُختبر التدفق المستبعد بها أبدًا. دوّن النتيجة المتوقعة قبل الاختبار: أي تطبيق أو وجهة ينبغي أن يستخدم النفق، وأيها ينبغي أن يبقى مباشرًا، وما ينبغي أن يتوقف عندما يفشل النفق. بدون تلك الخطة، يبدو أي رقم معقول كنجاح.

الأسطورة: البحث عن عنوان يثبت التغطية

يجيب فحص IP عن سؤال واحد: ماذا يرى العالم الخارجي من تطبيق واحد في لحظة واحدة. لا يقول شيئًا عن بادئة داخلية أو ملف تعريف متصفح ثانٍ أو اسم ينبغي تحليله بشكل خاص. ولا يقول شيئًا عن الفشل أيضًا، وذلك هو نصف تصميم النفق المنقسم الذي يتعطل في الإنتاج.

لا تستطيع صفحة العنوان أيضًا إظهار المسار أو المحلل أو سياسة الفشل. تعامل معها كملاحظة واحدة، لا كحكم.

اختبر تدفقًا مشمولًا وآخر مستبعدًا

أرسل طلبًا غير ضار من التطبيق الذي ينبغي أن يكون مشمولًا، أو إلى البادئة التي تتوقع توجيهها عبر النفق، وسجّل المصدر والوجهة وعائلة العناوين والمسار الملحوظ. افعل الشيء نفسه لتدفق ينبغي أن يبقى مباشرًا. الجانب المستبعد هو الذي يتخطاه الناس، وهو الدليل الوحيد على أن الانقسام متعمد وليس عرضيًا. قد تحمل عملية مساعدة هوية سياسة منفصلة، لذا اختبر في العملية التي تملك المقبس.

flow: Firefox to intranet.example:443, IPv4, source 10.8.0.6, tunneled
flow: Firefox to 1.1.1.1, IPv4, source 192.0.2.20, direct

لهذا قد يُظهر اختبار في التطبيق الخطأ عكس ما يقصده التصميم. دوّن الحقول الأربعة للجانبين قبل استخلاص أي استنتاج.

أضف DNS وحالة الفشل

اسأل محلل النظام والمحلل الذي يستخدمه التطبيق، ثم قارن تلك الإجابات بعنوان الخروج الذي يبلغ عنه الموقع. قد تختلف الطبقتان عمدًا، وبحث واحد في المتصفح لا يختبر سياسة نظام التشغيل. تجعل الصدفة المقارنة قابلة للتكرار: اقطع النفق عمدًا، ثم أنشئ طلبًا لم يخزنه المتصفح في ذاكرته المؤقتة؛ الصفحة المخدومة من الذاكرة المؤقتة لا تخبرك بشيء عن الاتجاه الذي سلكه البديل. سجّل ما حدث فعلًا بدلًا مما توقعه التصميم.

curl -s https://ifconfig.me
nslookup intranet.example

النفق المنقسم الذي يفشل مغلقًا والنفق الذي يفشل مفتوحًا يبدوان متطابقين حتى تقطع النفق عمدًا. سجّل السلوك الذي لاحظته، لا الذي توقعته.

كرر بعد تغير الحالة

كرر نفس الملاحظات بعد إعادة الاتصال وتبديل الشبكة وتحديث ذي صلة للتطبيق. قد يستمر استبعاد مخزّن في الإشارة إلى مسار أو هوية تطبيق لم تعد موجودة، ويتوقف التصميم بهدوء عن مطابقة وثائقه. تلك الأحداث الثلاثة هي حيث تنحرف الأنفاق المنقسمة، وكل منها رخيص لإعادة الاختبار. الاختبار الذي يعمل مرة واحدة عند النشر يصف تكوينًا لم يعد موجودًا.

إذا اختلفت نتيجة، فابحث عن مالك القاعدة ومرحلة المعالجة قبل تغيير عدة إعدادات دفعة واحدة. تغيير خمسة أشياء وملاحظة نتيجة واحدة ليس تشخيصًا، بل تكوين جديد.

ما الذي ينبغي أن تثبته النتيجة

اربط الملاحظات بالسياسة وإصدار العميل الذي اختبرته فعلًا. الهدف هو إظهار أن هذا النشر يطابق التغطية التي يدعيها، لا أن كل تطبيق مستقبلي سيكون خاصًا. هذا ادعاء أضيق، وهو الادعاء الذي يمكنك دعمه فعليًا بالأدلة. اكتب الادعاء والإصدار ونتائج الحقول الأربعة في سجل التغيير.

عندئذٍ يمكن للمراجع التالي أن يعرف هل تغير التصميم أم الاختبار. يُتحقق من النفق المنقسم عندما يطابق الجانبان وانقسام المحلل وسلوك الفشل ما دوّنته في البداية. نتيجة IP واحدة لا تتحقق من أي منها.

مقالات ذات صلة