تست نویسی یا تکرار کدها؟؟؟

سلام.
اخیرا با موضوعی مواجه شدم به نام تست نویسی.

تو برخی سایت ها خیلی تاکید دارن که برای همه اجزای برنامه تست بنویسیم. اما به نظر من این کار فقط تکرار کد هست و دیگر هیچ!

برای مثال داک خود جنگو https://docs.djangoproject.com/en/2.2/intro/tutorial05/

تو این لینک، اومده واسه نشون ندادن پست های آینده تست نوشته! خب این کار وقت تلف کردن نیست؟

2 پسندیده

جواب کوتاه اینه که؛ خیر اصلا تکرار کدها نیست و اصلا وقت تلف کردن هم نیست، پس حتما انجامش بدین، در ضمن تکرار کد چه ربطی به‌تست نویسی داره؟.
پاسخ کامل اینه که:
به زودی اگر وقت شد میگم و امیدوارم دوستان قبل از من کمک کنند

4 پسندیده

اینجا قبلا بحث درباره تست نوشتن شده حتی اگر
تست بعد کد بنویسید بازهم خیلی فایده داره
تست خوب وقت تلف نمیکنه چون هر دفعه نباید سیستم خودتون تست کنید تا
مطمئن باشید کد جدید قسمتی از کد و خراب نکرده
با تست‌های خوب راحت تر میتونید کد را بهتر کنید

6 پسندیده

اساتید هستند خدمت شما راهنمایی می کنند ولی یک نکته ای تجربی خدمتتون بگم. وقتی تست می نویسید دست شما در تست سیستم هر لحظه بازه فکر کنید تغییرات زیادی روی سیستم دادید و ممکن از فکر شما خارج شده باشه کجا هارو باید تست کنید فقط مثلا یک جا که مدنظر بوده رو دستی تست کردید با یک مثلا کامند ساده تست مثلا در الکسیر mix test در چند ثانیه کل برنامه رو تست می کنید مخصوصا وابستگی بخش تغییر داده شده بسیار زیاد بوده باشه.

وقتی تست می نویسیید حتی بعد از نوشتن کد به مشکلاتی برخورد می کنید که واقعا تا مثلا دیروز نمی دید.

اشتباه نکنید تست نویسی تازه سرعت کار رو بالا می بره من فکر می کردم سرعت کارم پایین می یاد الان تست پایه برای CRUD برنامه ای نوشتم الان هرجا سریع کپی پست می کنم و ۱۰۰ درصد مطمئن هستم جواب می ده

7 پسندیده

یه روشه توسعه به اسم Test-driven development هست که بنظر شخصی من خیلی کارایی داره . حداقل ترین کارایی این روش اینه که مطمئن میشید پروژتون طبق انتظاراتی که دارید حرکت میکنه .

4 پسندیده

من بهش میگم Test Driven Design :slight_smile:

4 پسندیده

نمیدونم چرا احساس میکنم خیلی مسخرس

تست تا خودت یک مدت ننویسی فایده شو درک نمیکنی و اینکه نتونی کدروتست کنی خودش نشون میده طراحی کد و ماژول ها یک مشکلی داره

2 پسندیده

کم لطفی میکنی دوست عزیزم شما رو به خواندن چندی از بنفیت های tdd دعوت میکنم . :grin::grin:

2 پسندیده

بعد چندین ساعت به نظرم اومد یه مطلبه کوچیکی در همین اواخر خدمتتون بگم از تست نویسی
به عنوان مثال برای اینکه از Selenium with Python توی View.py اپ جنگو استفاده کنیم ،خوب تو این مرحله شخصا از از ویژگی مفید تست نویسی استفاده میکنم و از صحت کارکرد اسکریپت مطمئن میشم
نمونه کد ابتدایی رو خدمتتون اشتراک میزارم :v: خوانا و روان :sweat_smile: @hamidb14

متن بالا رو به اشتباه رپلای کردم @samdvr

1 پسندیده

امروز تست نویسی نجاتم داد :smile:

ی تغییری تو پروژه ایجاد کردم و حدود یک پنجم پروژه خراب شد.

با یک دستور ساده کل پروژه رو توی 5 ثانیه تست کردم. واقعا لذت بردم. از همگی ممنون

2 پسندیده