توسعه دهنده نرم افزار، علاقه مند به یادگیری
برنامه نویسی تست محور (TDD) - قسمت دوم یک مثال ساده
در قسمت اول درباره مفهوم برنامه نویسی تست محور، مراحل اون و مزایایی که برامون داره توضیح دادم. تو این قسمت با یک مثال ساده با این تکنیک آشنا میشیم. تو این پست هنوز درگیر کد نویسی نمیشیم اما با یک مثال ساده راجع به یه ماشین حساب سعی میکنیم تا با چرخه کار TDD آشنا بشیم.
ابتدا بیایم با مفهومی که باید تست بشه آشنا بشیم...
فرض کنید که مشتری از ما درخواست داشته تا یه نرمافزار ماشین حساب براش تولید کنیم که فقط کار جمع رو انجام بده، نه بیشتر و نه کمتر. همونطور که میدونید خیلی راه برای توسعه همچین برنامه ای وجود داره. یه سری میان ساختار کلی برنامه رو آماده میکنن، یه سری دیگه اول به طراحی رابط کاربری مشغول میشن، و خیلی روش های دیگه که ممکنه به ذهنتون برسه. ما اینجا قصد داریم تا بخش لاجیک این برنامه رو با تکنیک TDD پیاده سازی کنیم. درسته که کار پیچیده ای نیست، اما باعث میشه تا با مفاهیم TDD بهتر آشنا بشیم و قدرت اون رو بهتر درک کنیم.
خوب حالا بیایم مراحل TDD رو که توی پست قبل باهاشون آشنا شدیم توی توسعه لاجیک برنامه خودمون بکار ببریم:
۱. نوشتن تست برای امکانات مورد نظر
همونطور که گفتیم، اولین مرحله نوشتن تست هستش. نیازمندی ماشین حساب ما رو که به یاد دارید «عمل جمع». برای همین اسم متد تست خودمون رو «Add» میزاریم ( توی این مرحله لاجیک کامل برای تست متد Add رو پیاده سازی کنیم ). وقتی که برای عمل جمع متد تست مینویسیم، انتظار داریم که متد ما دو تا ورودی عددی رو به عنوان ورودی بگیره و مجموع این دو عدد رو توی خروجی برگردونه.
۲. اجرای تست و مشاهده خطا
توی این مرحله به سادگی برنامه تست اجرا شده و از اونجایی که هیچ پیاده سازی انجام نشده مطمئنا با خطا روبرو میشیم.
۳. پیاده سازی ساختار امکانات مورد نظر
توی این مرحله ما ساختار برنامه خودمون رو آماده میکنیم. ( هنوز کاری با لاجیک برنامه نداریم. ) متد Add رو با دو ورودی عددی و همچنین خروجی عددی تعریف میکنیم.
۴. اجرای تست و مشاهده خطا
دوباره تست رو اجرا میکنیم. این دفعه خطایی که دریافت میکنیم مربوط به عدم تطبیق خروجی متد و مقدار مورد انتظار ما خواهد بود.
۵. پیاده سازی لاجیک
توی این مرحله لاجیک مورد نیاز متد Add رو پیاده سازی میکنیم. این متد دو تا ورودی عددی رو گرفته و مجموع اونها رو توی خروجی بر میگردونه.
۶. مشاهده پاس شدن همه تست ها
بالاخره به بهترین بخش کار رسیدیم. جایی که تست های ما پاس شده و خطایی رو توی کنسول مشاهده نمیکنیم. حالا با اطمینان میتونیم برنامه خودمون رو به مشتری تحویل بدیم و خیالمون راحت باشه که مطمئنا برنامه به درستی کار میکنه.
به یاد داشته باشید که درصورت اعمال تغییرات نیاز داریم تا تمامی مراحل بالا رو دوباره روی برنامه اعمال کنیم.
در قسمت اول راجع به مفاهیم برنامه نویسی تست محور صحبت کردیم و توی این قسمت یک مثال ساده رو باهم بررسی کردیم، اگه تا اینجای کار از این سری مطالب خوشتون اومد میتونید تو قسمت سوم همراه با ما باشید تا این مثال رو بصورت عملی باهم پیاده سازی کنیم.
مطلبی دیگر از این انتشارات
فاکتوریل در پایتون-کد های مخملی
مطلبی دیگر از این انتشارات
آشنایی با موسس ادوبی (۲) - جان وارناک
مطلبی دیگر از این انتشارات
آموزش جامع و تصویری کار با TeamViewer در اندروید