![]() | TDD(Test-Driven Development) تکنیکی برای develop کردن نرم افزارها می باشد. در این روش ابتدا مورد تست(test case) ها نوشته می شوند و سپس با توجه به این تستها کد عملیاتی پیاده سازی می شود و در نهایت برای رسیدن به نتیجه مطلوب عمل refactoring روی نرم افزار صورت می گیرد. |
برای اجرای TDD نیاز به automated test unit می باشد. در واقع توسط آن تستها قبل از کد پیاده سازی می شود و هر تست true یا false بر می گرداند. این تست ها با تغییر کد و refactor شدن آن واکنش مناسبی نشان می دهند. xUnit یک چارچوب تستی مناسب برای ساخت و اجرای automated test unit ها به حساب می آیند. مثلا در تست زبان .NET از NUnit و در تست زبان JAVA از JUnit استفاده می شود.
چرخه ی TDD به صورت زیر می باشد:
1- اضافه کردن تست: در TDD هر بخش با نوشتن تست آغاز می شود. این تست باید رد شود زیرا هنوز پیاده سازی برایش نوشته نشده. برای نوشتن تست باید آگاهی کافی نسبت به نیازمندی ها داشته باشیم.
2- همه ی تست ها را اجرا کرده و چک کنیم که آیا تست جدید رد می شود؟ این بخش چک می کند که تستها به درستی عمل میکنند یا خیر و اینکه جدید بدون وجود کد اشتباها پذیرفته نشود.
3- نوشتن کد: حال یکسری کد می نویسیم به طوری که تست آن را بپذیرد. البته کد در این بخش چندان مرتب و تمیز نیست ولی در مراحل بعد باید آن را درست کرد.
4- اجرای تستها و پذیرفته شدن تمامی آنان: اگر همه ی مورد تستها پذیرفته شوند آنگاه می توان اطمینان یافت که کد همه ی نیازمندی ها را در بر دارد.
5- Refactoring کد: در این قسمت کد را مرتب می کنیم.مهمترین کار در اینجا حذف موارد تکراری است.
با شروع تست جدید چرخه دوباره انجام می شود. اندازه ی هر مرحله با توجه به خواسته ی developer متغییر می باشد.