تست نرمافزار یکی از فازهای اصلی و گران در چرخه حیات نرمافزار محسوب میشود. رعایت اصول تست باعث کاهش هزینهها میگردد. درپست قبل بخشی از این اصول را گفتیم و ادامه این اصول عبارتند از:
۶) انجام تست توسط شخص ثالث بیطرف: برای موثر بودن بایستی تست توسط شخص ثالث بیطرف انجام شود. منظور از موثربودن این است که خطاها را با احتمال بیشتری پیدا کنیم. به دلایلی که در بخشهای بعدی ذکر میکنیم، مهندس نرمافزاری که سیستم را برنامه نویسی کرده است، بهترین کسی نیست که باید همه تستها را انجام دهد. بنابراین برنامه نویس بایستی از تستهای مختلف برنامه خود اجتناب کند.
۷) تستهای اولیه و متناوب: تست در همان ابتدای کار آغاز شده و در طول چرخه حیات نرمافزار ادامه یافته و به صورت متناوب تکرار میشود. تستهای اولیه کمک میکنند تا در مراحل اولیه از فرآیند توسعه نرمافزار، خطاها تشخیص داده شده و تصحیح آنها به سادگی انجام شود. این تستها باعث کاهش هزینه میگردند. این نکته قابل ذکر است که تکرار تست و تناوب آن در طول تولید برنامه بایستی گسترش پیدا کند.
۸) کوهی از خطاها: در پروژههای تست، خطاها توزیع نمیشوند! در جایی از برنامه که خطا کشف میشود این احتمال که خطاهای بیشتری را بتوان پیدا کرد بیشتر است. احتمال اینکه اشکالات بیشتری در قسمتی از برنامه کشف شود متناسب با تعداد اشکالات کشف شده قبلی در آن بخش از برنامه است. به عبارت دیگر هر چه در ماژولی از برنامه خطاهای بیشتری پیدا کنید، احتمال وجود خطاهای دیگر در آن ماژول بیشتر است.
۹) ازبین رفتن ردپا: در طول زمان ردپای تست از بین میرود. به عبارتی برنامه پس از مدتی در برابر تستهای تکراری مقاوم خواهد شد. اگر test case ها را فقط تکرار میکنید، آنها نمیتوانند خطاهای جدید را کشف کنند. خطاها با بروز رسانی بخشهایی از برنامه و در توابع تست نشده کشف میشوند. به منظور جلوگیری از این اثر، test case ها بایستی در طول زمان به روز رسانی کنید.
۱۰) وابستگی تست به محتوا: هیچ دو سیستمی یکسان نیستند که شما بتوانید یک تست را به یک شیوه برای هردوی آنها اجرا کنید. تعریف معیارهای ورودی، خروجی و …. بایستی برای هر برنامه با توجه به محتوای تست تعریف شود. به طور مثال تست وب سایتها بسیار متفاوت از تست سیستمهای بانکی میباشد.