چرا باید برای کدهامون تست نویسی کنیم‌؟

تست نویسیاگه برنامه نویسی هستید که تا الان چند تا پروژه اجرا کردید حتما چیز هایی در مورد تست نویسی و اهمیتش چیزهایی شنیدید اما نمیدونید چرا تست نویسی مهمه ! فقط چیز هایی در مورد این که تست خوبه خیلی تو کار آدم تاثیر داره و از این جور حرف ها شنیده باشید.اما واقعا چرا یک برنامه نویس باید تست نویسی رو یاد بگیره ؟ شاید حتی با خودتون فکر کنید که این یک کار اضافه هست که فقط وقتتون رو میگیره و انجام پروژه رو به تاخیر میندازه !البته در یک صورت این حرف درسته زمانی که شما یه پروژه رو انجام میدید و دیگه هیچ وقت نیاز نیست برگردید سراغش ! در این صورت شما میتونید بدون اینکه تست بنویسید هر چه سریعتر کد هارو تموم کنید و دیگه هم سراغ کد ها نرید. اما اکثر اوقات اینجوری نیست !اما واقعا چرا من باید تست نویسی رو یاد بگیرم و انجامش بدم یعنی واقعا چیزی جز یه کار اضافه برای من داره مگه غیر اینه قراره برنامه منو تست کنه و خطاهارو بهم بگه . خب میشه این کارو به صورت دستی هم انجام داد و تست کرد.اما ... حقیقت چیز دیگه هست. در مورد اینکه چرا باید تست نویسی رو انجام بدیم ... بیاید اول ببینیم تست نویسی چی هست و چه روش هایی دارهشما میتونید به دو روش نرم افزاری رو که تولید کردید تست کنید یک روش همون روش سنتی هست که میاید و بخش های برنامه تون رو به صورت جداگانه اجرا میکنید و اگر خطایی وجود داشت اون رو برطرف می کنید اما یک روش دیگه هم وجود داره اونم استفاده از ابزار های تست برای یک تست اتوماتیک هست. توی این روش شما یک بار تست مورد نیازتون رو ایجاد میکنید و هر موقع که نیاز داشتید بهش میتونید ازش استفاده کنید. تست نویسی شامل روش دوم هست که شما یه سیستم اتوماتیک برای تست عملکرد سیستمتون ایجاد میکنید.فکر کنید شما یه پروژه بزرگ رو ایجاد کردید. یه روز نیاز میشه شما توی این پروژه یه تغییر ایجاد کنید. بعد از ایجاد تغییر چطور میخواید مطمئن بشید که کل سیستم مثل قبل داره درست و بدون خطا کارشو انجام میده . چون امکان داره تغییری که ایجاد کردید روی بخش های دیگه تاثیر بزاره. آفرین حتما شما نیاز دارید که کل سیستم رو تست کنید. خب در این صورت آیا به نظرتون راحت تره که از همون روش سنتی برای تست سیستم استفاده کنید یا از تستی که خودش به صورت خودکار این کارو براتون در کمترین زمان انجام بده ؟ قطعا دومی !تازه توی روش اتوماتیک شما مطمئن هستید که کل سیستم تست شده و خطاهارو در وجود پیدا میکنید اما اگه به صورت دستی بخواید این کارو انجام بدید مشخص نیست که همه بخش هارو تست کرده باشید و چیزی از قلم نیفته. البته اگه این رو هم بهش اضافه کنید که ممکنه زمان طولانی از اون پروژه که انجامش دادین گذشته باشه و همین باعث میشه خیلی از کدهایی که زدید به یادتون نیاد و اصلا ندونید سیستم داره چی کار میکنه ! ( خودم به شخصه کدی که امروز زدم فردا یادم نمیاد چجوری داره کار میکنه شمارو نمیدونم )یه مزیت دیگه ی تست نویسی برای زمانی هست که شما دارید یک کار تیمی انجام میدید . فکر کنید با یه گروه دارید روی یه پروژه مشترک کار میکنید. وقتی چیزی رو ایجاد میکنید یا تغییر میدید باید اطمینان حاصل کنید که پروژه همچنان به صورت صحیح و سالم داره به کار خودش ادامه میده . از اونجایی که شما خبر ندارید که کدهای همگروهی شما چجوری نوشته شده و چجوری قراره اجرا بشن تست ها میتونن بیشترین کمک رو به شما کنن تا راحت و بدون هیچ دردسر از عملکرد درست کل سیستم اطمینان حاصل کنید.دیگه چرا باید تست نویسی کنیم ؟اگه میخواید یه برنامه نویس حرفه ای باشید حتما باید دنبال این باشید که یاد بگیرید کدهاتون رو بازنویسی و بهینه کنید توی این زمان دوباره تست نویسی میتونه خیلی به کارتون بیاد. اگه شما از قبل تست هایی رو آماده کرده باشید بهتون کمک میکنه توی زمانتون صرفه جویی کنید و وقت و تمرکزتون رو بزارید توی بهبود کد ها نه خطا یابی سیستم چون با استفاده از تست هایی که آماده کردید خیلی سریع میتونید مشکلات ایجاد شده به خاطر تغییراتی که توی کداتون ایجاد کردید پیدا و رفع کنید.خب این چیزایی بود که من از فواید تست نویسی میدونستم امیدوارم که به کارتون بیاد. ----------آدرس گروه تلگرام: t.me/php_plus_gp آدرس کانال آموزشی تلگرام:‌ t.me/php_plus -------------