اختبار الصندوق الأسود

اختبار الصندوق الأسود، الذي يُشار إليه أحيانًا بالاختبار القائم على المواصفات ، [ 1 ] هو أسلوب لاختبار البرمجيات يفحص وظائف التطبيق دون الاطلاع على بنيته الداخلية أو آلية عمله. يمكن تطبيق هذا الأسلوب عمليًا على جميع مستويات اختبار البرمجيات: الوحدة ، والتكامل ، والنظام ، والقبول . يُستخدم اختبار الصندوق الأسود أيضًا في اختبار الاختراق ، حيث يقوم مخترق أخلاقي بمحاكاة هجوم اختراق خارجي أو حرب إلكترونية دون معرفة مسبقة بالنظام المستهدف.

إجراءات الاختبار

يهدف الاختبار القائم على المواصفات إلى اختبار وظائف البرمجيات وفقًا للمتطلبات المعمول بها. [ 2 ] يتطلب هذا المستوى من الاختبار عادةً تزويد المختبِر بحالات اختبار شاملة ، والتي يمكنه بعد ذلك ببساطة التحقق من أن قيمة المخرجات (أو السلوك) لمدخلات معينة، إما "تتطابق" أو "لا تتطابق" مع القيمة المتوقعة المحددة في حالة الاختبار.

مثال على نموذج الصندوق الأسود حيث ينتج عن مدخل معين مخرج معين

لا يُشترط معرفة مُحددة بشفرة التطبيق، أو بنيته الداخلية، أو معرفة البرمجة بشكل عام. [ 3 ] يكون المُختبِر على دراية بما يُفترض أن يفعله البرنامج، ولكنه لا يعرف كيف يُنفّذ ذلك. على سبيل المثال، يعرف المُختبِر أن مُدخلًا مُعينًا يُعيد مُخرجًا مُحددًا وثابتًا، ولكنه لا يعرف كيف يُنتج البرنامج هذا المُخرج في المقام الأول. [ 4 ]

حالات الاختبار

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

تقنيات تصميم الاختبارات

تشمل تقنيات تصميم اختبار الصندوق الأسود النموذجية اختبار جدول القرار ، واختبار جميع الأزواج ، وتقسيم التكافؤ ، وتحليل القيم الحدية ، ورسم بياني للسبب والنتيجة ، وتخمين الخطأ ، واختبار انتقال الحالة ، واختبار حالات الاستخدام ، واختبار قصص المستخدم ، وتحليل المجال ، واختبار بناء الجملة. [ 5 ] [ 6 ]

تغطية الاختبار

تشير تغطية الاختبار إلى النسبة المئوية لمتطلبات البرمجيات التي يتم اختبارها باستخدام اختبار الصندوق الأسود لنظام أو تطبيق. [ 7 ] وهذا يختلف عن تغطية الكود ، التي تفحص العمليات الداخلية للبرنامج وتقيس مدى تنفيذ الكود المصدري للبرنامج عند تشغيل مجموعة الاختبارات. [ 8 ] يتيح قياس تغطية الاختبار اكتشاف العيوب والقضاء عليها بسرعة، وإنشاء مجموعة اختبارات أكثر شمولاً ، وإزالة الاختبارات غير ذات الصلة بالمتطلبات المحددة. [ 8 ] [ 9 ]

فعالية

قد يكون اختبار الصندوق الأسود ضروريًا لضمان الأداء السليم، ولكنه غير كافٍ للحماية من المواقف المعقدة أو عالية المخاطر. [ 10 ] من مزايا تقنية الصندوق الأسود أنها لا تتطلب معرفة برمجية. فمهما كانت تحيزات المبرمجين، فمن المرجح أن يكون لدى المختبِر مجموعة مختلفة من التحيزات، وقد يركز على جوانب مختلفة من الوظائف. من ناحية أخرى، يُقال إن اختبار الصندوق الأسود "كالسير في متاهة مظلمة بدون مصباح يدوي". [ 11 ] ولأنهم لا يفحصون شفرة المصدر، فقد يكتب المختبِر حالات اختبار كثيرة للتحقق من شيء كان من الممكن اختباره بحالة اختبار واحدة فقط، أو يترك أجزاءً من البرنامج دون اختبار.

انظر أيضاً

مراجع

  1. جيري غاو؛ هـ. س. ج. تساو؛ يي وو (2003). اختبار وضمان جودة البرمجيات القائمة على المكونات . دار أرتيك هاوس. ص  170–. ISBN 978-1-58053-735-3.
  2. لايكوك، جيلبرت ت. (1993). نظرية وممارسة اختبار البرمجيات القائم على المواصفات (ملف PDF) (أطروحة دكتوراه). قسم علوم الحاسوب، جامعة شيفيلد . تم الاطلاع عليه في 2 يناير 2018 .
  3. ميليند ج. ليماي (2009). اختبار البرمجيات . دار تاتا ماكجرو هيل للتعليم. ص 216. ISBN  978-0-07-013990-9.
  4. باتون، رون (2005). اختبار البرمجيات ( الطبعة الثانية). إنديانابوليس: دار سامز للنشر. ISBN  978-0672327988.
  5. فورغاتش، إستفان؛ كوفاتش، أتيلا (2019). تصميم الاختبار العملي: اختيار تقنيات تصميم الاختبار التقليدية والآلية . شركة بي سي إس للتعليم والتطوير المحدودة. رقم ISBN 978-1780174723.
  6. بلاك، ر. (2011). اختبار البرمجيات العملي: كيف تصبح محترف اختبار فعال وكفؤ . جون وايلي وأولاده. ص 44-46 . ISBN  978-1-118-07938-6.
  7. معجم مصطلحات هندسة البرمجيات القياسي الصادر عن معهد مهندسي الكهرباء والإلكترونيات (تقرير فني). معهد مهندسي الكهرباء والإلكترونيات . 1990. 610.12-1990.
  8. 1 2 "تغطية الكود مقابل تغطية الاختبار" . BrowserStack . تم الاسترجاع في 13 أبريل 2024 .
  9. أندراديس، جيوسلي (16 ديسمبر 2023). "أفضل 8 تقنيات لتغطية الاختبار في اختبار البرمجيات" . شركة ACCELQ . تم الاطلاع عليه بتاريخ 13 أبريل 2024 .
  10. باخ، جيمس (يونيو 1999). "الاختبار القائم على المخاطر والمتطلبات" (ملف PDF) . مجلة الكمبيوتر . 32 (6): 113-114 . مؤرشف من الأصل (ملف PDF) في 29 ديسمبر 2009. تم الاطلاع عليه في 19 أغسطس 2008 .
  11. سافينكوف، رومان (2008). كيف تصبح مختبر برمجيات . رومان سافينكوف للاستشارات. ص 159. ISBN  978-0-615-23372-7.