تست نرمافزار
تست نرم افزار راهکاری است برای بررسی اینکه آیا محصول نرم افزاری پیاده سازی شده با نیازهای مورد انتظار مطابقت دارد یا خیر، و اطمینان حاصل می کند که محصول نرم افزاری بدون نقص باشد.
این کار شامل اجرای نرم افزار/مولفههای سیستم با استفاده از ابزارهای دستی یا خودکار برای ارزیابی یک یا چند ویژگی مورد هدف است.
هدف از تست نرم افزار شناسایی خطاها، شکاف ها یا الزامات از دست رفته ی نیازهای واقعی است.
- تست نرم افزار چیست؟
- چرا تست نرمافزار مهم است؟
- مزایای تست نرم افزار چیست؟
- تست در مهندسی نرمافزار
- انواع تست نرمافزار
- استراتژی های تست در مهندسی نرمافزار
- تست برنامه
چرا تست نرم افزار مهم است؟
تست نرم افزار مهم است زیرا در صورت وجود هر گونه اشکال یا خطا در نرم افزار، می توان آن را به موقع شناسایی کرد و قبل از تحویل محصول موارد پیدا شده را حل نمود.
الزام انجام تست در چیست؟
- در آوریل 2015، ترمینال بلومبرگ در لندن به دلیل نقص نرم افزاری که بیش از 300000 معامله گر را در بازارهای مالی تحت تأثیر قرار داد، سقوط کرد. دولت را مجبور کرد فروش وام 3 میلیارد پوندی را به تعویق بیندازد.
- شرکت خودروسازی نیسان بیش از 1 میلیون خودرویی که وارد بازار شده بودند را به دلیل نقص نرم افزاری در آشکارسازهای حسی کیسه هوا فراخوانی کرد. دو تصادف نیز به دلیل خرابی این نرم افزار گزارش شده است.
- استارباکس مجبور شد به دلیل نقصی که در نرم افزار سیستم POS شان ایجاد شد حدود 60 درصد از فروشگاه های خود را در ایالات متحده و کانادا ببندد. در یک نقطه، فروشگاه قهوه را به صورت رایگان سرو کرد زیرا آنها قادر به پردازش تراکنش خرید نبودند.
- برخی از خرده فروشان آمازون به دلیل نقص نرم افزاری قیمت محصولشان به 1 پوند کاهش پیدا کرد و ضرر سنگینی را متقبل شدند.
- آسیب پذیری در ویندوز 10. این باگ کاربران را قادر میسازد تا از طریق نقص در سیستم win32k از sandboxهای امنیتی فرار کنند.
- در سال 2015 هواپیمای جنگنده F-35 قربانی یک باگ نرم افزاری شد که باعث شد اهداف را به درستی شناسایی نکند.
- ایرباس A300 خطوط هوایی چین در 26 آوریل 1994 به دلیل یک باگ نرم افزاری سقوط کرد و 264 بیگناه کشته شدند.
- در سال 1985، دستگاه پرتودرمانی Therac-25 کانادا به دلیل اشکال نرم افزاری دچار اختلال شد و دوزهای پرتوهای کشنده را به بیماران رساند که منجر به کشته شدن 3 نفر و مجروحیت شدید 3 نفر دیگر شد.
- در آوریل 1999، یک باگ نرم افزاری باعث شکست پرتاب ماهواره نظامی 1.2 میلیارد دلاری شد که پرهزینه ترین حادثه در تاریخ بود.
- در ماه مه 1996، یک اشکال نرم افزاری باعث شد که حساب های بانکی 823 مشتری یکی از بانک های بزرگ ایالات متحده، 920 میلیون دلار اعتبار داشته باشد.
مزایای تست نرم افزار چیست؟
- مقرون به صرفه بودن: یکی از مزایای مهم تست نرم افزار است. آزمایش به موقع هر پروژه فناوری اطلاعات به شما کمک می کند تا در دراز مدت پول خود را ذخیره کنید. در صورتی که اشکالات در مرحله اولیه تست نرم افزار شناسایی شوند، هزینه رفع آن کمتر است.
- امنیت: این آسیب پذیرترین و حساس ترین مزیت تست نرم افزار است. مردم به دنبال محصولات قابل اعتماد هستند. تست به از بین بردن زود هنگام خطرات و مشکلات کمک می کند.
- کیفیت محصول: نیاز ضروری هر محصول نرم افزاری است. تست تضمین می کند که یک محصول با کیفیت به مشتریان تحویل داده شود.
- رضایت مشتری: هدف اصلی هر محصول جلب رضایت مشتریان است. تست UI/UX بهترین تجربه کاربر را تضمین می کند.
تست در مهندسی نرمافزار
انواع تست نرمافزار
- تست عملکردی
- تست غیر عملکردی
- تعمیر و نگهداری
جدول انواع تست نرم افزار در مهندسی نرم افزار
دسته ی تست | نوع تست |
تست عملکردی | Unit Testing Integration Testing Smoke UAT ( User Acceptance Testing) Localization Globalization Interoperability
|
تست غیر عملکردی | Performance Endurance Load Volume Scalability Usability
|
تعمیر و نگهداری | Regression Maintenance |
استراتژی تست در مهندسی نرمافزار
تست برنامه
تست برنامه در تست نرم افزار روشی برای اجرای یک برنامه نرم افزاری واقعی با هدف آزمایش رفتار برنامه و یافتن خطاها است.
خلاصه مبانی تست نرم افزار:
- تعریف تست نرم افزار: تست نرم افزار به عنوان فعالیتی شناخته میشود که در آن به بررسی اینکه آیا نتایج بدست آمده با نتایج مورد انتظار مطابقت دارند یا خیر میپردازیم و همچنین اطمینان حاصل خواهیم کرد که سیستم نرم افزار عاری از نقص باشد.
- تست مهم است زیرا اشکالات نرم افزاری ممکن است پر هزینه یا حتی خطرناک باشند.
- دلایل مهم استفاده از تست نرم افزار عبارتند از: مقرون به صرفه بودن، امنیت، کیفیت محصول و رضایت مشتری.
- به طور معمول تست به سه دسته تست عملکردی، تست غیر عملکردی و تعمیر و نگهداری طبقه بندی می شود.
- استراتژی های مهم در مهندسی نرم افزار عبارتند از: تست واحد، تست یکپارچه سازی، تست اعتبار سنجی و تست سیستم.