أبيض Box الاختبار - ما هو، التقنيات، الأمثلة والأنواع

أبيض Box الاختبار

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

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

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

أبيض Box اختبار الفيديو

انقر هنا إذا لم يكن من الممكن الوصول إلى الفيديو

ماذا تحقق في الأبيض Box اختبارات؟

يتضمن اختبار الصندوق الأبيض اختبار الكود البرمجي فيما يلي:

  • ثغرات أمنية داخلية
  • مسارات مكسورة أو سيئة التنظيم في عمليات الترميز
  • تدفق مدخلات محددة من خلال التعليمات البرمجية
  • الناتج المتوقع
  • وظائف الحلقات الشرطية
  • اختبار كل عبارة وكائن ووظيفة على أساس فردي

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

كيف يمكنك أداء الأبيض Box اختبارات؟

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

الخطوة 1) فهم الكود المصدري

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

الخطوة 2) إنشاء حالات اختبار وتنفيذها

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

أبيضBox الاختبار

أبيضBox مثال الاختبار

ضع في اعتبارك القطعة التالية من الكود

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code

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

لممارسة العبارات في مثال اختبار المربع الأبيض أعلاه، استخدم المربع الأبيضBox حالات الاختبار ستكون

  • أ = 1، ب = 1
  • أ = -1، ب = -3

أبيض Box تقنيات الاختبار

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

هناك أدوات آلية متاحة للأداء تحليل تغطية الكودفيما يلي بعض تقنيات تحليل التغطية التي يمكن لمختبر الصندوق استخدامها:

تغطية البيان:- تتطلب هذه التقنية اختبار كل عبارة محتملة في الكود مرة واحدة على الأقل أثناء عملية الاختبار هندسة البرمجيات.

تغطية الفروع – تتحقق هذه التقنية من كل مسار ممكن (إذا كان غير ذلك والحلقات الشرطية الأخرى) لتطبيق برمجي.

وبصرف النظر عن ما سبق، هناك العديد من أنواع التغطية مثل تغطية الحالة، وتغطية الحالة المتعددة، وتغطية المسار، وتغطية الوظيفة وما إلى ذلك. كل تقنية لها مزاياها الخاصة ومحاولات اختبار (تغطية) جميع أجزاء كود البرنامج. باستخدام تغطية كشف الحساب والفرع، يمكنك عمومًا الحصول على تغطية رمز بنسبة 80-90% وهو ما يكفي.

فيما يلي بعض النقاط المهمة حول الأبيض:Box تقنيات الاختبار:

  • تغطية البيان
  • تغطية القرار
  • تغطية الفروع
  • تغطية الحالة
  • تغطية حالة متعددة
  • تغطية آلة الدولة المحدودة
  • تغطية المسار
  • اختبار التحكم في التدفق
  • اختبار تدفق البيانات

أنواع الأبيض Box الاختبار

اختبار الصندوق الأبيض يشمل العديد من أنواع الاختبارات المستخدمة لتقييم مدى قابلية استخدام تطبيق ما أو مجموعة من التعليمات البرمجية أو حزمة برامج محددة. هناك المدرجة أدناه -

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

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

  • أبيض Box اختبار الاختراق: في هذا الاختبار، يكون لدى المختبر/المطور معلومات كاملة عن الكود المصدري للتطبيق، ومعلومات الشبكة التفصيلية، وعناوين IP المعنية وجميع معلومات الخادم التي يعمل عليها التطبيق. الهدف هو مهاجمة الكود من عدة زوايا لكشف التهديدات الأمنية.
  • أبيض Box اختبار الطفرة: اختبار الطفرة غالبًا ما يتم استخدامه لاكتشاف أفضل تقنيات الترميز لاستخدامها في توسيع نطاق الحلول البرمجية.

أبيض Box أدوات الاختبار

فيما يلي قائمة بأفضل أدوات اختبار الصندوق الأبيض.

مزايا اللون الأبيض Box الاختبار

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

عيوب اللون الأبيضBox الاختبار

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

وفي الختام

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