جودة البرمجيات / أساسي: الاستدلال وتصميم الاختبار / الدرس 4
فئات التكافؤ والقيم الحدية
اختر مجموعة صغيرة قابلة للتبرير من مجال مدخلات كبير. حلّل أعمار التسجيل والكميات وأطوال النصوص مع التصريح بالافتراضات والرفض المتوقع.
في هذه الصفحة
أهداف الدرس
- تقسيم المجال حسب السلوك المتوقع.
- اختيار قيم على الحدود وحولها.
- إدراك حدود افتراضات التقسيم.
تجميع القيم بحسب السلوك
افترض أن الورشة تقبل أعماراً صحيحة من 16 إلى 65 شاملة الطرفين. ابدأ بثلاث فئات مرتبة: أقل من 16، ومن 16 إلى 65، وأكبر من 65. أضف فئات نوعية منفصلة للقيمة الغائبة والكسور والنصوص غير الرقمية إن كانت الواجهة تستقبلها. يعني التكافؤ توقعاً مبرراً بأن قيم المجموعة تتلقى المعالجة المهمة نفسها. إنه نموذج لا حقيقة مثبتة عن التنفيذ. تقلل القيمة الممثلة العينة، وتستهدف الفحوص الحدية أخطاء الانتقال الشائعة.
حالة محلولة: أهلية العمر
تمثل قيمة وسطية مثل 35 الفئة الصالحة، لكنها لا تميز بين «أكبر من 16» و«16 فأكثر». اختر 15 و16 و17 ثم 64 و65 و66 لفحص الحد وجاريه. حدّد الدقة؛ فهذه الجوارية ذات معنى لأن المجال سنوات صحيحة. يشمل الرفض المتوقع عدم إنشاء تسجيل، لا مجرد حقل أحمر. افحص النوع غير الصالح بصورة منفصلة حتى لا يختلط فشل التحليل بقيمة عددية صحيحة خارج النطاق.
المدخل | المتوقع
15 | رفض؛ لا تسجيل
16 و17 و64 و65 | قبول إن تحققت الشروط الأخرى
66 | رفض؛ لا تسجيل
"sixteen" | خطأ تحقق من النوع
تبقى الشروط الأخرى صالحة لعزل قاعدة العمر. وتفحص الحالة النصية فئة مختلفة.
تحديد وحدة الحد
إذا اقتصر الاسم المعروض على 40 حرفاً، فوضّح هل المقصود بايتات أم نقاط Unicode أم عناقيد كتابية يراها المستخدم حرفاً واحداً. قد يكشف اسم عربي مع تشكيل اختلاف العد بين العميل والخادم. اختبر الوحدة المتفق عليها بأطوال 39 و40 و41، إضافة إلى الفراغ والمسافات فقط وفق المتطلب. لا تفترض أن طول عمود القاعدة هو القاعدة المعروضة للمستخدم. طبّق التطبيع فقط عند النص عليه؛ فقد يغير حذف المسافات أو إعادة الكتابة أسماء ومعرفات مقصودة.
حالة محلولة: الكميات والتركيبات غير الصالحة
يقبل صرف مورد كمية صحيحة من 1 إلى 10، والمخزون خمس وحدات. هنا حدان مختلفان: نطاق الكمية المسموح وتوفر المخزون. تنجح الكمية 6 في فحص النطاق لكنها تُرفض لقلة المخزون. استخدم مخزوناً قدره 10 عند عزل الحد الأعلى للكمية، والكمّيتين 5 و6 عند عزل المخزون. قد يخفي جمع المدخلات غير الصالحة غياب بعض المدققات؛ فالرفض بسبب المخزون لا يثبت رفض كمية سالبة.
المخزون | الكمية | السبب المتوقع
10 | 10 | قبول الحد الأعلى
10 | 11 | تجاوز حد الكمية المسموح
5 | 5 | قبول المخزون المتاح
5 | 6 | مخزون غير كافٍ
تميز الأسباب المتوقعة القاعدة التي يفحصها الاختبار بدلاً من قبول أي خطأ.
مراجعة النموذج في ضوء الأدلة
تبيّن تغطية الفئات أخذ عينة من كل مجموعة في النموذج، ولا تعني تماثل سلوك جميع أعضائها. قد تقسّم حدود التحليل أو الفيض أو التوطين أو القيم الخاصة فئة ظننتها متجانسة. أضف أمثلة عندما يكشف عيب هذا الانقسام واشرح تغير النموذج. وللقياسات المستمرة اختر الجيران وفق الدقة المدعومة لا قيمة إبسيلون متخيلة تصلح للجميع. احتفظ بالقيم المختارة وأسباب مرجع الحكم ليكرر مختبر آخر التصميم ويقيّم استمرار مطابقته للقواعد الحالية.
الأخطاء الشائعة وإصلاحها
اختبار وسط النطاق الصالح فقط
- لماذا يحدث؟
- تتجنب العينة حدود المقارنة.
- كيف تصلحه؟
- إضافة كل حد وجيرانه بالدقة المدعومة.
- كيف تتجنب تكراره؟
- كتابة الفئات قبل اختيار الأمثلة.
اعتبار أي رفض نجاحاً
- لماذا يحدث؟
- يحجب مدقق غير مرتبط القاعدة المقصودة.
- كيف تصلحه؟
- إبقاء المدخلات الأخرى صالحة والتحقق من الخطأ المقصود وآثاره.
- كيف تتجنب تكراره؟
- توثيق أسباب الرفض المتوقعة.
مساواة حد الحروف بحد البايتات
- لماذا يحدث؟
- الخلط بين الترميز ولغة المنتج.
- كيف تصلحه؟
- الاتفاق على وحدة العد واختبار أمثلة متعددة اللغات.
- كيف تتجنب تكراره؟
- مراجعة قواعد النص بين الواجهة وAPI والتخزين.
اختبر فهمك
1. يجب أن تكون النسبة عدداً صحيحاً بين 0 و100 شاملة الطرفين. أعط الحالات الحدية.
اعرض الحل المشروح
استخدم -1 و0 و1 و99 و100 و101. توقّع رفض -1 و101 وقبول الباقي مع صلاحية البيانات المحيطة. أضف الغائب والكسري وغير الرقمي كفئات نوعية مستقلة إذا استقبلت الواجهة هذه التمثيلات.
2. ترفض السلة كمية 11 ومخزونها 3. هل يثبت ذلك قاعدة الحد الأعلى 10؟
اعرض الحل المشروح
لا؛ فقد يكون فحص المخزون هو السبب الوحيد. اضبط المخزون على 11 على الأقل في تجهيز معزول، ثم قارن 10 مع 11. تحقّق من خطأ الحد الأعلى للكمية 11 وعدم تغير المخزون، واختبر حد المخزون منفصلاً.
أهم ما تعلمته
- قسّم بحسب المعالجة المتوقعة ثم افحص الانتقالات.
- يصبح رفض المدخل مفيداً حين يحدد مرجع الحكم القاعدة ذات الصلة.