جودة البيانات

اختبار بيانات الموقع بالحالات الحدّية، لا بالمسارات المثالية فقط

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

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

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

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

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