سؤال

أي نوع من الاختبار تقول ينبغي أن يكون التركيز (على اختبار/قاص) ، لماذا ؟

بسرعة على مجموعة من التعاريف من ويكيبيديا:

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

  • يأخذ منظور خارجي الكائن الاختبار لجني حالات الاختبار.هذه الاختبارات يمكن أن تكون وظيفية أو غير وظيفية ، على الرغم من عادة وظيفية.اختبار مصمم يختار صالحة وغير صالحة المدخلات يحدد إخراج الصحيح.لا يوجد معرفة اختبار الكائن الهيكل الداخلي.

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

  • يستخدم داخلي منظور النظام لتصميم حالات الاختبار على أساس الهيكل الداخلي.فإنه يتطلب مهارات البرمجة للتعرف على جميع المسارات من خلال البرنامج.اختبار يختار حالة اختبار المدخلات إلى ممارسة مسارات من خلال رمز يحدد ملائمة المخرجات.في الأجهزة الكهربائية واختبار كل عقدة في الدائرة قد يكون بحث و قياسها ؛ مثال على ذلك هو في حلبة اختبار (تكنولوجيا المعلومات والاتصالات).

تحرير:فقط لتوضيح أكثر قليلا, وأنا أدرك أن كلاهما مهم ، ولكن عادة ما تكون منفصلة بين ديف و QA.

هو المعارف الداخلية أهمية اختبار/QA?سمعت الحجج التي الاختبار مع هذه المعرفة في العقل تمكنهم من اختبار أفضل المشاكل, لكن سمعت أيضا الحجج أن هذه المعرفة يمكن أن يصرف من الاحتياجات الوظيفية وتعزيز "اختبار قانون" بدلا من أن المقصود الحل.

هل كانت مفيدة؟

المحلول

  • اختبار الصندوق الأسود يجب أن يكون التركيز على اختبار/QA.
  • اختبار الصندوق الأبيض يجب أن يكون التركيز للمطورين (أيوحدة الاختبارات).
  • على غيرها من الناس الذين أجابوا على هذا السؤال على ما يبدو قد تفسر على السؤال الذي هو أكثر أهمية ، اختبار الصندوق الأبيض أو اختبار الصندوق الأسود.أنا أيضا أعتقد أن كلاهما مهم ولكن قد ترغب في التحقق من هذا IEEE المادة التي تدعي أن اختبار الصندوق الأبيض هو أكثر أهمية.

نصائح أخرى

اختبار الصندوق الأبيض يساوي وحدة برامج الاختبار.المطور أو على مستوى تطوير اختبار (مثلا ، آخر المطور) يضمن القانون وقد كتب هو يعمل بشكل صحيح وفقا مفصلة مستوى متطلبات قبل دمجها في النظام.

اختبار الصندوق الأسود يساوي اختبار التكامل.اختبار يضمن أن النظام يعمل وفقا لمتطلبات على المستوى الوظيفي.

كل اختبار النهج نفس القدر من الأهمية في رأيي.

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

الصندوق الأسود

1 يركز على وظائف النظام يركز على هيكل (البرنامج) من النظام

2 التقنيات المستخدمة هي :

· معادلة التقسيم

· الحدود-تحليل القيمة

· خطأ التخمين

· شروط السباق

· السبب والنتيجة الرسوم البيانية

· بناء الجملة الاختبار

· انتقال الدولة الاختبار

· الرسم البياني مصفوفة

اختبار يمكن أن تكون غير التقنية

يساعد على تحديد الغموض والتناقض في المواصفات الوظيفية

مربع أبيض

التقنيات المستخدمة هي:

· أساس مسار الاختبار

· تدفق الرسم البياني التدوين

· التحكم في بنية الاختبار

  1. شرط الفحص

  2. اختبار تدفق البيانات

· حلقة اختبار

  1. حلقات بسيطة

  2. حلقات متداخلة

  3. متسلسلة الحلقات

  4. غير منظم الحلقات

    اختبار يجب أن تكون التقنية

    يساعد على تحديد منطقي و الترميز القضايا.

QA ينبغي أن تركز على اختبار الصندوق الأسود.الهدف الرئيسي من سؤال وجواب هو لاختبار ما يفعله النظام (لا ملامح تلبية المتطلبات؟), لا كيف يفعل ذلك.

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

خطوة أخرى ، أعتقد developpers أيضا يجب التركيز على اختبار الصندوق الأسود.أنا أختلف مع هذا على نطاق واسع الرابطة بين وحدة اختبار و اختبار الصندوق الأبيض ولكن قد يكون مجرد سؤال المفردات/الحجم.في نطاق وحدة الاختبار ، النظام تحت الاختبار هي فئة/الأسلوب الذي عقد (من خلال التوقيع) و النقطة المهمة هو اختبار ماذا يفعل, لا كيف.وعلاوة على ذلك اختبار الصندوق الأبيض يعني تعرف كيف طريقة ملء عقده الذي يبدو incompatile مع TDD لي.

IMHO إذا SUT معقدة جدا التي تحتاج إلى القيام به اختبار الصندوق الأبيض ، فإنه عادة ما يكون الوقت من أجل إعادة بيع ديون.

"كلا" ذكر أعلاه هو الجواب واضح لكن المنظمة البحرية الدولية ، اختبار الصندوق الأبيض يذهب إلى أبعد من المطور وحدة اختبار (althoughI أعتقد أنه يمكن أن يعتمد على أين نرسم الخط الفاصل بين الأبيض والأسود).على سبيل المثال ، مدونة التغطية تحليل مشترك مربع أبيض النهج - أيتشغيل بعض السيناريوهات أو الاختبارات ، ودراسة النتائج تبحث عن ثقوب في الاختبار.حتى لو وحدة اختبارات 100% cc, قياس cc على سيناريوهات المستخدم يمكن أن تكشف عن التعليمات البرمجية التي من المحتمل أن تحتاج إلى المزيد من الاختبار.

مكان آخر اختبار الصندوق الأبيض يساعد على دراسة أنواع البيانات ، والثوابت وغيرها من المعلومات للبحث عن حدود القيم الخاصة ، إلخ.على سبيل المثال ، إذا كان تطبيق يحتوي على المدخلات التي تأخذ المدخلات الرقمية, bb فقط النهج يمكن أن تتطلب اختبار "تخمين" ما القيم سيكون من الجيد للاختبار ، في حين أن البنك الدولي النهج قد تكشف عن أن جميع القيم بين 1-256 تعامل طريقة واحدة ، في حين أن أكبر القيم تعامل طريقة أخرى...وربما عدد 42 زال آخر رمز المسار.

لذا للإجابة على السؤال الأصلي - كل bb و wb ضرورية الاختبارات الجيدة.

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

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

هذا لا يعني أن اختبار يجب أن تبقى في الظلام حول كيفية عمل النظام, فقط أنا أفضل منهم التركيز أكثر على المشكلة المجال وكيف الفعلية للمستخدمين التفاعل مع النظام ، ليس ما إذا كانت وظيفة SomeMethod(int x) بشكل صحيح سوف رمي استثناء إذا x = 5.

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

ما هو أسوأ من ذلك ؟

  1. البرامج التي تفعل ما يتعين عليها القيام به ، ولكن داخليا لديه مشاكل ؟

  2. البرمجيات التي من المفترض أن تعمل إذا كنت تبحث في المصادر ، ولكن لا ؟

جوابي:ولا هو مقبول تماما ، ولكن البرنامج لا يمكن أن يثبت أن تكون 100% bugfree.لذلك عليك أن تجعل بعض المقايضات.الخيار الثاني هو أكثر مباشرة ملحوظة للعملاء ، حتى أنك سوف تحصل مشاكل مع هذا عاجلا.على المدى الطويل, خيار واحد هو الذهاب الى تكون إشكالية.

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

اختبار الصندوق الأسود وtecniques هي:1.Equivalance القسم 2.حدود تحليل القيمة 3.الجدول القرار 4.انتقال الدولة البياني 4.في حالة استخدام الرسم البياني

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

مربع أبيض تقنيات الاختبار:1.بيان التغطية 2.قرار التغطية 3.فرع التغطية 4.مسار التغطية.

  • عادة أبيض مربع اختبار لا يمكن اختبار.وهكذا الوحيد الإجابة على اختبار هو التأكيد على الصندوق الأسود النهج.

  • ومع ذلك, مع الجانب المنحى البرمجة و التصميم عن طريق عقد المنهجية عند اختبار الأهداف المبرمجة في الهدف قانون عقود (من ساكنة عرض البرنامج) ، و/أو اختبار المنطق الزمني هو المبرمج في الكود كما عبر التخفيضات (ديناميكية ضوء اختبار المنطق), أبيض-اختبار الصندوق سوف تصبح ليس فقط ممكن ولكن أيضا يفضل تأخذ اختبار.بالنظر إلى أن قال: فإنه سيكون في حاجة تكون الخبرة المتطلبة خذ اختبار تحتاج إلى أن تكون جيدة ليس فقط اختبار ، ولكن أيضا جيدة المبرمجين أو أكثر من جيدة المبرمجين.

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

ما يشكل "داخلي المعرفة؟" لا مع العلم أن هذا تم استخدام خوارزمية لحل مشكلة التأهل أو لا تستر يجب أن نرى كل سطر من التعليمات البرمجية من أجل أن يكون "الداخلية؟"

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

  • *اختبار الصندوق الأسود:هو اختبار في مستوى النظام للتحقق من وظائف النظام ، للتأكد من أن النظام يقوم بجميع المهام التي كانت مصممة ، أساسا للكشف عن العيوب التي وجدت في نظر المستخدم.فمن الأفضل استئجار المهنية اختبار الصندوق الأسود الخاص بك نظام ، 'كوز المطور عادة الاختبارات مع منظور رموز كان قد كتب جيدة وتلبي الاحتياجات الوظيفية من العملاء حتى انه يمكن أن تفوت الكثير من الأشياء (أنا لا أقصد الإساءة إلى أي شخص)
  • Whitebox هو أول اختبار أن يتم ذلك في SDLC.هذا هو كشف الأخطاء مثل أخطاء وقت التشغيل و تجميع errrors ويمكن أن يتم ذلك إما عن طريق اختبار أو من قبل المطور نفسه ، ولكن أعتقد أنه من الأفضل دائما أن الشخص الذي كتب كود الاختبارات.وهو يدرك أكثر من أي شخص آخر.*

هنا هو بلدي 5 سنت:

كما مطوري أنا في الغالب كتابة اختبارات الطرق (في الصف) كما مربع أبيض اختبارات بسيطة لأنني لا أريد بلدي اختبار لكسر فقط لأنني التغيير الداخلي يعمل من قانون بلدي.

أريد فقط أن الاختبارات لكسر لو لي طريقة تغيير السلوك (مثلا ، بإرجاع نتائج مختلفة من قبل).

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

أعتقد أن جعل فصل رمز (أيضا عند رمز الاختبارات) هو ممارسة جيدة جدا.

آخر 5 سنت:أنا بالكاد تستخدم أبدا الاستهزاء أطر لأنه عندما أجد أنه بالضرورة أن يسخر شيء أنا أفضل أن فصل قانون بلدي بدلا من ذلك - و نعم في كثير من الحالات التي من الممكن جدا (لا سيما إذا كنت لا تعمل في التعليمات البرمجية القديمة) :-)

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

*الأبيض-اختبار الصندوق:إذا كانت التعليمات البرمجية المصدر من النظام تحت الاختبار متاح ثم اختبار البيانات تعتمد على هيكل هذه التعليمات البرمجية المصدر.-أمثلة الأبيض-اختبار الصندوق هي:مسار اختبار تدفق بيانات الاختبار.

بسيطة...الاسود اختبار والمعروف باسم اختبار التكامل أو الدخان-شاشة الاختبار .هذا هو الغالب تطبيقها في بيئة موزعة التي تعتمد على الحدث يحركها العمارة.يمكنك اختبار الخدمة على أساس آخر الخدمة لمعرفة جميع السيناريوهات المحتملة.هنا لا يمكنك تماما توقعات جميع النواتج الممكنة لأن كل مكون من SOA/المؤسسة التطبيق المفترض أن تعمل بشكل مستقل.هذا يمكن أن يشار إلى ارتفاع مستوى الاختبار

في حين

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

أنا فقط اتفق جزئيا مع أعلى تصنيف الإجابة عن هذا السؤال.أي نوع من الاختبار تقول ينبغي أن يكون التركيز (على اختبار/قاص) ، لماذا ؟

  1. أوافق على أن:"اختبار الصندوق الأسود يجب أن يكون التركيز على اختبار/QA."
  2. أوافق على أن اختبار الصندوق الأبيض يجب أن يكون التركيز على المطورين, ولكن أنا لا أوافق على أن اختبار الصندوق الأبيض هو مجرد وحدة اختبارات.

أنا أتفق مع التعريف هنا التي تنص على أن اختبار الصندوق الأبيض الأسلوب هو المعمول به إلى المستويات التالية من اختبار البرمجيات:

  • اختبار وحدة:اختبار مسارات داخل الوحدة
  • اختبار التكامل:اختبار المسارات بين الوحدات
  • اختبار النظام:لاختبار طرق بين النظم الفرعية
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top