دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۸
  • دی

جلسه ۱۱-۰۱ : بررسی اجمالی تست نرم افزار

  • دسته‌بندی‌ها :
جلسه ۱۱-۰۱ : بررسی اجمالی تست نرم افزار
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      عرض سلام خدمت همراهان گرامی وب سایت آموزشی پی وی لرن. با موضوع آموزش مهندسی نرم افزار (Software Engineering) در خدمتتون خواهیم بود. بررسی اجمالی تست نرم افزار رو در دو جلسه توضیح خواهیم داد.

      بررسی اجمالی تست نرم افزار

      تست نرم افزار ارزیابی نرم افزار در برابر نیازهای جمع آوری شده توسط کاربران و مشخصات سیستم است. تست در سطح فاز در چرخه عمر توسعه نرم افزار یا در سطح ماژول در کد برنامه انجام می شود. تست نرم افزار شامل اعتبارسنجی و تأیید است.

      اعتبار سنجی نرم افزار

      اعتبار سنجی (Validation) فرایند بررسی این است که آیا نرم افزار نیازهای کاربر را برآورده می کند یا خیر. در انتهای SDLC انجام می شود. اگر این نرم افزار با نیازهایی که برای آن ساخته شده مطابقت داشته باشد ، معتبر است.

      • اعتبارسنجی تضمین می کند که محصول مورد نظر مطابق با نیاز کاربر باشد.
      • اعتبارسنجی به این سؤال پاسخ می دهد – “آیا ما محصولی را تولید می کنیم که تمام نیازهای کاربر را از این نرم افزار براورده می کند؟”
      • اعتبار سنجی بر نیاز کاربر تأکید دارد.

      تأیید نرم افزار (Verification)

      Verification فرآیند تأیید در صورت برآورده ساختن نرم افزار نسبت به نیازهای تجاری است و مطابق با مشخصات و روش های مناسب تهیه شده است.

      • تأیید صحت اطمینان حاصل از تولید محصول مطابق مشخصات طراحی می باشد.
      • تأیید، به این سؤال پاسخ می دهد: “آیا ما با رعایت دقیق تمام مشخصات طراحی ، این محصول را تولید می کنیم؟”
      • تأییدها بر روی طراحی و مشخصات سیستم متمرکز شده است.

      اهداف تست عبارتند از:

      خطاها یا Errors – این ها خطای کدگذاری واقعی است که توسط توسعه دهندگان انجام شده است. علاوه بر این ، تفاوت در خروجی نرم افزار و خروجی مطلوب وجود دارد ، که به عنوان یک خطا در نظر گرفته می شود.

      فالت یا Fault – در صورت وجود ارور ، Fault رخ می دهد. یک Fault ، که به عنوان یک باگ (bug) نیز شناخته می شود ، نتیجه اروری است که می تواند باعث عدم موفقیت سیستم شود.

      Failure – گفته می شود که عدم توانایی سیستم در انجام کار مورد نظر است. Failure در صورت وجود fault در سیستم رخ می دهد.

      مقایسه ی تست دستی و تست خودکار

      تست می تواند به صورت دستی یا با استفاده از یک ابزار تست خودکار انجام شود:

      دستی – این تست بدون کمک ابزارهای تست خودکار انجام می شود. نرم افزار تستر موارد تست را برای بخش ها و سطوح مختلف کد آماده می کند ، تست ها را انجام می دهد و نتیجه را به مدیر گزارش می دهد.

      تست دستی باعث تلف شدن زمان و منابع می شود. آزمایش کننده باید تأیید کند که آیا از موارد تست صحیح استفاده شده است یا خیر. بخش عمده آزمایش شامل تست دستی است.

      خودکار – این تست یک روش آزمایشی است که با کمک ابزارهای تست خودکار انجام می شود. محدودیت های تست دستی با استفاده از ابزار تست خودکار می تواند برطرف شود.

      برای این که آیا یک صفحه وب در Internet Explorer باز می شود ، یک آزمایش نیاز داریم. این کار را می توان با آزمایش دستی به راحتی انجام داد. اما برای بررسی این که آیا وب سرور می تواند ۱ میلیون کاربر را لود کند ، آزمایش دستی غیر ممکن است.

      ابزارهای نرم افزاری و سخت افزاری وجود دارد که به آزمایشگر در انجام تست بار ، تست استرس ، تست رگرسیون (regression testing) کمک می کند.

      رویکردهای آزمایش

      آزمایشات را می توان بر اساس دو رویکرد انجام داد.

      • تست عملکرد
      • آزمایش پیاده سازی

      وقتی عملکرد بدون نگرانی از اجرای واقعی مورد آزمایش قرار می گیرد ، به عنوان آزمایش جعبه سیاه (black-box testing) شناخته می شود. از طرف دیگر به عنوان آزمایش جعبه سفید (white-box testing) شناخته می شود که در آن نه تنها عملکرد مورد آزمایش قرار می گیرد بلکه نحوه اجرای آن نیز مورد تجزیه و تحلیل قرار می گیرد.

      آزمایشات جامع بهترین روش مورد نظر برای یک آزمایش مناسب است. هر مقدار ممکن تنها در محدوده مقادیر ورودی و خروجی آزمایش شده است. اگر دامنه مقادیر زیاد باشد ، نمی توان هر سناریو را در سناریوی واقعی آزمایش کرد.

      آزمایش جعبه سیاه (Black-box testing)

      آزمایش جعبه سیاه برای آزمایش قابلیت های برنامه انجام می شود. همچنین این آزمایش “Behavioral” نامیده می شود. تستر در این حالت ، مجموعه ای از مقادیر ورودی و نتایج دلخواه را دارد. در صورت ارائه خروجی ، اگر خروجی با نتایج مورد نظر مطابقت داشته باشد ، این برنامه “خوب” آزمایش شده است، و در غیر این صورت مشکل ساز خواهد بود.

       

      بررسی اجمالی تست نرم افزار

      بررسی اجمالی تست نرم افزار

      در این روش آزمایش ، طراحی و ساختار کد برای تستر مشخص نیست و مهندسان تست و کاربران نهایی این آزمون را بر روی نرم افزار انجام می دهند.

      تکنیک های تست جعبه سیاه:

      کلاس معادل سازی – ورودی به کلاس های مشابه تقسیم می شود. اگر یک عنصر از یک کلاس آزمون را پشت سر بگذارد ، فرض بر این است که تمام کلاس پاس شده اند.

      مقادیر مرزی (Boundary) – ورودی به مقادیر انتهایی بالاتر و پایین تر تقسیم می شود. اگر این مقادیر از آزمون عبور کنند ، فرض بر این است که ممکن است تمام مقادیر موجود در بین هم عبور کنند.

      نمودار علت و معلولی (Cause-effect) – در هر دو روش قبلی ، فقط یک مقدار ورودی در یک زمان آزمایش می شود. علت (ورودی) – معلولی (خروجی) یک روش آزمایش است که در آن ترکیبات مقادیر ورودی به روش سیستماتیک آزمایش می شوند.

      تست Pair-wise – رفتار نرم افزار به پارامترهای مختلفی بستگی دارد. در آزمایش Pair-wise ، پارامترهای چندگانه برای مقادیر مختلف آن ها به صورت Pair-wise آزمایش می شوند.

      آزمایش مبتنی بر حالت – سیستم با ارائه ورودی وضعیت را تغییر می دهد. این سیستم ها بر اساس حالت و ورودی آن ها آزمایش می شوند.

      تست جعبه سفید (White-box testing)

      این کار برای آزمایش برنامه و اجرای آن به منظور بهبود کارآیی کد یا ساختار انجام شده است. همچنین به عنوان آزمایش ساختاری یا Structural شناخته می شود.

       

      بررسی اجمالی تست نرم افزار

      بررسی اجمالی تست نرم افزار

      در این روش آزمایش ، طراحی و ساختار کد برای آزمایش کننده شناخته شده است. برنامه نویسان کد این تست را بر روی کد انجام می دهند.

      در زیر چند روش آزمایش جعبه سفید آورده شده است:

      آزمایش کنترل جریان (Control-flow testing) – هدف از آزمایش کنترل جریان برای تنظیم موارد آزمایشی که کلیه اظهارات و شرایط انشعابات را در بر می گیرد، می باشد. شرایط انشعابات به دلیل درست بودن و نادرست بودن آزمایش شده اند، به طوری که می توان همه اظهارات را پوشش داد.

      آزمایش جریان داده ها – این روش آزمایش برای تأمین تمام متغیرهای داده موجود در برنامه تأکید دارد. آزمایش جریان داده ها تست می کند جایی که در آن متغیرها اعلام شده و تعریف شده اند و این که آن ها در کجا مورد استفاده قرار گرفته اند یا تغییر  کرده اند.

      ادامه ی مبحث بررسی اجمالی تست نرم افزار رو در جلسه ی آینده خواهیم داشت.

      کلام پایانی

      در این بخش از آموزش مهندسی نرم افزار به بررسی اجمالی تست نرم افزار و رویکرد های آزمایش نرم افزار پرداختیم. تست نرم افزار برای ارائه ی محصول مطلوب مورد نیاز است. در جلسه ی آینده نیز این مبحث رو ادامه خواهیم داد پس در جلسه ی آینده نیز با مبحث تست نرم افزار همراه با وب سایت پی وی لرن باشید.

      QR:  جلسه ۱۱-۰۱ : بررسی اجمالی تست نرم افزار
      به اشتراک بگذارید