القائمة

اختيار البلدان لبيانات الاختبار: ثلاثة محاور ومجموعة افتراضية

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

تاريخ النشر

  • بيانات اختبار
  • تغطية البلدان
  • اختبار النماذج

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

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

لماذا تستحق مجموعة البلدان قرارا مستقلا؟

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

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

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

ثلاثة محاور: القابلية للوصول وصعوبة البيانات والقيمة الحدية

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

المحور السؤال الذي يطرحه ما يلتقطه
القابلية التجارية للوصول هل نستطيع فعلا خدمة هذا البلد؟ فروع الدفع والتوصيل والتسوية واللغة التي لا تعمل أبدا
صعوبة البيانات ما مدى إرباك البيانات نفسها؟ مجموعات المحارف واتجاه الكتابة وطول الحقول وافتراضات التحليل
القيمة الحدية هل تدفع حدا ما إلى أقصاه؟ القطع والفيض في التخطيط وأخطاء الحد بفارق واحد

المجموعة التي تتبع المحور الأول وحده هي قائمة أسواق. وهي نقطة بداية معقولة ونهاية سيئة، لأن الحالات الصعبة تتركز بالضبط حيث لا توجد إيرادات تبررها، فيبدو كل مدخل صعب كأنه تكلفة بلا مقابل.

ما الذي يجعل نموذج القيمة الحدية جيدا؟

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

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

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

كيف تتعامل مع البلدان التي لا ينطبق فيها حقل ما؟

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

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

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

مما تتكون المجموعة الافتراضية عادة؟

المجموعة التي تنجو من الاحتكاك بفريق حقيقي تميل إلى الاستقرار في ثلاث فئات، وكل فئة تقوم بعمل لا تقوم به الأخريان.

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

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

للمطورين: عامل المجموعة كأصل له إصدار

التوصية العملية هي التوقف عن التعامل مع قائمة البلدان على أنها إعدادات، والبدء في التعامل معها كأصل له هويته المستقلة.

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

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

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

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

الخطوات التالية

خذ مجموعة البيانات الثابتة التي تستخدمها اليوم وضع على كل مدخل المحور الذي اختير من أجله. المدخلات التي لا تنتمي إلى أي محور مرشحة للحذف، والمحاور التي لا مدخل لها هي الفجوات التي يجب سدها أولا. ثم اكتب لكل مدخل التحقق الذي يحميه.

ويحول دليل تغطية بيانات البلدان هذه القائمة إلى شيء قابل للتدقيق، أما دليل حداثة بيانات البلدان فيتناول ما يحدث حين يتوقف مدخل عن كونه دقيقا بعد تغيير إداري في بلده.

تابع القراءة

أدلة تنسيقات بيانات العنوان والهوية في 86 بلدًا