ما هو اختبار المجال في اختبار البرمجيات؟ (مع مثال)

⚡ ملخص ذكي

يقوم اختبار المجال بفحص التطبيق عن طريق تزويده بأصغر مجموعة مفيدة من المدخلات، والتي تغطي القيم الصالحة وغير الصالحة والحدودية، والتأكد من أن القيم الموجودة داخل النطاق المقبول فقط هي التي تنتج المخرجات المطلوبة.

  • 🔘 الفكرة الأساسية: قسّم كل مجال إدخال إلى فئات تكافؤ واختبر قيمة تمثيلية واحدة لكل فئة، وليس كل مدخل ممكن.
  • ☑️ التركيز على الحدود: إن القيم الموجودة على حافة الفئة، وخارجها مباشرة، تكشف عن عيوب الانحراف بمقدار واحد في كثير من الأحيان أكثر من القيم المتوسطة.
  • ✅ التقنيات المزدوجة: يُحدد تحليل فئات التكافؤ المجموعةpingيحدد تحليل القيم الحدية أي عضو من كل مجموعة سيتم تشغيله.
  • 🧪 مثال عملي: تقوم وحدة إصدار التذاكر بتخصيص المسابقات حسب العمر والجنس، مما يقلل أربع فئات عمرية إلى مجموعة اختبار قصيرة وعالية القيمة.
  • 📈 الاعتماد على المعرفة: يتطلب الحكم على صحة المخرجات قواعد عمل، لذا فإن هذه التقنية تناسب أجزاء صغيرة ومفهومة جيدًا من المنطق.

اختبار المجال في اختبار البرمجيات باستخدام فئات التكافؤ وقيم الحدود

ما هو اختبار النطاق؟

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

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

يختلف اختبار المجال باختلاف كل مجال محدد، لذلك أنت بحاجة إلى معرفة خاصة بالمجال لاختبار نظام برمجي.

ممارسة أبسط لاختبار المجال

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

قد يشمل المجال اختبار أي متغير إدخال واحد أو مجموعة من متغيرات الإدخال.

غالباً ما يدرس الممارسون أبسط حالات اختبار المجال تحت اسمين آخرين، وهما "اختبار الحدود" و"تحليل فئة التكافؤ".

اختبار الحدود - تحليل قيمة الحدود تعتمد (BVA) على الاختبار عند الحدود بين الأقسام. سنختبر قيم الإدخال الصحيحة وغير الصحيحة في القسم/الفئات.

اختبار فئات التكافؤ - الفكرة وراء هذه التقنية هي تقسيم (أي تقسيم) مجموعة من شروط الاختبار إلى مجموعات أو مجموعات يمكن اعتبارها متشابهة (أي يجب على النظام التعامل معها بشكل متكافئ)، وبالتالي "تقسيم التكافؤ".

ينطبق هذا الشكل المبسط على اختبار المجال –

  • فقط لاختبارات متغيرات الإدخال
  • فقط عند إجراء الاختبار في مستوى النظام
  • فقط عندما يتم اختباره مرة واحدة
  • فقط عندما يتم اختبارها بطريقة سطحية للغاية

ويمكن تبسيطها على النحو التالي:

متغير فئة معادلة فئة صالحة فئة معادلة الفئة غير صالحة الحدود والحالات الخاصة ملاحظة
X 0-100 0
100
<0 -1
> 100 101

التفسير:

  • إذا كان الحقل يقبل نطاقات من 0 إلى 100، فلا ينبغي أن يقبل الحقل -1 و 101، لأنهما إدخالات غير صالحة وخارج الحدود.
  • يجب أن يقبل الحقل قيمًا مثل 0 و 100 وأي رقم بينهما.

بناء طاولات كهذه (عملياً)

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

استراتيجية اختبار المجال

أثناء اختبار المجال، يجب مراعاة الأمور التالية:

  • ما المجال الذي نختبره؟
  • كيفية تجميع القيم في فئات؟
  • ما هي قيم الفئات التي سيتم اختبارها؟
  • كيفية تحديد النتيجة؟

ما المجال الذي نختبره؟

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

استراتيجية اختبار المجال توضح متغيرات الإدخال التي تتدفق إلى المجال وتنتج مخرجات

مثال لاختبار المجال

فكر في سيناريو اختبار الإدخال الفردي:

C = a+b، حيث a وb متغيرات الإدخال وC هو متغير الإخراج.

في المثال أعلاه، لا حاجة للتصنيف، ولا يلزم أي مزيج من المتغيرات.

خذ بعين الاعتبار المدخلات المتعددة التالية وسيناريو المخرجات المناسب:

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

وبحسب السيناريو حصلنا على ستة سيناريوهات حسب العمر والمسابقات:

  • ينبغي أن يشارك الصبي الذي يتراوح عمره بين 5 سنوات و 10 سنوات في سرد ​​القصص.
  • يجب على الفتيات اللواتي تتراوح أعمارهن بين 5 سنوات و 10 سنوات أو أقل المشاركة في مسابقة الرسم.
  • يجب على الأولاد الذين تتراوح أعمارهم بين 10 و 15 عامًا المشاركة في المسابقة.
  • ينبغي على الفتيات اللاتي تتراوح أعمارهن بين 10 سنوات و 15 سنة المشاركة في كتابة المقالات.
  • يجب على كل من الأولاد والبنات المشاركة في مسابقة القوافي لمن هم دون سن الخامسة.
  • العمر أكبر من 15 عامًا، يجب على الأولاد والبنات المشاركة في مسابقة الشعر.

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

كيفية تجميع القيم في فئات؟

تقسيم بعض القيم يعني فصلها إلى أجزاء غير متداخلةping مجموعات فرعية.

كما ناقشنا سابقًا هناك نوعان من التقسيم:

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

في المثال أعلاه، نقوم بتقسيم القيم إلى مجموعات فرعية. نقوم بتقسيم العمر إلى الفئات التالية:

  • الفئة 1: الأطفال الذين تتراوح أعمارهم بين 5 و 10 عامًا
  • الفئة الثانية: الأطفال الذين تقل أعمارهم عن 5 سنوات
  • الفئة 3: الأطفال الذين تتراوح أعمارهم بين 10 و 15 عامًا
  • الفئة الرابعة: الأطفال الذين تزيد أعمارهم عن 15 عامًا.

ما هي قيم الفئات التي سيتم اختبارها؟

ينبغي أن تكون القيم المختارة للاختبار قيمًا حدية:

  • تمثل الحدود فئات التكافؤ التي نختار منها العينات. وهي أكثر عرضة للكشف عن الخطأ من أعضاء الفئة الآخرين، لذا فهي تمثل فئات أفضل.
  • أفضل ممثل لفئة التكافؤ هو القيمة الموجودة بين النطاق.

بالنسبة للمثال أعلاه، لدينا الفئات التالية التي سيتم اختبارها:

على سبيل المثال، بالنسبة للسيناريو رقم 1:

الفئة 1: الأطفال الذين تتراوح أعمارهم بين 5 و 10 سنوات (العمر >5 و <=10 سنوات)

قيم الحدود:

  • يجب أن تكون القيم مساوية أو أقل من 10. وبالتالي، يجب تضمين سن 10 في هذه الفئة.
  • يجب أن تكون القيم أكبر من 5. ومن ثم، لا ينبغي إدراج سن 5 سنوات في هذه الفئة.
  • يجب أن تكون القيم مساوية أو أقل من 10. وبالتالي، لا ينبغي إدراج عمر 11 عامًا في هذه الفئة.
  • يجب أن تكون القيم أكبر من 5. وبالتالي، يجب إدراج سن 6 سنوات في هذه الفئة.

قيم تقسيم التكافؤ:

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

(العمر > 5 و <= 10)

بما أن القيم من 6 إلى 10 صالحة، يجب اختيار إحدى القيم التالية: 6، 7، 8، 9، أو 10. لذا، يُعدّ العمر المُختار "8" عمرًا صالحًا للفئة العمرية بين (أكبر من 5 سنوات وأصغر من أو تساوي 10 سنوات). يُشار إلى هذا النوع من التقسيم بتقسيم التكافؤ.

سيناريو القيم الحدودية التي يتعين اتخاذها معادلة تقسيم القيم
الصبي - العمر > 5 و <= 10 عمر الإدخال = 6
عمر الإدخال = 5
عمر الإدخال = 11
عمر الإدخال = 10
عمر الإدخال = 8
فتاة - العمر أكبر من 5 سنوات وأقل من = 10 سنوات عمر الإدخال = 6
عمر الإدخال = 5
عمر الإدخال = 11
عمر الإدخال = 10
عمر الإدخال = 8
الصبي - العمر > 10 و <= 15 عمر الإدخال = 11
عمر الإدخال = 10
عمر الإدخال = 15
عمر الإدخال = 16
عمر الإدخال = 13
فتاة - العمر أكبر من 10 سنوات وأقل من = 15 سنوات عمر الإدخال = 11
عمر الإدخال = 10
عمر الإدخال = 15
عمر الإدخال = 16
عمر الإدخال = 13
العمر<=5 عمر الإدخال = 4
عمر الإدخال = 5
عمر الإدخال = 3
العمر> 15 عمر الإدخال = 15
عمر الإدخال = 16
عمر الإدخال = 25

كيف يمكننا تحديد ما إذا كان البرنامج قد نجح أو فشل في الاختبار؟

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

تحديد نتائج المثال: تعرض الشاشة أدناه مخرجات التذاكر لكل تركيبة من العمر والجنس.

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

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

هيكل اختبار المجال

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

  • تحديد المتغيرات المثيرة للاهتمام.
  • حدد المتغير (المتغيرات) التي يمكنك تحليلها الآن ورتبها (من الأصغر إلى الأكبر والعكس).
  • إنشاء وتحديد القيم الحدودية وقيم فئة التكافؤ على النحو الوارد أعلاه.
  • حدد الأبعاد الثانوية وحلل كل منها بطريقة كلاسيكية. (في المثال أعلاه، الجنس هو البعد الثانوي).
  • تحديد واختبار المتغيرات التي تحمل النتائج (متغيرات الإخراج).
  • تقييم كيفية استخدام البرنامج لقيمة هذا المتغير.
  • تحديد متغيرات إضافية ذات صلة محتملة لاختبارات التجميع، حيث اختبار جدول القرار يساعد.
  • تخيل مخاطر لا ترتبط بالضرورة ببعد واضح.
  • تحديد المتغيرات غير المحللة وإدراجها في قائمة. جمع المعلومات لتحليلها لاحقًا.
  • قم بتلخيص تحليلك باستخدام جدول المخاطر/التكافؤ.

الأسئلة الشائعة

يظهر كلا التصنيفين عمليًا. الفئات المشتقة من المواصفات تجعلها صندوق اسود التقنية؛ الفئات المشتقة من الكود تجعلها صندوقًا أبيض. التحليل نفسه متطابق.

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

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

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

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

مساعد الطيار جيثب يكتب دوال اختبار مُعَلمة بمجرد ظهور الفئات والحواف في موجه الأوامر أو في الكود. يجب على المُختبِر تحديد حدود العمل غير المُعلنة.

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

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

تلخيص هذه التدوينة بـ: