توسعه آزمون محور (TDD) چیست؟
توسعه آزمون محور (TDD) چیست؟

تاریخ :1399-10-10 01:29

دسته بندی :مقالات

در این مقاله ، شما را با مفاهیم اساسی توسعه آزمون محور test driven development (TDD) آشنا می کنم. اگر شما یک توسعه دهنده نرم افزار چابک هستید ، TDD بهترین روشی است که باید در چرخه زندگی توسعه نرم افزار خود بگنجانید. یاد بگیرید که توسعه آزمون محور چیست ، جریان اساسی را بفهمید و دریابید که چگونه Unit Testها سنگ بنای TDD هستند. شما یادخواهید گرفت اینکه چرا باید در فرایندهای خود از توسعه آزمایش محور استفاده کنید.

توسعه آزمون محور چیست؟

توسعه مبتنی بر آزمون ، توسعه و آزمایش سنتی را معکوس می کند. بنابراین ، به جای اینکه ابتدا کد خود را بنویسید و سپس یک آزمون تأیید را برای تأیید قطعه کدی که نوشتید ، تنظیم کنید ، توسعه آزمون محور حکم می کند که ابتدا آزمون را بنویسید و سپس تغییرات کد را اجرا کنید تا زمانی که کد شما از آزمایشی که قبلاً نوشتید ، عبور کند. در TDD ، ابتدا Unit Test خود را می نویسید ، مشاهده می کنید که شکست می خورد و سپس تغییرات کد را تا زمان قبول شدن آزمون اجرا می کنید. وارونه به نظر می رسد ، درست است؟ اما کدی که هنگام استفاده از این روش تست تولید می کنید تمیزتر است و در طولانی مدت مستعد شکستن نیست. آزمون واحد به سادگی آزمایشی است که مثلاً یک الگوریتم ، قسمت کوچکی از منطق را در بر می گیرد. آزمون های واحد باید تعیین کننده باشند. وقتی می گویم "قطعی" منظورم این است که آزمون های واحدی هرگز نباید عوارض جانبی مانند تماس با API های خارجی را داشته باشند که داده های تصادفی یا متغیر را تحویل می دهند. در عوض ، شما می توانید از داده های ساختگی به جای داده هایی استفاده کنید که به مرور زمان ممکن است تغییر کنند. 

پنج مرحله از توسعه آزمون محور
در جریان TDD، پنج مرحله وجود دارد:

ویژگی یا درخواست اشکال را بخوانید ، درک کنید و پردازش کنید.

با نوشتن Unit Test ، این الزام را ترجمه کنید. اگرhot reloading  را تنظیم کرده باشید ، چون هنوز هیچ کدی اجرا نشده است ، Unit Test اجرا می شود و شکست می خورد.

کدی که نیاز را برآورده می کند بنویسید و اجرا کنید. همه تست ها را انجام دهید تا آنها قبول شوند اگر نه، این مرحله را تکرار کنید.

    با refactoring کد خود را تمیز کنید.

در آینده به هر کدام از مراحل TDD به صورت مجزا و کامل در یک مقاله خواهم پرداخت.

شکل زیر این مراحل و ماهیت چابک ، چرخه ای و تکراری آنها را نشان می دهد:

ارسال نظر