سؤال

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

لذلك إذا كان لدي الطريقة التالية

void someMethod()
  {

      if(a && b && (c || (d && e)) )  //Conditional A
      {

      }

      if(z && q)   // Conditional  B
      {
      }

  }

هل أقوم بإنشاء جدول الحقيقة لـ "شرطية" فقط ، أم أفعل أيضًا مشروطًا ب؟

شكرًا،

هل كانت مفيدة؟

المحلول

قد أفتقد شيئًا هنا ، لكن الطريقة التي كتبت بها الرمز في سؤالك ، فإن الشروط A و B مستقلة تمامًا عن بعضها البعض. وبالتالي ، لن تغطي كل الرمز إلا إذا قمت باختبار كلا الشرطين.

نصائح أخرى

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

لذلك للشرط التالي:

if ((a>0)&&(b<=4)&&(c>0))

نقوم بإنشاء ما يلي

Test Case   a > 0   b <= 4    c > 0
MCC1        F        F         F
MCC2        F        F         T
MCC3        F        T         F
MCC4        F        T         T
MCC5        T        F         F
MCC6        T        F         T
MCC7        T        T         F
MCC8        T        T         T
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top