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

اختبار الصفيف المتعامد
اختبار المصفوفة المتعامدة (OAT) هي تقنية لاختبار البرمجيات تستخدم المصفوفات المتعامدة لإنشاء حالات الاختبار. وهي منهج اختبار إحصائي، وتُعدّ مفيدةً بشكل خاص عندما يقبل النظام قيد الاختبار عددًا كبيرًا من مدخلات البيانات. يعمل اختبار المصفوفات المتعامدة على زيادة تغطية الاختبار إلى أقصى حد من خلال تجميع المدخلات ودمجها، مما يسمح باختبار النظام بعدد أقل نسبيًا من حالات الاختبار وفي وقت تنفيذ أقصر.
على سبيل المثال، عند التحقق من صحة تذكرة قطار، يجب فحص عوامل مثل عدد الركاب، ورقم التذكرة، وأرقام المقاعد، وأرقام القطارات. يُعدّ فحص كل عامل على حدة أمرًا مُرهقًا. لذا، يكون من الأجدى أن يقوم مهندس ضمان الجودة بدمج عدة مدخلات معًا وفحصها في عملية واحدة. في مثل هذه الحالات، يُمكننا استخدام طريقة اختبار المصفوفة المتعامدة.
يُطلق على هذا النوع من دمج أو تجميع المدخلات لتوفير الوقت اسم اختبار المقارنة الزوجية، وتُعد تقنية OATS إحدى طرق إنتاج مجموعة اختبار المقارنة الزوجية. ولأن هذه التقنية تعتمد كليًا على قيم المدخلات والنتائج المتوقعة، دون أي اطلاع على الكود الداخلي، فإنها تُصنف ضمن... اختبار الصندوق الأسود أسرة.
لماذا OAT (اختبار المصفوفة المتعامدة)؟
في السيناريو الحالي، أصبح تقديم منتج برمجي عالي الجودة للعميل أمرًا صعبًا بسبب تعقيد الكود.
في الطريقة التقليدية، تتضمن مجموعات الاختبار حالات اختبار مستمدة من كل توليفة من قيم الإدخال والشروط المسبقة. ونتيجة لذلك، يجب تغطية عدد n من حالات الاختبار.
لكن في سيناريو حقيقي، لن يكون لدى المختبرين الوقت الكافي لتنفيذ جميع حالات الاختبار للكشف عن العيوب، حيث توجد أنشطة أخرى مثل التوثيق والاقتراحات والتعليقات من العميل التي يجب مراعاتها داخل مرحلة الاختبار.
ومن ثم، أراد مديرو الاختبار تحسين عدد وجودة حالات الاختبار لضمان الحد الأقصى تغطية الاختبار بأقل جهد ممكن. يُطلق على هذا الجهد اسم تحسين حالات الاختبار.
- طريقة منهجية وإحصائية لاختبار التفاعلات الثنائية.
- تُعدّ نقاط التفاعل والتكامل مصدراً رئيسياً للعيوب.
- قم بتنفيذ مجموعة محددة وموجزة من حالات الاختبار التي من المحتمل أن تكشف عن معظم (وليس كل) الأخطاء.
- يضمن النهج المتعامد التغطية الزوجية لجميع المتغيرات.
وبالتالي، فإن هذه التقنية تنضم إلى أساليب تقليل المدخلات الأخرى التي يستخدمها الفريق بالفعل. تجزئة التكافؤ وتحليل القيم الحدية تحديد القيم التي تستحق الاختبار لحقل واحد؛ تحدد المصفوفات المتعامدة أي من تلك القيم يجب اختبارها معًا.
كيف يتم تمثيل اختبار المصفوفة المتعامدة
يُوصَف المصفوفة المتعامدة بصيغة مختصرة بدلاً من محتوياتها. يوضح الرسم البياني أدناه كيف ترتبط الكميات الثلاث في تلك الصيغة بشكل المصفوفة.
- عدد الجولات (N) – عدد الصفوف في المصفوفة، والذي يترجم إلى عدد حالات الاختبار التي سيتم إنشاؤها.
- العوامل (K) – عدد الأعمدة في المصفوفة، وهو ما يترجم إلى الحد الأقصى لعدد المتغيرات التي يمكن التعامل معها.
- المستويات (V) – الحد الأقصى لعدد القيم التي يمكن أخذها على أي عامل منفرد.
عادةً ما يتطلب اختبار عامل واحد من 2 إلى 3 مدخلات. ويحدد هذا العدد الأقصى من المدخلات مستويات الاختبار.
اقرأ اسم المصفوفة من اليسار إلى اليمين. L9(34) الرقم 9 هو عدد مرات التشغيل، والرقم 3 هو عدد المستويات التي يمكن أن يأخذها كل عامل، والرقم 4 المرتفع هو عدد العوامل. تستخدم المقالة نفسها L4(23)، وهو ما يعادل أربع عمليات تشغيل لثلاثة عوامل لكل منها مستويان.
هناك خاصيتان تجعلان المصفوفة متعامدة، ويجب أن تتحقق كلتاهما قبل أن يكون عدد مرات التشغيل موثوقًا به:
- التوازن: يظهر كل مستوى من مستويات العامل نفس العدد من المرات في عموده الخاص.
- اكتمال المقارنة الزوجية: بالنسبة لأي عمودين، يظهر كل تركيب من مستوى واحد من كل منهما نفس عدد المرات.
إذا فشلت الخاصية الثانية، فإن الجدول هو ببساطة مجموعة اختبار مختصرة، وليس مصفوفة متعامدة، والضمان الزوجي الذي يبرر الاختزال لم يعد ساريًا.
كيفية إجراء اختبار المصفوفة المتعامدة: أمثلة
- تحديد المتغير المستقل للسيناريو.
- العثور على أصغر مجموعة مع عدد مرات التشغيل.
- قم بتعيين العوامل إلى المصفوفة.
- اختر القيم لأي مستويات "متبقية".
- قم بتحويل المقاطع الصوتية إلى حالات تجريبيةوإضافة أي تركيبات مشبوهة بشكل خاص لم يتم إنشاؤها.
يطبق المثالان العمليان أدناه تلك الخطوات الخمس، أولاً على مشكلة صغيرة من مستويين ثم على مشكلة أكبر من ثلاثة مستويات.
مثال 1
تحتوي صفحة الويب على ثلاثة أقسام متميزة (أعلى، وسط، أسفل) يمكن إظهارها أو إخفاؤها بشكل فردي عن المستخدم.
- عدد العوامل = 3 (أعلى، وسط، أسفل)
- عدد المستويات (الرؤية) = 2 (مخفي أو ظاهر)
- نوع المصفوفة = L4(23)
(4 هو عدد مرات التشغيل التي تم التوصل إليها بعد إنشاء مصفوفة OAT)
إذا اتبعنا الأسلوب التقليدي لتغيير قسم واحد في كل مرة، فسنحتاج إلى حالات اختبار مثل 2 × 3 = 6 حالات اختبار.
| حالات تجريبية | سيناريوهات | القيم التي سيتم اختبارها |
|---|---|---|
| اختبار # 1 | HIDDEN | ★★★★ |
| اختبار # 2 | تظهر | ★★★★ |
| اختبار # 3 | HIDDEN | الملابس السفلية |
| اختبار # 4 | تظهر | الملابس السفلية |
| اختبار # 5 | HIDDEN | وسط |
| اختبار # 6 | تظهر | وسط |
تختلف هذه التجارب الست قسمًا تلو الآخر، ولا تضع قسمين في حالة مختارة معًا أبدًا. أما اختبار كل تركيبة فسيستغرق 23 = 8 جولات.
إذا ذهبنا لاختبار الشوفان نحتاج إلى 4 حالات اختبار كما هو موضح أدناه:
| حالات تجريبية | اذهب للأعلى | وسط | الملابس السفلية |
|---|---|---|---|
| اختبار # 1 | مخفي | مخفي | مخفي |
| اختبار # 2 | مخفي | مرئي | مرئي |
| اختبار # 3 | مرئي | مخفي | مرئي |
| اختبار # 4 | مرئي | مرئي | مخفي |
تحقق من أي عمودين من ذلك الجدول وستظهر جميع أزواج العناصر المخفية/المرئية الأربعة مرة واحدة بالضبط، وهو ما يمثل خاصية التعامد في أبسط صورها.
مثال 2
يجب اختبار وظيفة المعالج الدقيق:
- درجة الحرارة: 100 درجة مئوية، 150 درجة مئوية و 200 درجة مئوية.
- الضغط: 2 رطل لكل بوصة مربعة، 5 رطل لكل بوصة مربعة، و8 رطل لكل بوصة مربعة
- Doping النسبة: 4%، 6%، و8%
- معدل الترسيب: 0.1 ملغم/ثانية، 0.2 ملغم/ثانية، و0.3 ملغم/ثانية
باستخدام الطريقة التقليدية نحتاج إلى 34 = ٨١ حالة اختبار لتغطية جميع المدخلات. لنعمل بدلاً من ذلك باستخدام طريقة OATS:
عدد العوامل = 4 (درجة الحرارة، الضغط، الأكسجينping المبلغ ومعدل الإيداع)
المستويات = 3 مستويات لكل عامل (درجة الحرارة لها 3 مستويات - 100 درجة مئوية، 150 درجة مئوية، و200 درجة مئوية - وبالمثل فإن العوامل الأخرى لها أيضًا 3 مستويات لكل منها)
قم بإنشاء مصفوفة على النحو التالي:
1. الأعمدة مع عدد العوامل
| حالة اختبار # | درجة الحرارة | الضغط | Doping كمية | معدل الترسيب |
|---|
٢. أدخل عدد الصفوف مساوياً لعدد مستويات كل عامل. على سبيل المثال، درجة الحرارة لها ٣ مستويات. لذا، أدخل ٣ صفوف لكل مستوى من مستويات درجة الحرارة.
| حالة اختبار # | درجة الحرارة | الضغط | Doping كمية | معدل الترسيب |
|---|---|---|---|---|
| 1 | 100C | |||
| 2 | 100C | |||
| 3 | 100C | |||
| 4 | 150C | |||
| 5 | 150C | |||
| 6 | 150C | |||
| 7 | 200C | |||
| 8 | 200C | |||
| 9 | 200C |
3. الآن قسّم الضغط، افعلping الكمية ومعدلات الترسيب في الأعمدة.
على سبيل المثال: أدخل 2 رطل لكل بوصة مربعة عند درجات الحرارة 100 درجة مئوية و150 درجة مئوية و200 درجة مئوية، وبالمثل أدخل doping نسبة 4% لدرجات حرارة 100 درجة مئوية و150 درجة مئوية و200 درجة مئوية وهكذا.
| حالة اختبار # | درجة الحرارة | الضغط | Doping كمية | معدل الترسيب |
|---|---|---|---|---|
| 1 | 100C | 2 رطل | 4% | 0.1 ملجم/ثانية |
| 2 | 100C | 5 رطل | 6% | 0.2 ملجم/ثانية |
| 3 | 100C | 8 رطل | 8% | 0.3 ملجم/ثانية |
| 4 | 150C | 2 رطل | 4% | 0.1 ملجم/ثانية |
| 5 | 150C | 5 رطل | 6% | 0.2 ملجم/ثانية |
| 6 | 150C | 8 رطل | 8% | 0.3 ملجم/ثانية |
| 7 | 200C | 2 رطل | 4% | 0.1 ملجم/ثانية |
| 8 | 200C | 5 رطل | 6% | 0.2 ملجم/ثانية |
| 9 | 200C | 8 رطل | 8% | 0.3 ملجم/ثانية |
ومن ثم، في الزراعة العضوية، نحتاج إلى 9 حالات اختبار لتغطيةها.
ملاحظة بشأن الدقة: املأ الأعمدة الثلاثة المتبقية مباشرةً إلى الأسفل، كما في الخطوة 3، مع تكرار نفس الضغط.ping والترسيب الثلاثي داخل كل كتلة حرارية. الضغط وping وبالتالي، تتحرك القيم معًا، ولا تظهر أزواج مثل 2 رطل لكل بوصة مربعة مع 6% أبدًا، لذا فإن الصفوف التسعة أعلاه هي مجموعة اختبار مصغرة وليست مصفوفة متعامدة حقيقية. المصفوفة المتوازنة L9(3)4) المصفوفة أدناه تحافظ على نفس الجولات التسع مع تغطية جميع أزواج المستويات التسعة بين كل عاملين.
| حالة اختبار # | درجة الحرارة | الضغط | Doping كمية | معدل الترسيب |
|---|---|---|---|---|
| 1 | 100C | 2 رطل | 4% | 0.1 ملجم/ثانية |
| 2 | 100C | 5 رطل | 6% | 0.2 ملجم/ثانية |
| 3 | 100C | 8 رطل | 8% | 0.3 ملجم/ثانية |
| 4 | 150C | 2 رطل | 6% | 0.3 ملجم/ثانية |
| 5 | 150C | 5 رطل | 8% | 0.1 ملجم/ثانية |
| 6 | 150C | 8 رطل | 4% | 0.2 ملجم/ثانية |
| 7 | 200C | 2 رطل | 8% | 0.2 ملجم/ثانية |
| 8 | 200C | 5 رطل | 4% | 0.3 ملجم/ثانية |
| 9 | 200C | 8 رطل | 6% | 0.1 ملجم/ثانية |
اختبار المصفوفة المتعامدة مقابل اختبار الأزواج (جميع الأزواج)
يُستخدم المصطلحان بشكل متبادل في العديد من الفرق، مع أنهما ليسا متطابقين. يهدف كلاهما إلى تغطية أزواج من القيم، لكنهما يختلفان في مدى صرامة القيود المفروضة على الجدول الناتج.
| البعد | اختبار المصفوفة المتعامدة | اختبار الأزواج (جميع الأزواج) |
|---|---|---|
| البنية الأساسية | المصفوفة المتعامدة، مستعارة من تصميم التجارب | مصفوفة التغطية، التي تم إنشاؤها بواسطة خوارزمية بحث |
| قاعدة التغطية | يظهر كل زوج عددًا متساويًا من المرات | يظهر كل زوج مرة واحدة على الأقل |
| عوامل ذات مستويات غير متساوية | يحتاج إلى مصفوفة متعددة المستويات، والتي قد لا تكون موجودة بالشكل المطلوب. | تتم معالجتها مباشرة بواسطة المولد |
| عدد مرات التشغيل النموذجي | مساوية أو أعلى قليلاً، بسبب متطلبات التوازن | مساوي أو أقل لنفس المدخلات |
| القيود بين القيم | يصعب التعبير عنه داخل المصفوفة | مدعوم من قبل معظم المولدات الحديثة |
عمليًا، يُعدّ المصفوفة المتعامدة المتوازنة نموذجًا تعليميًا أوضح وخيارًا أكثر أمانًا عندما تتشارك العوامل نفس عدد المستويات، بينما تُنتج معظم الأدوات مصفوفة تغطية للمشاريع الحقيقية ذات المدخلات غير المتساوية والمعقدة. وكلاهما يُكمّل الآخر. اختبار جدول القرار و اختبار انتقال الحالةوالتي تستهدف قواعد العمل والتسلسل بدلاً من مجموعات القيم.
أدوات اختبار المصفوفة المتعامدة
لا يُعدّ بناء المصفوفة يدويًا عمليًا إلا في الأمثلة الصغيرة المذكورة أعلاه. أما عند تجاوز أربعة أو خمسة عوامل، فتستخدم الفرق مولدًا، وتحدد الأداة عدد مرات التشغيل نيابةً عنها.
- صورة: مولد أوامر مفتوح المصدر من Microsoftتُكتب المعلمات وقيمها في ملف نموذج نصي عادي، وتقوم الأداة بطباعة مجموعة التركيبات. تدعم الأداة القيود والنماذج الفرعية، وهو أمر مهم عندما تكون بعض أزواج القيم غير صالحة. انظر إلى مستودع PICT.
- الأعمال: أداة بحثية من المعهد الوطني للمعايير والتكنولوجيا (NIST) تُنشئ مصفوفات تغطية ثنائية الاتجاه وحتى سداسية الاتجاه، كما تنشر مكتبة من المصفوفات المحسوبة مسبقًا. وهي متاحة من مشروع اختبار التوافقيات التابع للمعهد الوطني للمعايير والتكنولوجيا.
- المنصات التجارية التوافقية: تضيف الأدوات المستضافة متطلبات إضافية tracالقدرة على الاختبار، والنتائج المتوقعة، والتصدير إلى نظام إدارة الاختبارات، وهو ما يناسب الفرق الأكبر التي تحتاج إلى سجل تدقيق.
- مكتبات المصفوفات المنشورة: يتم جدولة المصفوفات القياسية مثل L4 و L8 و L9 و L16 و L18 ويمكن نسخها مباشرة عندما تتطابق أعداد العوامل والمستويات.
بغض النظر عن الأداة التي تُنتج الجدول، لا يزال يتعين تحويل الصفوف المُنشأة إلى حالات قابلة للتنفيذ مع بيانات حقيقية ونتائج متوقعة، ثم جدولتها مثل أي مجموعة أخرى داخل تقنيات اختبار البرمجيات مستخدمة بالفعل في المشروع.
مزايا اختبار المصفوفة المتعامدة
- يضمن اختبار مجموعات الأزواج لجميع المتغيرات المحددة.
- يقلل من عدد حالات الاختبار.
- يؤدي ذلك إلى إنشاء عدد أقل من حالات الاختبار التي لا تزال تغطي تفاعل كل زوج من المتغيرات.
- يمكن التعامل مع مجموعة معقدة من المتغيرات.
- أسهل في الإنشاء وأقل عرضة للخطأ من مجموعات الاختبار التي تم إنشاؤها يدويًا.
- إنه مفيد ل اختبار التكاملومفيد بنفس القدر لـ اختبار التكوين، حيث تتضاعف تركيبات المتصفح ونظام التشغيل والجهاز بسرعة.
- يعمل على تحسين الإنتاجية بسبب انخفاض دورات الاختبار وأوقات الاختبار.
مركبات الادخار خلال اختبار الانحدار، لأن مجموعة متوازنة أصغر حجماً رخيصة بما يكفي لإعادة تشغيلها في كل دورة، في حين أن مجموعة تركيبات شاملة عادة ما يتم تشغيلها مرة واحدة ثم يتم التخلي عنها بهدوء.
عيوب اختبار المصفوفة المتعامدة
- مع ازدياد مدخلات البيانات، يزداد تعقيد تصميم حالات الاختبار. ونتيجة لذلك، يزداد الجهد اليدوي والوقت المستغرق، ويتعين على المختبرين اللجوء إلى اختبار الأتمتة.
- التغطية الثنائية ليست تغطية كاملة. قد يمر عيب لا يظهر إلا عند حدوث ثلاث قيم محددة معًا عبر المصفوفة دون أن يمسه شيء.
- العوامل ذات الأعداد المختلفة من المستويات لا تتطابق مع المصفوفة القياسية بشكل واضح، لذلك هناك حاجة إلى مصفوفة ذات مستويات مختلطة أو مولد مصفوفة تغطية.
- يُعد اختيار المستويات قرارًا تقديريًا. إذا تم حذف قيمة مهمة من نموذج الإدخال، فلن تتمكن أي مصفوفة من استعادتها.
- إن القيود بين القيم، مثل طريقة الدفع الصالحة في بلد واحد فقط، يصعب التعبير عنها وعادة ما تنتج صفوفًا غير صالحة يجب إزالتها يدويًا.
لا تستبعد أي من هذه القيود استخدام هذه التقنية؛ بل تحدد نطاقها فقط. تعمل المصفوفات المتعامدة على تقليل مشكلة التركيب، بينما يساهم تحليل المخاطر و اختبار المجال تحديد العوامل التي تستحق مكانًا في النموذج في البداية.
أخطاء أو أخطاء أثناء إجراء OAT
- توجيه جهود الاختبار إلى الجزء الخطأ من التطبيق.
- اختيار المعايير الخاطئة للدمج.
- استخدام اختبار المصفوفة المتعامدة حيث تكون مجموعة المدخلات صغيرة بما يكفي للاختبار الشامل.
- تطبيق اختبار المصفوفة المتعامدة يدويًا على نموذج كبير بما يكفي ليحتاج إلى مولد.
- الاعتماد على اختبار المصفوفة المتعامدة وحده للتطبيقات عالية المخاطر، حيث تكون التغطية الأعمق مطلوبة.
أما العنصر الأخير فهو الذي يُسبب أكبر قدر من الضرر عمليًا. ففي حالة الميزات الحساسة للسلامة أو الميزات المالية، تُعتبر المجموعة الثنائية حدًا أدنى وليس حدًا أقصى، وعادةً ما تُستكمل بحالات مُحددة عند اختبار النظام على نفس المستوى ومع الخطة الأوسع الموضحة في أنواع اختبار البرمجيات.

