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