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

اختبار البرمجيات هو عملية التحقق من صحة تطبيق برمجي للتأكد من عمله كما هو متوقع. والهدف من ذلك هو اكتشاف العيوب وتحسين جودة المنتج. هناك طريقتان لاختبار البرمجيات، وهما: الاختبار الإيجابي والاختبار السلبي.
يجيب النهجان على أسئلة متناقضة: هل يعمل التطبيق عندما تسير الأمور على ما يرام، وهل يظل مستقرًا عندما يحدث خطأ ما؟
ما هو الاختبار الإيجابي؟
اختبار إيجابي هو نوع من أنواع الاختبارات التي تُجرى على تطبيق برمجي من خلال تزويده بمجموعات بيانات صحيحة كمدخلات. يتحقق هذا الاختبار مما إذا كان التطبيق البرمجي يتصرف كما هو متوقع مع المدخلات الإيجابية أم لا.
يُجرى الاختبار الإيجابي للتحقق مما إذا كان تطبيق البرنامج يؤدي وظيفته كما هو متوقع منه تمامًا. ولذلك يُطلق عليه أيضًا اختبار المسار السليم.
على سبيل المثال، انظر إلى مربع النص الرقمي الموضح أدناه.
يوجد مربع نص في أحد التطبيقات لا يقبل سوى الأرقام. سيكون إدخال قيم تصل إلى 99999 مقبولاً من قبل النظام، ولا ينبغي قبول أي قيم أخرى بخلاف ذلك. لإجراء اختبار إيجابي، اضبط قيم الإدخال الصالحة من 0 إلى 99999 وتحقق مما إذا كان النظام يقبل القيم.
ما هو الاختبار السلبي؟
الاختبار السلبي هي طريقة اختبار تُجرى على تطبيق برمجي من خلال إدخال بيانات غير صالحة أو غير مناسبة. وتتحقق هذه الطريقة مما إذا كان التطبيق البرمجي يتصرف كما هو متوقع مع مدخلات المستخدم السلبية أو غير المرغوب فيها.
يهدف الاختبار السلبي إلى ضمان عدم تعطل تطبيق البرنامج واستقراره عند إدخال بيانات غير صالحة. ولذلك يُطلق عليه أيضاً اختبار مسار الخطأ أو اختبار الفشل.
على سبيل المثال، لنفترض أن نفس الحقل يستقبل أحرفًا بدلاً من أرقام.
يمكن إجراء الاختبار السلبي عن طريق إدخال الأحرف من A إلى Z أو من a إلى z. يجب ألا يقبل أي نظام برمجي القيم وإلا فإنه يجب أن يلقي رسالة خطأ بشأن مدخلات البيانات غير الصالحة.
في كلا نوعي الاختبار، يجب مراعاة ما يلي:
- ادخال البيانات
- الإجراء الذي يجب القيام به
- نتيجة الإخراج
الاختبار الإيجابي مقابل الاختبار السلبي: الاختلافات الرئيسية
يشترك كلا النهجين في نفس حالة اختبار الهيكل. يكمن الفرق في المدخلات التي تقدمها وفي ما تثبته نتيجة النجاح.
| معامل | اختبار إيجابي | الاختبار السلبي |
|---|---|---|
| المعروف أيضا باسم | اختبار المسار السعيد | اختبار مسار الخطأ أو الفشل |
| المدخلات المستخدمة | بيانات صحيحة ومتوقعة | بيانات غير صالحة أو متطرفة أو غير متوقعة |
| الهدف | تأكد من أن الخاصية تعمل كما ينبغي. | تأكد من أن الخاصية ترفض ما لا ينبغي لها رفضه |
| النتيجة المتوقعة | اكتملت العملية بنجاح | يظهر خطأ واضح ويبقى النظام مستقرًا |
| معالجة الخطأ | ليس التركيز | التركيز الكامل |
| تغطية | ضيق، يتبع المواصفات | واسع النطاق، يستكشف كل شيء خارج نطاق المواصفات |
| المخاطر المعتادة في حالة التغيب | الميزات الأساسية: سفينة مكسورة | تصل الأعطال والثغرات الأمنية إلى مرحلة الإنتاج |
يشير فشل الاختبار الإيجابي إلى وجود خلل في الوظيفة. أما فشل الاختبار السلبي فيشير إلى وجود عطل في الحماية، وهو أمر مكلف للغاية عند اكتشافه من قبل المستخدمين.
تقنيات الاختبار المستخدمة في الاختبارات الإيجابية والسلبية
من الناحية العملية، تقوم تقنيتان كلاسيكيتان لتصميم المدخلات بتوليد حالات إيجابية وسلبية من نفس المتطلبات:
- تحليل قيمة الحدود
- تقسيم متكافىء
تحليل قيمة الحدود
يعد هذا أحد تقنيات اختبار البرمجيات حيث تم تصميم حالات الاختبار لتشمل قيمًا عند الحدود. إذا تم استخدام بيانات الإدخال ضمن حدود القيمة الحدودية، فيُقال إنها اختبار إيجابي. إذا تم اختيار بيانات الإدخال خارج حدود القيمة الحدودية، فيُقال إنها اختبار سلبي.
على سبيل المثال، انظر إلى النطاق المقبول الموضح أدناه.
يمكن للنظام قبول الأرقام من 0 إلى 10 قيم عددية. جميع الأرقام الأخرى هي قيم غير صالحة. بموجب هذه التقنية، سيتم اختبار قيم الحدود -1,0,1،9,10,11،XNUMX وXNUMX،XNUMX،XNUMX.
تقسيم متكافىء
هذا هو اختبار البرمجيات تقنية تقسيم البيانات المدخلة إلى عدة أقسام. يجب اختبار القيم من كل قسم مرة واحدة على الأقل. يتم استخدام الأقسام ذات القيم الصالحة للاختبار الإيجابي. بينما يتم استخدام الأقسام ذات القيم غير الصالحة للاختبار السلبي.
على سبيل المثال، ادرس التقسيمين الموضحين أدناه.
يمكن تقسيم القيم العددية من صفر إلى عشرة إلى قسمين (أو ثلاثة). في حالتنا، لدينا قسمان: من -10 إلى -1 ومن 0 إلى 10. يمكن أخذ قيم نموذجية (5 و-5) من كل قسم لاختبار السيناريوهات. انظر تجزئة التكافؤ وتحليل القيم الحدية درسٌ يتضمن المزيد من الأمثلة المحلولة.
كيفية إجراء الاختبارات الإيجابية والسلبية
يحوّل التسلسل التالي أحد المتطلبات إلى مجموعة متوازنة من الحالات الإيجابية والسلبية.
- اقرأ متطلبات الحدود. دوّن كل تنسيق مقبول، ونطاق، وحقل إلزامي. كل ما تسمح به المواصفات يُعتبر حالة إيجابية، وكل ما تستبعده يُعتبر حالة سلبية.
- اكتب الحالة الإيجابية أولاً. قم بتوفير بيانات صحيحة، ونفذ الإجراء، وسجل نتيجة النجاح المتوقعة كخط أساس.
- استنتج الحالات السلبية من نفس الحدود. استخدم تحليل القيم الحدية وتقسيم التكافؤ لإنتاج حقول فارغة وأنواع بيانات خاطئة وأرقام خارج النطاق.
- أضف مدخلات معادية. تضمن حقن SQL سلاسل نصية، ورموز مميزة منتهية الصلاحية، وحمولات واجهة برمجة التطبيقات غير الصحيحة، لذا اختبار الأمن تظهر الفجوات مبكراً.
- قم بالتوسيع ليشمل عمليات التحقق غير الوظيفية. A اختبار الحمل عدد المستخدمين المدعومين إيجابي، بينما اختبار الإجهاد أما ما وراء ذلك الحد فهو الحالة السلبية المطابقة.
- اختر مكان سير كل قضية. ابق الحالات السلبية بعيدة عن اختبار الدخان والعقلوهي بوابات موجبة سريعة، وتشغيلها في وظائفها و اختبار الانحدار دورات.
يُظهر سحب الأموال من الصراف الآلي عملية الربط. في حالة إدخال رقم التعريف الشخصي (PIN) الصحيح والمبلغ الصحيح، يتم استلام المبلغ نقدًا وإيصالًا. أما في حالة إدخال رقم التعريف الشخصي (PIN) الخاطئ، فيتم توقع رسالة رفض، ثم حظر البطاقة.
ممارسات للحفاظ على التوازن الصحيح
- اكتب حالتين على الأقل لكل متطلب، حالة إيجابية وحالة سلبية، قبل بدء التطوير.
- أعطِ الأولوية للحالات السلبية حسب تأثيرها، بحيث تأتي حالات فشل الحقن والدفع قبل أخطاء الإدخال التجميلية.
- أكد على رسالة الخطأ نفسها، وليس فقط على فشل الإجراء، لأن الرسائل الغامضة تعتبر عيوبًا أيضًا.
- اترك مساحة لـ الاختبار الاستكشافيوقم بتسجيل النتائج من خلال عملية إدارة العيوب.
⚠️ تحذير: لا تُجرِ اختبارات سلبية على بيئة إنتاج حقيقية. فهي مصممة لإحداث أعطال، والتعطل المتعمد يؤثر على المستخدمين الحقيقيين والبيانات الحقيقية.

.png)



.png)
.png)
.png)