اختبار جميع الأزواج
في علوم الحاسوب ، يُعدّ اختبار الأزواج أو الاختبار الثنائي طريقةً توافقيةً لاختبار البرمجيات ، حيث يتم اختبار جميع التوليفات المنفصلة الممكنة لكل زوج من مُدخلات النظام (عادةً خوارزمية برمجية ). وباستخدام متجهات اختبار مُختارة بعناية ، يُمكن إنجاز ذلك بسرعة أكبر بكثير من البحث الشامل عن جميع توليفات جميع المُدخلات، وذلك من خلال "توازي" اختبارات أزواج المُدخلات. [ 1 ]
الأساس المنطقي
في معظم الحالات، يكون مُدخل واحد أو تفاعل بين مُدخلين هو سبب أخطاء البرنامج. [ 2 ] أما الأخطاء التي تتضمن تفاعلات بين ثلاثة مُدخلات أو أكثر فهي أقل شيوعًا [ 3 ] وأكثر تكلفة في الوقت نفسه، إذ يقتصر هذا النوع من الاختبارات على اختبار جميع المُدخلات المُحتملة. [ 4 ] لذا، تُعد التقنية التوافقية لاختيار حالات الاختبار، مثل اختبار جميع الأزواج، حلاً وسطًا مُفيدًا من حيث التكلفة والفوائد، حيث تُتيح تقليلًا كبيرًا في عدد حالات الاختبار دون المساس بشكل كبير بتغطية الوظائف. [ 5 ]
وبشكل أكثر دقة، إذا افترضنا أن حالة الاختبار قدالمعلمات المعطاة في مجموعةيتم تحديد نطاق المعلمات بواسطةلنفترض أننلاحظ أن عدد جميع حالات الاختبار الممكنة هوإن تصور أن الكود يتعامل مع الشروط التي تأخذ معلَمين فقط في كل مرة، قد يقلل من عدد حالات الاختبار المطلوبة.
للتوضيح، لنفترض وجود المعاملات X وY وZ. يمكننا استخدام دالة منطقية من الشكل التالي:من الرتبة 3، والتي تأخذ جميع القيم الثلاث كمدخلات، أو بالأحرى ثلاث مسندات مختلفة من الرتبة 2 على النحو التالي:.يمكن كتابتها بصيغة مكافئة لـحيث تشير الفاصلة إلى أي تركيبة. إذا كُتب الكود على شكل شروط تأخذ "أزواجًا" من المعاملات، فإن مجموعة خيارات النطاقاتيمكن أن تكون مجموعة متعددة ، لأنه يمكن أن يكون هناك معلمات متعددة لها نفس عدد الخيارات.
هو أحد القيم القصوى للمجموعة المتعددة سيكون عدد حالات الاختبار الثنائية على دالة الاختبار هذه كما يلي:
لذلك، إذا كانوعندئذٍ يكون عدد الاختبارات عادةً O( nm )، حيث n و m هما عدد الاحتمالات لكل من المعلمتين اللتين تحتويان على أكبر عدد من الخيارات، ويمكن أن يكون أقل بكثير من العدد الإجمالي·
اختبار N-wise
يمكن اعتبار اختبار N-wise الشكل المعمم لاختبار الأزواج.
الفكرة هي تطبيق الفرز على المجموعة لهذا السبب.يتم ترتيبها أيضًا. لنفترض أن المجموعة المرتبة هي مترابطة بيانية :-
الآن يمكننا أخذ المجموعةويمكننا أن نسميها اختبار المقارنة الثنائية. وبتعميم ذلك، يمكننا أن نأخذ المجموعةويمكننا أن نسميها اختبار الحكمة الثلاثية. في النهاية، يمكننا القول اختبار T-wise.
سيكون اختبار N-wise إذن هو ببساطة جميع التركيبات الممكنة من الصيغة المذكورة أعلاه.
مثال
ضع في اعتبارك المعايير الموضحة في الجدول أدناه.
| اسم المعامل | القيمة 1 | القيمة 2 | القيمة 3 | القيمة 4 |
|---|---|---|---|---|
| مُفعّل | حقيقي | خطأ شنيع | - | - |
| نوع الاختيار | 1 | 2 | 3 | - |
| فئة | أ | ب | ج | د |
تتضمن خيارات "مُمكّن" و"نوع الاختيار" و"الفئة" نطاقًا من 2 و3 و4 على التوالي. يتضمن الاختبار الشامل 24 اختبارًا (2 × 3 × 4). بضرب أكبر قيمتين (3 و4)، يتضح أن الاختبارات الثنائية تتضمن 12 اختبارًا. تُعرض أدناه حالات الاختبار الثنائية، التي تم إنشاؤها بواسطة أداة "pict" من مايكروسوفت.
| مُفعّل | نوع الاختيار | فئة |
|---|---|---|
| حقيقي | 3 | أ |
| حقيقي | 1 | د |
| خطأ شنيع | 1 | ج |
| خطأ شنيع | 2 | د |
| حقيقي | 2 | ج |
| خطأ شنيع | 2 | أ |
| خطأ شنيع | 1 | أ |
| خطأ شنيع | 3 | ب |
| حقيقي | 2 | ب |
| حقيقي | 3 | د |
| خطأ شنيع | 3 | ج |
| حقيقي | 1 | ب |
انظر أيضاً
ملحوظات
- ↑ بيرغر، بيرني (2003). "الاختبار الفعال باستخدام جميع الأزواج" (ملف PDF) . شركة تيك ويل . تم الاطلاع عليه بتاريخ 21 نوفمبر 2023 .
- ↑ بلاك، ريكس (2007). اختبار البرمجيات العملي: كيف تصبح محترف اختبار فعال وكفؤ . نيويورك: وايلي . ص 240. ISBN 978-0-470-12790-2.
- ↑ كون، د. ريتشارد؛ والاس، دولوريس ر.؛ غالو، ألبرت م. الابن (يونيو 2004). "تفاعلات أخطاء البرمجيات وآثارها على اختبار البرمجيات" (ملف PDF) . مجلة IEEE للمعاملات في هندسة البرمجيات . 30 (6): 418-421 . doi : 10.1109/TSE.2004.24 . S2CID 206778290 .
- ↑ كون، د. ريتشارد؛ كاكر، راغو ن.؛ يو لي (أكتوبر 2010). الاختبار التوافقي العملي. SP 800-142 (تقرير). المعهد الوطني للمعايير والتكنولوجيا . doi : 10.6028/NIST.SP.800-142 .
- ↑ وقائع المؤتمر الدولي الخامس لاختبار البرمجيات والتحقق من صحتها (ICST) التابع لمعهد مهندسي الكهرباء والإلكترونيات (IEEE). مركز هاجنبرغ لكفاءة البرمجيات. "تصميم الاختبار: الدروس المستفادة والتطبيقات العملية" . 18 يوليو 2008. الصفحات 1-150 . doi : 10.1109/IEEESTD.2008.4578383 . ISBN 978-0-7381-5746-7.
{{cite book}}تم|journal=تجاهله ( مساعدة )
روابط خارجية
- اختبار البرمجيات
- التوافقية
- تصميم التجارب
