المسار 02درس 3 / 6

استخدم الاختبارات كأدلة

اختر فحوصاً تستطيع رفض السلوك الخاطئ. راجع الاختبارات المولّدة بعناية تساوي مراجعة التنفيذ المولّد.

ممارس11 دتمت المراجعة

ينشره كيف نكتب

تحقّق من فهمكيستبدل اختبار مولّد دالة التخويل بمحاكاة تسمح دائماً بالوصول. ماذا يثبت نجاحه؟نفّذ التمرين
يستبدل اختبار مولّد دالة التخويل بمحاكاة تسمح دائماً بالوصول. ماذا يثبت نجاحه؟

ما ستتعلّمه

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

ابدأ بالمتطلب

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

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

اطلب من الوكيل شرح العلاقة بين المتطلب وشرط التحقق في الاختبار. يسهّل هذا اكتشاف الحالات الناقصة قبل أن تكبر مجموعة الاختبارات.

اختر نطاق الاختبار المناسب

يمكن لاختبار وحدة فحص تحويل صغير بسرعة. ويمكن لاختبار تكامل فحص عمل المكوّنات معاً. ويمكن لاختبار شامل فحص تسلسل مهم لأفعال المستخدم عبر التطبيق المنشور أو نسخة تمثّله.

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

الادعاءمثال على الأدلة
تعالج مخرجات CSV علامة اقتباس بالتهريب الصحيحاختبار وحدة يحتوي فيه حقل على علامة اقتباس
لا تستطيع مؤسسة أخرى قراءة البيانات المصدّرةاختبار تكامل يمر بالتخويل الفعلي
يستطيع مستخدم لوحة المفاتيح بدء التصديراختبار متصفح ومراجعة يدوية بلوحة المفاتيح
يعرض التصدير الفاشل خطأ مفيداًفحص مسار الإخفاق عند الواجهة المعنية

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

تجنّب افتراضاً خاطئاً مشتركاً

قد يكتب الوكيل التنفيذ والاختبارات انطلاقاً من سوء الفهم نفسه. وقد يتفقان بينما يبقى المتطلب غير محقق.

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

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

تحقّق من قدرة الاختبار على الفشل

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

لا يُعد الاختبار الذي يفشل بسبب تعذّر تحميل بيانات الاختبار دليلاً بعد على سلوك الأعمال. افحص الإخفاق نفسه، لا رمز الخروج فقط.

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

أبقِ الأدلة مرتبطة بالتغيير

شغّل الفحوص المعنية على النسخة النهائية من الشيفرة. سجّل الفحوص المتجاوزة وأسباب تجاوزها. قد لا تعود نتيجة من commit سابق صالحة بعد تصحيح ناتج عن المراجعة.

أبقِ الاختبارات مفهومة. فضّل إعداداً وشرط تحقق صريحين على دالة مساعدة كبيرة تخفي الشرط المهم. احذف الفحوص المكرّرة حين تزيد تكلفة الصيانة دون كشف إخفاق مختلف.

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

نفّذ التمرين

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

تنزيل ورقة العمل (Markdown)
تحقّق من فهمك ↑

تابع التعلّم

المصادر وقراءات إضافية

قراءات ذات صلة من Taiga

الدرس السابق: زوّد الوكيل بسياق مفيد عن المستودع