تست نویسی ، یکی از بخش های جدانشدنی ساخت نرم افزاره ، با تست نویسی ، میتونیم تا حدودی ، اشکالات نرم افزاری که ساختیمو ، قبل از انتشار در مارکت ها یا تحویل دادن پروژه ، شناسایی کنیم ، این کار اگه به شکل اصولی انجام بشه ، هم از نظر هزینه ای ، هم از نظر کارایی ، خیلی به نفعمونه ، چون دیباگ کردن نرم افزار ، وقتی پروژه تحویل داده شده و در حال اجرا هستش به مراتب هزینه و زمان بیشتری بیشتری میطلبه ، همچنین اعتبار ما به عنوان برنامه نویس خدشه دار میکنه ، حالا در ادامه همراه من باش تا بهت بگم جریان چیه اصن .
هر برنامه از چندین واحد تشکیل شده ، که هر واحد یه کار خاص انجام میده ، حالا میخوایی ببینی ، هر کدوم از این اجزا کاری که باید انجام بدن ، انجام میدن یا نه ؟؟ برای این کار از مفهوم Unit Testing استفاده میشه ، توی این مفهوم هر بخش از برنامه ما یه واحد یا Unit به حساب میاد و کد هایی نوشته میشه که اون Unit تست کنند ، وقتی که توی اون تست موفق بودیم ، به اصطلاح تستمون Pass میشه ، و ما تونستیم واحد مورد نظرمونو از نظر کارایی تست کنیم .
حالا اگر ما بیاییم و به ازای هر بخش قابل تست برنامه ، کد تست هم بنویسیم در واقع مفهوم تست نویسی به خوبی توی پروژمون انجام دادیم و یه مزیت خیلی بزرگ برای یه برنامه نویسه ، هر چند که معمولا برنامه نویس ها از تست نویسی خوششون نمیاد !!
فرض کن داری یه برنامه ماشین حساب مینویسی ، یه چیزی مثل ماشین حساب ویندوز مثلا ، خوب این آقای ماشین حساب ، جمع داره ، ضرب داره ، تقسیم داره ، تفریق داره ، هر کدوم از این موارد ، میشن یه واحد یا یدونه Unit حالا ما وقتی کار برنامه نویسی هر واحدی تموم کردیم ، باید یه کد کوچیکم بنویسیم که این واحد از نظر سلامت چک کنه ، به این کار ما میگن Unit Testing .
حالا شاید بگید خوب این چه کاریه ، خودمون تستش میکنیم دیگه ، اگه بخوایی خودت تست کنی برنامتو ، تست دستی انجام میدی ، که اگه برنامت بزرگ باشه ، گور خودتو کندی ?? حالا توی این مثال ماشین حساب برنامه شما ، برنامه کوچیکیه به خاطر همین شاید تست کردنش توسط خودتون آسون باشه ، ولی اگه برنامتون خیلی بزرگ تر باشه و بخوایید در کمترین زمان ممکن بفهمید چه اشکالاتی داره ، تا برای انتشار آمادش کنید ، اون موقع ارزش استفاده از Test ها دو چندان میشه .
اقای برنامه نویسه ، که داره ماژولار کد میزنه ، وقتی کد اصلی مینویسه ، یه کد تستم مینویسه که وظیفش اینه که صحت و سلامت اون کد اصلی تست کنه ، این کدای تستی که مینویسه ، در مرحله انتشار نرم افزار پاک میشن و فقط در مرحله توسعه نرم افزاره .
حالا این کدا کجا مینویسه ، این برنامه نویس گلمون ؟
معمولا برای تست نویسی از یک فریمورک Unit Test استفاده میشه که مثلا برای php فریمورک Php Unit استفاده میشه .
یکی از بزرگترین مزیت هایی که در استفاده از این فریمورک ها هست ، اینه که در مواقعی که یک تست شکست میخوره ، گزارش کاملی بهت میده .
تست و ارزیابی جز جدا نشدنی کار ما برنامه نویسا ، پس در هر صورت تست باید در هر زمان و هر شرایطی که ما اراده کنیم در کمترین زمان ممکن انجام بشه ، منتها اگه تست بخواد دستی انجام بشه ، مشکلات زیادی داره که گفتم بهتون ، پس بهتره تست نویسی خیلی جدی بگیریم و حتما توی پروژه هامون ازش استفاده کنیم ، با انجام این کار ، هم برنامه هایی که میسازیم ، هم خودمون ، از نظر کیفی چندین گام بزرگ به جلو حرکت میکنیم .
خب دوستان این پست هم به اتمام رسید ، اگه دوست داشتید منو توی لینکدین و ایستاگرام دنبال کنید @danial_sanaee تا دیدار بعدی فعلا خدانگهدار .