محتويات الدورة
جودة البرمجيات
أساسي: الاستدلال وتصميم الاختبار
متوسط: أدلة المنتج المتكامل
متقدم: الاستراتيجية والصمود والقيادة

جودة البرمجيات / أساسي: الاستدلال وتصميم الاختبار / الدرس 3

مستويات الاختبار والعزل والتحققات المفيدة

ضع الفحوص حيث تفسر الإخفاق بوضوح، مع الحفاظ على دليل تعاون المكونات. نستخدم استرداد قيمة إلغاء لمقارنة اختبار الوحدة والتكامل والنظام والقبول.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • اختيار مستوى الاختبار حسب الخطر.
  • تمييز بدائل الاختبار من أدلة التكامل الحقيقي.
  • التحقق من النتائج والآثار الجانبية المهمة.

اختيار المستوى حسب السؤال

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

حالة محلولة: حساب سياسة الاسترداد

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

python مثال سياسة معزول؛ الساعات الصحيحة للتوضيح
def refund_cents(fee, hours_before):
    return fee if hours_before >= 48 else fee // 2

assert refund_cents(12000, 48) == 12000
assert refund_cents(12000, 47) == 6000

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

بدائل الاختبار تجيب عن أسئلة محددة

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

حالة محلولة: الإخفاق بين عمليتي كتابة

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

تكوين الأدلة دون تكرار قليل الفائدة

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

الأخطاء الشائعة وإصلاحها

اختبار كل قاعدة عبر المتصفح

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

اعتبار المزود البديل الدليل الوحيد

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

فحص الاستدعاء وإهمال النتيجة

لماذا يحدث؟
استبدال صحة النتيجة بنشاط التنفيذ.
كيف تصلحه؟
التحقق من المبلغ والحالة المحفوظة ومنع التكرار.
كيف تتجنب تكراره؟
السؤال عن النتيجة الضارة التي يكشفها كل تحقق.

اختبر فهمك

1. أين تختبر عشر تركيبات خصم وحالة انتهاء مهلة دفع؟

اعرض الحل المشروح

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

2. يتحقق اختبار الإلغاء فقط من استدعاء دالة الاسترداد. حسّنه.

اعرض الحل المشروح

لحجز قيمته 12,000 سنت أُلغي قبل 47 ساعة، توقّع 6,000 سنت وسجل استرداد واحداً والحالة المتفق عليها. كرر الإلغاء وتوقّع عدم وجود أثر مالي ثانٍ. تكشف هذه الملاحظات خطأ المبلغ والتكرار اللذين يفوتهما التحقق من الاستدعاء.

أهم ما تعلمته

  • استخدم المستويات الأدنى للقواعد الدقيقة والأعلى للتعاون والرحلات.
  • يبسط بديل الاختبار اعتماداً لكنه لا يثبت العقد الحقيقي.

المراجع الرسمية