ما هو صندوق رمادي
Gray Box هو اختبار البرنامج مع معرفة محدودة بأعماله الداخلية. يُعد اختبار Gray Box أحد أساليب القرصنة الأخلاقية حيث يتعين على المتسلل استخدام معلومات محدودة لتحديد نقاط القوة والضعف في شبكة أمان الهدف.
كسر أسفل مربع رمادي
Gray box هو مزيج اختبار الصندوق الأبيض ، حيث يفحص المختبر المنطق الداخلي وهيكل كود البرنامج ، واختبار الصندوق الأسود ، حيث لا يعرف المختبر شيئًا عن رمز البرنامج. لفهم اختبار الصندوق الرمادي ، يجب علينا أولاً فهم الأسود اختبار مربع واختبار مربع أبيض.
الصندوق الأسود واختبار الصندوق الأبيض
لا يبحث اختبار الصندوق الأسود أكثر من المدخلات من قبل المستخدم وما الإخراج الذي ينتجه البرنامج بالنظر إلى تلك المدخلات. لا يتطلب اختبار الصندوق الأسود أي معرفة بلغة البرمجة أو أي تفاصيل تقنية أخرى. إنه نوع من الاختبارات عالية المستوى المستخدمة في اختبار النظام واختبار القبول. يحتاج مهندسو البرامج إلى مستند مواصفات متطلبات البرامج (SRS) لإجراء اختبار الصندوق الأسود. يأخذ هذا الاختبار وجهة نظر المستخدم النهائي حيث لا يعرف اختبار الصندوق الأسود كيف يتم إنشاء المخرجات من المدخلات.
يتطلب اختبار الصندوق الأبيض معرفة متعمقة بالتقنيات والأنظمة الأساسية المستخدمة لإنشاء البرامج ، بما في ذلك لغة البرمجة ذات الصلة. إنه نوع من الاختبارات منخفضة المستوى المستخدمة في اختبار الوحدة واختبار الإشارة. يحتاج مهندسو البرمجيات إلى فهم لغة البرمجة المستخدمة لإنشاء التطبيق حتى يتمكنوا من فهم الكود المصدري الخاص به. تتمثل الأغراض الرئيسية لاختبار المربع الأبيض في تعزيز الأمان ، ودراسة كيفية تدفق المدخلات والمخرجات من خلال التطبيق ، وتحسين التصميم وسهولة الاستخدام. عندما لا يحصل اختبار المربع الأبيض على المخرجات المتوقعة من إدخال معين ، فإن النتيجة تعتبر خطأ يجب إصلاحه.
اختبار الصندوق الرمادي
يتضمن اختبار الصندوق الرمادي مكونات مهمة لاختبار الصندوقين الأبيض والأسود للحصول على نتيجة أفضل مما يمكن لأي منهما الحصول عليه بمفرده. يقوم كل من المستخدمين والمطورين بإجراء اختبار الصندوق الرمادي بمعرفة (جزئي) محدودة بالكود المصدري للتطبيق. يمكن أن يكون اختبار الصندوق الرمادي يدويًا أو آليًا. إنها أكثر شمولًا وتستغرق وقتًا أكبر من اختبار الصندوق الأسود ، ولكنها ليست شاملة أو تستغرق وقتًا أطول من اختبار الصندوق الأبيض. تتطلب أجهزة اختبار الصندوق الرمادي مستندات تصميم مفصلة.
يتضمن اختبار المربع الرمادي تحديد المدخلات وتحديد المخرجات وتحديد المسارات الرئيسية وتحديد الوظائف الفرعية. ثم ينتقل إلى تطوير المدخلات والمخرجات للوظائف الفرعية ، وتنفيذ حالات الاختبار للوظائف الفرعية ، والتحقق من تلك النتائج.
مثال على الصندوق الرمادي
قد يقوم اختبار الصندوق الرمادي بفحص وإصلاح الروابط الموجودة على موقع الويب. إذا لم يعمل الرابط ، يقوم المتغير بتغيير رمز HTML لمحاولة جعل الرابط يعمل ، ثم يعيد فحص واجهة المستخدم لمعرفة ما إذا كان الرابط يعمل أم لا. قد يقوم اختبار الصندوق الرمادي أيضًا باختبار آلة حاسبة على الإنترنت. سيحدد المختبر المدخلات - الصيغ الرياضية مثل 1 + 1 ، 2 * 2 ، 5-4 و 15/3 - ثم تحقق لمعرفة أن الآلة الحاسبة توفر المخرجات الصحيحة بالنظر إلى تلك المدخلات. يمتلك اختبار الصندوق الرمادي حق الوصول إلى كود HTML الخاص بالحاسبة ويمكنه تغييره إذا تم تحديد أي أخطاء.
يبحث اختبار الصندوق الرمادي في كل من واجهة مستخدم التطبيق أو طبقة العرض التقديمي وأعماله الداخلية أو الكود. يستخدم بشكل رئيسي في اختبار التكامل واختبار الاختراق لكنه غير مناسب لاختبار الخوارزمية. يستخدم اختبار Gray Box بشكل عام لاختبار واجهة مستخدم التطبيق أو أمانه أو وظائفه عبر الإنترنت من خلال تقنيات مثل اختبار المصفوفة واختبار الانحدار واختبار الصفيف المتعامد واختبار الأنماط. غالبًا ما يقوم مختبري Gray-Box بتحديد المشكلات الخاصة بالسياق.
يشير "الرمادي" إلى القدرة الجزئية للاختبار على رؤية الإجراءات الداخلية للتطبيق. يشير "الأبيض" إلى القدرة على رؤية من خلال واجهة البرنامج لأعماله الداخلية ويشير "الأسود" إلى عدم القدرة على رؤية الأعمال الداخلية للبرنامج. يُطلق على اختبار الصندوق الرمادي أحيانًا اختبار شفاف ، بينما يُسمى اختبار المربع الأبيض أحيانًا اختبارًا واضحًا ، وقد يُسمى اختبار الصندوق الأسود أيضًا اختبار غير شفاف.