مهندسانی همچون متخصصین راه و ساختمان، مکانیکها و غیره در طول صدها سال بر اساس قوانین ریاضیات و فیزیک، به یکسری اصول و اصطلاحاً Best Practice دست یافتهاند که میتواند ساختههای ایشان را ایمن سازد. به طور مثال، وقتی که یک مهندس راه و ساختمان پلی میسازد، تست آن پل بدین گونه خواهد بود که ماشینی با بار سنگین از روی آن عبور میدهند و چناچه پل بدون هیچگونه لغزش و سستی پابرجا باقی بماند، این بدان معنا است که مهندسی به درستی کارش را انجام داده است.
خوشبختانه یا متأسفانه در مهندسی نرمافزار تست محصول بدین گونه نخواهد بود چرا که ماهیت مهندسی نرمافزار با گونههای دیگر مهندسی کاملاً متفاوت است. وقتی پای اطمینان حاصل کردن از خروجی کار به میان میآید، هیچوقت از یک مدیر پروژهٔ راه و ساختمان جملهای همچون «ما زمان کافی برای تست این پل نداریم» نخواهیم شنید اما متأسفانه بسیاری از مدیران پروژه در صنعت توسعهٔ نرمافزار به خاطر وجود ددلاینهای فشرده و گاهیاوقات غیرواقعی، اهمیت تست نهایی نرمافزار را نادیده گرفته و تمام تمرکزشان روی این موضوع است که پروژه هرچه سریعتر به دست مشتری برسد.
در چنین شرایطی، این وظیفهٔ دولوپرها است که تحت هیچ شرایطی زیر بار ریلیس کردن نرمافزار بدون تست کامل و جامع آن نروند. در واقع، تست نرمافزار نه تنها کافی نیست، بلکه ضروری هم هست و دولوپرهای حرفهای میتوانند با ابزارهای تستی که امروزه به بازار عرضه شدهاند و بسیاری از کارهای دولوپرها را به صورت خودکار انجام میدهند خود را از دیگر دولوپرهای غیرحرفهای متمایز سازند.