سؤال

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

بالمناسبة انا حاليا ترى هو هذا:

1) التحليل:BDD

من ويكيبيديا

نتيجة وجوه المنحى تحليل وصف النظام وظيفيا المطلوب ، شكل النموذج المفاهيمي.

وذلك بعد BDD لدينا متطلبات (القصص و السيناريوهات).ولكن أنا غير متأكد حول النموذج المفاهيمي جزء.

2) تصميم:على سبيل المثال مع أدوات مثل resonsibility مدفوعة التصميم باستخدام بطاقات اتفاقية حقوق الطفل

3) كود:الترميز تصميم اختياريا استخدام اختبار (مثل ما يقولون عن TDD به خطأ ، والتي أجد أيضا مفيدة)

هل أنا مخطئ في كيف ترى هذا ؟ أنا أعاني من مشكلة في رؤية الغابة من الأشجار في هذه اللحظة.

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

المحلول

باختصار انها علاقة تحليل.

BDD هو "اختبار القبول مدفوعة التنمية" - أيمن أجل معرفة ما إذا كان النظام تحت الاختبار تتصرف كما هو متوقع لمستخدم معين قصة السيناريو.

عندما عملت مع Jbehave كنا في المستخدم مستوى القصة و لا يزال "التقليدية" TDD لمعالجة أوجه التعاون بين الكائنات الفردية و بين النظم الفرعية.

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

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

نصائح أخرى

BDD - السلوك مدفوعة التنمية

السلوك = ..في سياق..التنمية في بناء...

التنمية في هذه الحالة يشير إلي أنه قد تم الانتهاء من التحليل واحد هو تنفيذ ما هو في سياق سلوك معين.

حتى الإجابة على هذا السؤال, وأعتقد في تصميم.

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

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

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

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

BDD و TDD أكثر جدا اسم سيئ الحظ لأنه لا يغطي في الواقع ما يتم استخدامها.

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

BDD/TDD أي من 2 على ما يرام إذا كنت لا تكتب سطر من التعليمات البرمجية قبل أن يكون لديك قليلا من التعليمات البرمجية التي توضح قليلا من التعليمات البرمجية كنت على وشك أن أكتب.القيام بذلك سوف تحصل في المنطقة.
في حين لا يوجد أي دليل على أن BDD/TDD تحسين ديف السرعة (على الأرجح لن) وسوف تقلل إلى حد كبير من عدد من القضايا التي تحصل مرة أخرى بعد الإفراج عن البرمجيات التي ثبت.

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

BDD بقدر ما هو عن تصميم كما هو عن التحليل ، ولكن لا أعتقد أن هذا هو السؤال ؟ كنت تريد أن تعرف كيفية ترجمة القصص إلى مخططات معمارية المخططات ؟

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

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

آمل أن يكون هذا يجيب عن سؤالك..إذا كنت سوف تحتاج إلى توضيح قليلا لأنه braod الموضوع.باختصار BDD هو محض أداة المطور, لا للمهندسين المعماريين ، با ، ...اختبار استخدام BDD الأدوات ولكن آمل أنه ليس إلا أداة أنهم باستخدام اختبار التطبيق.

scroll top