شرکتهایی نرم افزاری در نهایت محصولی به نام نرم افزار تولید می نمایند و یا آن را توسعه می دهند. در این بازار رقابتی چه عواملی باعث میشوند که یک نرم افزار از نرم افزار مشابه دیگر متمایز و برجسته باشد؟ عوامل متعددی را میتوان نام برد که باعث این برتری و تمایز می شود اما یکی از این عوامل میتواند کیفیت محصول نهایی باشد که به بازار عرضه خواهد شد.
یکی از کارهای مهم میتواند تست نرم افزار و نحوه انجام آن باشد که در نهایت باعث افزایش کیفیت نرم افزار می شود.
تست را میتوان یکی از زیرمجموعههای مبحث کیفیت نرم افزار با نام “تضمین کیفیت” درنظر گرفت. تست نرم افزار به دنبال خطایابی و عیب یابی محصول نرم افزاری قبل از تحویل به مشتری است.
تست نرم افزار را می توان به صورتهای زیر معنا کرد:
– تلاشهایی در جهت عیب یابی و رفع آن، نه تلاش در جهت اثبات کامل صحت نرم افزار، زیرا این قضیه با ماهیت تست تفاوت دارد.
– تست نرمافزار یا آزمایش نرمافزار، تحقیق برروی کیفیت یک محصول یا سرویس نرمافزاری و ارایه اطلاعات ناشی از آن به مشتریها است. این تحقیق جستجوی نرمافزار مزبور برای یافتن خطاها را نیز دربرمیگیرد ولی به آن محدود نمیشود.
– تستها همیشه شامل سوال و جوابهایی هستند که نرمافزار را با آن امتحان میکنیم در حالی که از برنامه انتظار داریم با توجه به ورودیهایی که با استفاده از سوالات وارد میکنیم، جوابهای صحیحی را به عنوان خروجی به دست دهد.
– تست نرمافزار از وظایف توسعه دهندگان نرمافزار است و نه از وظایف تحویل گیرندگان آن.
– دایکسترا (Edsgar W.Dijkstra) در تعریف تست می گوید: تست فقط میتواند وجود خطاها را نشان دهد نه عدم وجود آنها را !