PDA

View Full Version : سوال: آیا روش TDD (توسعه آزمایش محور) همینی هست که من فهمیدم؟



Programmer 1
دوشنبه 30 خرداد 1390, 00:51 صبح
سلام ،

دوستانی که آشنایی با متد اسکرام (یکی از متد های پیاده سازی کننده تفکر Agile) دارند احتمالا در مورد روش توسعه آزمایش محور (TDD) مطالعه ای داشته اید ، من این روش رو به درستی متوجه نشدم حالا من اینجا یک مثال میزنم ببینید آیا من دارم از روش TDD استفاده میکنم یا نه؟ اگر نه لطفا روش درست رو بیان کنید :

هدف اینه که یک کادر پیغام با دو تا دکمه بله و خیر در هنگاه خارج شدن از فرم ظاهر بشه و از کاربر بپرسه "آیا مطمئن هستید که میخواهید از برنامه خارج شوید؟" ، اگر بله زد خارج بشه اگر خیر زد ، به فرم برگردیم


1- هدف و تست فعلی : آیا با فراخوانی رویداد خروج از فرم پنجره پیغام ظاهر میشه؟
خوب من می آم برای پاس کردن این تست مقداری کد مینویسم و چون فقط میخوام یک پنجره پیغام نمایش داده بشه هیچ کد اضافه ای نمی نویسم مثلا تابع MessageBox.Show رو بدون هیچ پارامتر اضافه ای قرار میدم و حتی هیچ متنی هم برای نمایش قرار نمیدم و برنامه رو Run میکنم از فرم خارج میشم میبینم پنجره پیغام ظاهر میشه پس تست پاس شد ، میرییم سراغ تست بعدی

برای تست ها زیر هم به میزان کافی کد مینویسیم تا تست ها رو پاس کنیم
2- هدف و تست فعلی : آیا در هنگام نمایش پنجره پیغام دکمه ها بله و خیر و همچنین متن مناسب نمایش داده میشه؟ (البته اینجا نمیدونم برای هر یک از این موارد لازمه یک تست جدا بنویسم؟ مثلا نمایش صحیح دکمه بله ، بعدی نمایش صحیح دکمه خیر ، بعدی نمایش صحیح متن و ... ؟ )

3- هدف و تست فعلی : آیا با زدن دکمه بله برنامه خارج میشه؟
4- هدف و تست فعلی : آیا با زدن دکمه خیر به فرم بر میگردیم؟


دوستان TDD که من فهمیدم همینه؟ لطفا راهنمایی کنید و البته روشن توضیح بدید .

درمورد ابزارهایی مثل Nunit هم توضیح بدید که روش استفادش به چه صورت هستش؟

با تشکر/.

Programmer 1
دوشنبه 30 خرداد 1390, 10:33 صبح
کسی نبود جواب بده؟

ehp_kz6597
دوشنبه 30 خرداد 1390, 12:49 عصر
سلام
این رو ببین
توسعه آزمایش محور (http://www.rasekhoon.net/Forum/ShowPost-61358.aspx)

Programmer 1
دوشنبه 30 خرداد 1390, 12:59 عصر
سلام
این رو ببین
توسعه آزمایش محور (http://www.rasekhoon.net/Forum/ShowPost-61358.aspx)

ممنونم ولی این ها رو و خیلی از موارد دیگه رو خوندم ولی باز هم توضیح مناسبی ندادند ، دوستانی که در عمل این روش رو استفاده کرند توضیح بدهند که آیا درک من از TDD درست است یا خیر؟ راهنمایی کنید مخصوصا در مورد مثال بیان شده