ما الذي قد يفسر هذه الملاحظة؟
- حل حسابي مُقدَّم يعمل لكن لا يُظهر لماذا يعمل يحقق قدرًا ضئيلاً من النقاط: الدليل والمسار واختبارات الحدود جزء من التسليمات، وليس زينة.
بنِ النموذج
- صغّ المشكلة بعقد: شروط الإدخال والمخرجات المتوقعة.
- اختر نهجاً وتنظيم بيانات يناسب العقد.
- نفّذ الإجراء بشكل واضح؛ حدّد اتفاقية الفهرسة.
- أثبت صحته باختبارات الحدود: المجموعات الفارغة (حيثما سُمح)، التكرارات، والقيم غير الصالحة.
- الحل الحسابي: برنامج يعمل مع العقد المُصاغ والدليل على توافقه معه.
الحل الحسابي يسير من خلال مشكلة معلنة ومنهج وأدلة مختبرة وصولاً إلى التوثيق
اختر الأدلة القادرة على اختبار النموذج
- تتبع الحل عبر مثال محلول صغير في التقرير.
- توثيق كل اختبار حدودي وما يُظهره.
- تشخيص أي فجوة على أنها خوارزمية خاطئة، أو تنفيذ خاطئ، أو متطلبات غير مكتملة.
في المعمل: يحمل التقرير التسلسل: المشكلة المعلنة، المنهج، الأدلة المختبرة، التوثيق؛ يمكن للمصحح إعادة السير في الاستنتاجات.
اعمل من الكميات المعروفة
- مثال محلول: البحث في سجل ضمن [3, 9, 14, 20, 27] باستخدام ترقيم يبدأ من واحد.
- جدول التتبع: ثلاث صفوف (الفترة، المنتصف، القرار) تُظهر انكماش الفترة.
- اختبارات الحدودية: السجل الفارغ يعيد رسالة عدم العثور؛ معرفات مكررة تحل عند الإدخال الأول (معلنة)؛ معرّف غير صالح يُرفض عند الإدخال.
- كل اختبار يربطه بند واحد من العقد.
دورك: صغ بند العقد الذي يجب أن ينص عليه سجل المعرفات المكررة قبل الحكم على أي كود.
تحقق من الاستنتاج وحدوده
- يُقيّم الحل بناءً على العقد المعلَن: لا يمكن اختبار سلوك غير معلَن ليصبح واقعاً لاحقاً.
- قد تتجاوز متطلبات العميل العقد (سرعة، خصوصية، نطاق): تنتمي هذه إلى المشكلة المعلنة، وليست قائمة الأخطاء.
غير صحيح: تشغيل البرنامج يعني استيفاء المتطلبات. يشمل العقد حدودياً؛ فإن التشغيل على مدخلات المسار السعيد يُشكّل فقط جزءاً منه.
المفتاح:
- التسليم يتكون من البرنامج والعقد والأدوية معاً.
- كل اختبار حدودي يربطه بند من بنود العقد.
- انتبه للسلوكيات غير المعلَنة التي تُختبر لتصبح واقعاً بعد التسليم.