hamed sahami
hamed sahami
خواندن ۲ دقیقه·۵ سال پیش

BDD یا توسعه رفتار محور

یکی از روش های توسعه نرم افزار ها به صورت چابک را میتوان توسعه رفتار محو یا BDD معرفی کرد که بر اصل تعامل تیم توسعه و تیم کسب و کار تاکید دارد. این رویکرد در سال 2003 توسط دن نورس "Dan North" در ارتباط با TDD تدوین و در سال 2009 با عنوان توسعه رفتار محور در لندن تکمیل شد. در ادامه بخشی از صحبت ایشان در سال 2009 به صورت نقل قول آورده شده است.

“BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.”

این رویکرد با هدف فعال سازی دو تیم توسعه و کسب و کار با هدف دستیابی سریعتر به اهداف پروژه پدید آمده است. در توسعه رفتار محور، تاکید بر شفاف سازی رفتارهای نرم افزار برای فهم درست توسط مهندسین و کارشناسان منتسب به پروژه یا نرم افزار شده است.



تفاوت توسعه آزمون محور و توسعه رفتار محور

بسیاری از افراد فکر می کنند که هر دو رویکرد اشاره شده در این بخش با یکدیگر یکسان هستند، در صورتیکه در توسعه ی آ زمون محور اساسا از unit test های آماده برای تعیین چگونگی طراحی نرم افزار تلاش میکنیم. توسعه رفتار محور میتواند یک best practice برای نوشتن بهترین آزمون ها باشد. بزرگترین تفاوت توسعه رفتار محور در نوشتن آزمون به زبان طبیعی به طوریکه افراد غیر برنامه نویس بتوانند آنها را بخوانند است. به جای توسعه توابع و عملیات، با استفاده از جملات شما خواهید گفت که کد و برنامه شما چه کاری را دقیقا انجام خواهند داد . شما درک بهتر و شفاف تری را از کاری که سیستم میخواهد انجام دهد، بدست خواهید آورد . توسعه رفتار محور برای بوجود آوردن همکاری مشتری و توسعه دهنده در تحلیل نیازمندی ها است. اگرچه این رویکرد برای بوجود آوردن تعامل کامل بین تمام افراد حاضر در توسعه نرم افزار است. به جای اینکه آزمون ها یا test هایی را تنها برای توسعه دهنده گان آماده کنیم، شما آزمون هایی را خواهید داشت که به تمام افراد بتوانند کمک کنند. توسعه رفتار محور طراحی نرم افزار به شکل جالبی تحت تاثیر قرار می دهد، در صورتی که توسعه آزمون محور به آزمایش کد های نوشته شده توجه دارد. در نتیجه می توان گفت رویکرد توسعه ی رفتار محور به جنبه ی رفتاری سیستم اشاره دارد و توسعه ی آزمون محور به پیاده سازی سیستم توجه دارد.

مزایای توسعه ی رفتار محور

به طر خلاصه می توان به چند مورد زیر به عنوان مزایای توسعه ی رفتار محور اشاره نمود.

  • همکاری و تعامل بیشتر
  • شفافیت بیشتر
  • طراحی نرم افزار با پیروی از ارزش های کسب و کار
  • استفاده از زبان عمومی
  • تامین نیاز های کاربر به شکل موثر
  • اطمینان بیشتر از سمت توسعه دهندگان با درک شفاف تر
  • هزینه کمتر



دوستان عزیز برای درک چگونگی استفاده از فریم ورک مطرح در توسعه رفتار محورِ Cucumber از لینک زیر در سایت DZONE استفاده کنید.

https://dzone.com/articles/bdd-cucumber-in-action

دوستان علاقه مند به برنامه نویسی می توانند با متصل شدن به پروفایل لینکدین بنده در ادامه راه برای کسب اطلاعات بیشتر از دنیای برنامه نویسی حرفه ای با بنده همراه باشند.

https://www.linkedin.com/in/hamed-sahami-34861153/




programmingjava
https://www.linkedin.com/in/hamedsahami/
شاید از این پست‌ها خوشتان بیاید