ScholarGate
المساعد

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

اختبار البرمجيات هو التنفيذ الديناميكي لبرنامج باستخدام مدخلات مختارة للكشف عن العيوب واكتساب الثقة بأن البرنامج يتصرف كما هو متوقع.

اعثر على موضوع باستخدام PaperMindقريبًاFind papers & topics
Tools & resources
تنزيل الشرائح
Learn & explore
فيديوقريبًا

Definition

اختبار البرمجيات هو نشاط تصميم وتنفيذ حالات الاختبار — المدخلات المقترنة بالنتائج المتوقعة — للكشف عن التناقضات بين السلوك الفعلي والمطلوب وتقدير موثوقية البرمجيات.

Scope

يغطي هذا الموضوع مستويات الاختبار (الوحدة، التكامل، النظام، القبول)؛ وتقنيات الصندوق الأسود مثل تقسيم التكافؤ، وتحليل القيمة الحدية، والاختبار التوافقي؛ وتقنيات الصندوق الأبيض المدفوعة بمعايير تغطية الكود؛ واختبار الانحدار، والأداء، والاستكشافي؛ وأتمتة الاختبار؛ ونظرية كفاية الاختبار وتغطيته.

Core questions

  • كيف يتم اختيار حالات الاختبار الفعالة من مساحة مدخلات كبيرة بشكل لا يمكن التعامل معه؟
  • ما هي معايير التغطية التي تقيس كفاية مجموعة الاختبار؟
  • كيف تكمل مستويات الاختبار من الوحدة إلى القبول بعضها البعض؟
  • كيف يمكن أتمتة الاختبار ودمجه في مسار التسليم؟

Key theories

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

Clinical relevance

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

Evidence & guidelines

توفر ISO/IEC/IEEE 29119 معايير دولية لعمليات اختبار البرمجيات، والتوثيق، والتقنيات، ويقدم مجال المعرفة SWEBOK لاختبار البرمجيات نظرة عامة متفق عليها.

History

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

Debates

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

Key figures

  • Glenford Myers
  • Paul Ammann
  • Jeff Offutt
  • Boris Beizer

Related topics

Seminal works

  • myers2011
  • ammann2016
  • swebok2014

Frequently asked questions

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

Methods for this concept

Related concepts