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