جودة البرمجيات / أساسي: الاستدلال وتصميم الاختبار / الدرس 2
المتطلبات والقبول وقابلية الاختبار
استبدل الرغبات الغامضة بأمثلة ونتائج قابلة للملاحظة وافتراضات صريحة. صمّم قابلية الاختبار في ميزة التسجيل بالدورة قبل أن يجعل التنفيذ الغموض مكلفاً.
في هذه الصفحة
أهداف الدرس
- مراجعة المتطلبات لكشف القرارات الناقصة والتناقضات.
- إنشاء أمثلة قبول وسلسلة تتبع.
- شرح التحكم في الظروف وإمكان ملاحظة النتائج.
اكتشاف القرارات التي تخفيها الصفات
لا توفر عبارة «يجب أن يكون التسجيل سريعاً وسهل الاستخدام» شرط نجاح موثوقاً. اسأل عن المستخدمين والفعل والحمل والنتيجة المهمة. افصل الوظيفة عن قيود الجودة: لكل متعلم تسجيل نشط واحد في الدورة، ويظهر التسجيل الناجح في قائمته، ويطبق زمن استجابة متفق عليه تحت حمل محدد. لا تخترع الهدف نيابة عن أصحاب المصلحة. سجّل الأسئلة العالقة كقرارات لها مسؤولون، لأن التخمين الصامت ينتج اختبارات تبدو دقيقة لمنتج غير مقصود.
حالة محلولة: القبول بالأمثلة
لورشة بقي فيها مقعد واحد، اتفق على أن التسجيل المؤكد يستهلك المقعد، وأن الفشل لا يستهلك شيئاً. استخدم الأمثلة لحسم أسئلة المحاولات المتزامنة والإلغاء. تكشف الحالات التالية النتيجة والآثار الجانبية معاً. يظل المثال المكتوب مقترحاً حتى يتفق المسؤولون عليه. إنه يكمل القاعدة ولا يستبدلها؛ فلا تصف أمثلة قليلة جميع حالات الحساب الممكنة، ولذلك احتفظ بالقيد العام وسببه إلى جانب الأمثلة.
المعطى | الفعل | الدليل المتوقع
مقعد واحد، لا تسجيل | تسجيل المتعلم A | تأكيد؛ المقاعد=0؛ سجل واحد
صفر مقاعد، لا تسجيل | تسجيل المتعلم B | رسالة اكتمال؛ لا سجل
A مسجل بالفعل | تسجيل A ثانية | التسجيل الموجود؛ لا سجل إضافي
يحدد كل صف شرطاً مسبقاً ويفحص الرسالة والحالة المحفوظة.
إتاحة ملاحظة النتيجة
إشعار «تم الحفظ» دليل ضعيف إن تعذر فحص التسجيل نفسه. تتيح قابلية الملاحظة رؤية الحالة المهمة بأمان، عبر معرف تسجيل أو عرض حالة للقراءة فقط أو معرف ربط في سجلات الاختبار أو استعلام في قاعدة معزولة. لا تكشف كلمات المرور أو البيانات الشخصية تسهيلاً للعمل. وتتيح قابلية التحكم ضبط الساعة وتجهيز دورة ممتلئة ومحاكاة انتهاء مهلة مزود خارجي. تقلل هذه الخيارات الاعتماد على إعداد يدوي هش وتجعل الإخفاقات الصعبة قابلة للتكرار.
حالة محلولة: تتبع قاعدة مفقودة
افترض أن المتطلب ENR-4 يمنع تكرار التسجيل النشط، لكن الاختبار الحالي يفحص نقرة ثانية في المتصفح نفسه فقط. اربط ENR-4 بطلب مكرر على مستوى الخدمة وبفحص تفرد قاعدة البيانات، واحتفظ بمثال متصفح لرسالة المستخدم. يستطيع متصفح ثانٍ أو إعادة محاولة متأخرة تجاوز الزر المعطل. يكشف التتبع المسار المفقود دون طلب اختبارات متطابقة في كل طبقة. اربط الدليل بإصدار المتطلب حتى يؤدي تغيير معنى الإلغاء لاحقاً إلى مراجعة الأمثلة المتأثرة.
مراجعة المتطلبات عملاً جماعياً
نفّذ مراجعة قصيرة تضم المؤلف والمنفذ والمختبر وممثلاً للمستخدمين. افحص القابلية للتنفيذ والاتساق والنتائج السلبية الغائبة وإتاحة الاستخدام. اسأل عما يحدث عند تغير السعة بين العرض والتسليم، أو فشل إرسال رسالة، أو تعليق حساب. افصل نتائج المراجعة عن نتائج الاختبارات المنفذة. قد تمنع المراجعة العيوب بكلفة قليلة، لكن الاتفاق لا يثبت التنفيذ. أغلق الحلقة بفحص السلوك المسلّم مقابل الإصدار المتفق عليه، وتوثيق الانحرافات المقصودة كقرارات.
الأخطاء الشائعة وإصلاحها
كتابة اختبارات دقيقة لقاعدة غير محسومة
- لماذا يحدث؟
- يملأ المختبر قرار المنتج الناقص بصمت.
- كيف تصلحه؟
- توضيح الافتراض والحصول على قرار المسؤول.
- كيف تتجنب تكراره؟
- مراجعة المصطلحات الغامضة قبل التصميم التفصيلي.
الاكتفاء برسالة النجاح
- لماذا يحدث؟
- قد تقر الواجهة كتابة لم تُحفظ فعلياً.
- كيف تصلحه؟
- التحقق من الحالة المحفوظة عبر مسار ملاحظة آمن.
- كيف تتجنب تكراره؟
- إدراج دليل الحفظ في معايير القبول.
تقادم جدول التتبع
- لماذا يحدث؟
- تتغير المتطلبات دون مراجعة الأدلة المرتبطة.
- كيف تصلحه؟
- ربط إصدارات المتطلبات بحالات مصانة.
- كيف تتجنب تكراره؟
- جعل مراجعة الأثر جزءاً من تعديل القاعدة.
اختبر فهمك
1. أعد صياغة «يحمّل التقرير بسرعة» في مقترح قابل للاختبار.
اعرض الحل المشروح
اقترح: لبيانات متفق عليها من 10,000 سجل وجهاز وشبكة محددين، تعرض 95 عملية من أصل 100 فتح للتقرير أول نتيجة قابلة للاستخدام ضمن حد متفق عليه. حدّد بداية القياس ونهايته. يحتاج الحد إلى اتفاق أصحاب المصلحة؛ فالمقترح ليس متطلباً مقبولاً بعد.
2. صمّم تحسيناً لقابلية اختبار حجز تنتهي صلاحيته بعد 15 دقيقة.
اعرض الحل المشروح
احقن ساعة وأتح حالة الحجز في بيئة الاختبار. أنشئ حجزاً عند T وافحصه قبل T+15 دقيقة ثم عند الانتهاء. توقّع الانتقال المتفق عليه بين نشط ومنتهٍ دون انتظار حقيقي، وتحقق من تحرير المقعد وفق القاعدة.
أهم ما تعلمته
- تكشف الأمثلة القرارات الناقصة ولا تجيز اختراع القواعد.
- صمّم مسارات آمنة للملاحظة والتحكم قبل أن تصبح الحاجة إليها عاجلة.