آزمایشگاه آزمون و تایید نرم‌افزار دانشگاه شهید بهشتی

آزمایشگاه تخصصی با سابقه بیش از 10 سال در طراحی و اجرای انواع آزمون ‏ها بر روی سامانه‏ های نرم‏ افزاری
ارزیابی کیفیت نرم ‏افزارهای خود را به ما بسپارید

کارگاه طراحی , پیاده سازی و اجرای آزمون های کارایی آزمایشگاه آزمون و تائید نرم افزار دانشگاه شهید بهشتی در جشنواره بهکامپ 1
27 خرداد 98
مرکز همایش های بین المللی دانشگاه شهید بهشتی
برای مشاهده اطلاعات بیشتر و ثبت نام کلید کنید.

معرفی

ما که هستیم و چه میکنیم

آزمایشگاه آزمون و تأیید نرم‏افزار دانشگاه شهیدبهشتی، با هدف رشد صنعت آزمون نرم‏افزار و سایر حوزه‏های مرتبط با کیفیت نرم‏افزار در کشور، ایجاد شده است. با اتكاء به تجارب غني و با ارزش حاصل از اجراي پروژه‏هاي عملی مختلف در زمینه آزمون نرم‏افزارهای مختلف در کشور، این آزمایشگاه تخصصی در حال حاضر از لحاظ كادر تخصصي، يكي از معتبرترین آزمایشگاه‌های مهندسي در زمينه آزمون نرم‌افزار در کشور محسوب مي‌گردد، و آمادگي پذيرش و اجراي انواع پروژه‏های آزمون و کیفیت نرم‌افزار را در کشور دارا مي‌باشد. کادر تخصصی و اجرایی آزمایشگاه از بیش از 30 نفر از افراد خبره و فعال در حوزه آزمون نرم‏افزار تشکیل شده است. افراد کلیدی آزمایشگاه بالغ بر ۱۰ سال است که در زمینه آزمون و اشکالزدایی نرم‏افزار از تجربیات صنعتی و پژوهشی قابل توجه برخوردارند.
مشاهده‌ی صفحه‌ی معرفی

مشتریان

برخی مشتریان آزمایشگاه

سازمان فناوری اطلاعات ایران

مجری پروژه "ارائه چارچوب و ابزار ارزيابي کیفیت قبل از بهره‌برداري سامانه‌ هاي نرم‌ افزاري ملي و تدوین مدل مرجع ملی نرم‌افزار"، سال 1396 تا 1397

شرکت خدمات انفورماتیک

آزمون کارایی، بار، استرس، استقامت و مقیاس‌ پذیری سیستم بانکی ABIS، سال 1395 و 1396

شرکت بیمه دی

آزمون کارایی و امنیت سیستم جامع بیمه عمر، سال 1396 و 1397

سازمان امور مالیاتی کشور

مشارکت در ارزیابی کیفیت و آزمون‌ های کارکردی و غیرکارکردی (به ویژه کارایی، نگهداشت‌ پذیری، مدیریت‌ پذیری، مقیاس‌ پذیری، تعامل‌ پذیری، همروندی، دسترس‌ پذیری و مهاجرت داده) سیستم یکپارچه مالیاتی (ITS)، از سال 1390 تا 1395

نیروی انتظامی جمهوری اسلامی ایران

فاز اول ایجاد دپارتمان آزمون در معاونت فاوا، سال 1394

سازمان دامپزشکی کشور

بررسی بهبود کیفیت (به ویژه در حوزه های عملکردی و کارایی) سامانه‌های نرم‌ افزاری سازمان دامپزشکی، سال 1395 و 1396

سازمان هواشناسی کشور

مشارکت در ارزیابی کیفیت و آزمون کارکردی و غیرکارکردی (به ویژه کارایی ، بار، استرس و امنیت) سیستم‌های نرم‌ افزاری پروژه نوین‌ سازی سیستم‌ های اطلاعاتی، سال 1389

کارخانه شاهسوند

، ارزیابی کیفیت و آزمون کارکردی، کارایی، بار و امنیت سیستم ERP مورد استفاده در کارخانه شاهسوند و بیش از 10 شعبه آن در سطح کشور، سال 1388 تا 1391

شرکت راه آهن ایران

تولید و تدوین مستندات نیازمندی های نرم‌افزاری و طراحی معماری نرم افزاری حوزه رفاه و سلامت شرکت راه آهن، سال 1396 و 1397

وزارت آموزش و پرورش

مشارکت در مشاوره و نظارت بر سیستم جامع دانش آموزی، سال 1394 و 1395

سازمان دامپزشکی کشور

مشارکت در پروژه توسعه و تکمیل سامانه یکپارچه خدمات دارو و درمان، سال 1395 و 1396

سازمان دامپزشکی کشور

مشارکت در پروژه باز ساختاردهی سامانه الکترونیکی دارو و درمان و توسعه سامانه صدور مجوزهای سازمان دامپزشکی کشور، سال 1397

سازمان بنادر و دریانوردی

تدوین طرح نگهداشت و به روز رسانی برنامه کلان فناوری اطلاعات و ارتباطات، سال 1390 و 1391

سازمان فناوری اطلاعات و ارتباطات شهرداری تهران

طرح تدوین نظام جامع فناوری اطلاعات مدیریت شهری تهران (فاز اول)، سال 1394 و 1395

سازمان تامین اجتماعی

مشارکت در تدوین طرح کلان فناوری اطلاعات و ارتباطات، سال 1392 و 1393

شرکت ملی نفت ایران

مشارکت در مشاوره طرح ERP، سال 1392 و 1393

وزارت ارتباطات و فناوري اطلاعات

تدوين استانداردهاي توليد‏، ارزيابي‏، انتخاب و پياده‌سازي ERP در جمهوري اسلامي ایران، سال 1388

مرکز مطالعات و برنامه ریزی شهر تهران

طراحي مدل آموزش شهروندي به منظور بهره برداري از خدمات الكترونيكي شهرداري تهران، سال 1395

مرکز مطالعات و برنامه ریزی شهر تهران

ارائه مدل اتصال شهرداری تهران به شبکه ملی اطلاعات کشور، سال 1396

بنیاد ملی نخبگان

ارائه یک معماری مناسب برای نرم افزارهای برنامه ریزی منابع سازمانی، سال 1389

شرکت ماشین آلات هپکو

آزمون کارکردی و غیرکارکردی نرم‌افزارهای جامع و یکپارچه توسعه‌یافته برای سازمان‌های مختلف از جمله شرکت مهندسی مواد و ماشین آلات هپکو از سال ۱۳۸۰ تا ۱۳۸۷

شركت سايان كارت

طراحی، پیاده‌سازی و اجرای آزمون‌های کارایی سوئیچ بانکی سایان کارت

شرکت تجارت الکترونیک نیوار

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

خدمات آزمایشگاه

طراحی و اجرای آزمونهای عملکردی (Functional)

در انجام آزمونهای عملکردی، آزمایشگاه ابتدا به تحلیل آزمون می پردازد. در طی تحلیل آزمون، با دریافت فرآورده های نرم افزاری مختلف (شامل کد منبع برنامه، نمودارها و دیاگرامهای حاصل از تحلیل و طراحی نرم افزار مانند سند توصیف نیازمندیهای نرم افزار (SRS)، نمودار موارد کاربرد (Use Case Diagram)، نمودار فعالیت (Activity Diagram)، نمودار توالی (Sequence Diagram)، دیدهای مختلف معماری نرم افزار و حتی فرآیندهای کسب و کار)، و بر اساس معیار آزمون منتخب، نیازمندیهای آزمون استخراج می گردد. البته در کنار فعالیت مذکور، که مبتنی بر معیار آزمون است، نیازمندیهای آزمون حاصل از نظرات خبرگان نیز دریافت شده و بر اساس آنها، نیازمندیهای آزمون اولیه تکمیل و اولویت بندی می گردند.

سپس طراحی آزمون انجام می شود. در این مرحله، بر اساس نیازمندیهای آزمون استخراج شده از مرحله تحلیل آزمون، موارد آزمون (Test Cases) طراحی می شود. تمرکز این مرحله به طور خاص بر تولید داده آزمون مناسب (با هدف ارضای نیازمندیهای آزمون موردنظر) و تعیین خروجیهای مورد انتظار است. به دلیل هزینه و زمان قابل توجه هر دو مورد، تا جای ممکن سعی می شود که از ابزارهای توسعه یافته در آزمایشگاه جهت خودکارسازی تولید داده آزمون و تعیین خروجیهای موردانتظار استفاده شود.

در ادامه، فعالیت پیاده سازی آزمون انجام خواهد شد. در این مرحله، موارد آزمون طراحی شده به اسکریپتهای آزمون (Test Scripts) تبدیل می شوند. به عبارت دیگر، آزمون، خودکارسازی می شود. البته خودکارسازی آزمون به طور کامل نه امکان پذیر است و نه منطقی. تعیین اینکه تا چه حد خودکارسازی آزمون انجام شود، کاملا به تصمیم مدیر آزمون بر اساس شرایط پروژه وابسته است.

در نهایت، اجرای آزمون صورت می پذیرد. در این مرحله، محیط آزمون راه اندازی شده، اسکریپتهای آزمون اجرا شده و نتایج آزمون در قالب گزارشهای آزمون ثبت و تحلیل می شوند.

آزمون کارایی

آزمون کارایی یکی از آزمون‌های کلیدی غیرعملکردی در فرآیند آزمون نرم‌افزار است. این آزمون با بررسی، مانیتورنیگ و تحلیل کارایی یک نرم‌افزار، تلاش دارد نقاط ضعیف و تنگنا‌های نرم‌افزار را شناسایی کند. این آزمون در بر گیرنده آزمون‌هایی درباره تاثیر حجم داده، بار (Load)، فشار یا استرس (Stress)، استقامت (Soak)، مقیاس پذیری (Scalability) و آزمون‌هایی از این دست است. این آزمون در ارتباط با تعیین زمان پاسخ سیستم، توان عملیاتی، پایداری و مقیاس‌پذیری سیستم و برخی دیگر از خصوصیات غیرعملکردی سیستم نیز کاربرد دارد.

آزمایشگاه آزمون و تایید نرم‌افزار دانشگاه شهید بهشتی، خدمات آزمون در موضوع کارایی نرم‌افزار را در انواع مختلف آزمون بار، آزمون فشار، آزمون استقامت، آزمون مقیاس پذیری، آزمون حجم و پروفایلینگ و همچنین مشاوره در اجرای فرآیند توسعه مبتنی بر کارایی ارائه می‌کند.

آزمون امنیت

آزمایشگاه آزمون و تایید نرم‌افزار دانشگاه شهید بهشتی، خدمات مشاوره و آزمون در موضوع امنیت نرم‌افزار را در سطوح مختلف قبل از توسعه‌ی نرم‌افزار، در فاز تحلیل و طراحی، در فاز کدنویسی و بعد از تولید و استقرار محصول نرم‌افزاری ارائه می‌کند. در ارتباط با این آزمون، حوزه های زیر درنظر گرفته می شود:

  •        محرمانگی
  •        جامعیت محتوا
  •        قابلیت دسترس‌پذیری
  •        احراز هویت و صلاحیت کاربران
  •        انکارناپذیری عملکرد نرم‌افزار و کاربران و ...

مشاوره و نظارت بر فرآیند آزمون

علاوه بر خدمات آزمایشگاه در حوزه های مختلف تحلیل، طراحی، پیاده سازی و اجرای انواع آزمونها، خدمات آزمایشگاه به صنعت در قالب مشاوره و نظارت بر فرآیند آزمون، تاسیس دپارتمان آزمون در شرکتها، موسسات و سازمانها، افزایش قابلیت آزمون پذیری نرم افزارها، آموزش زمینه های مختلف مرتبط با آزمون، توسعه، سفارشی سازی و ارائه ابزارهای مختلف آزمون می باشد.

ارتقاء میزان آزمون پذیری نرم افزار

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

 

آزمایشگاه با هدف ارتقاء میزان آزمون پذیری نرم افزارها، موارد زیر را پوشش می دهد:


  • بررسی راههای کاهش پیچیدگی نرم افزار
  • کاهش عدم قطعیت در رفتار نرم افزار
  • کاهش وابستگیها

بررسی و اعمال نقاط کنترل و مشاهده (PCO’s) که موارد زیر را پوشش می دهد:

  • Asserts
  • Logging
     
  • Design by Contract
  • Percolation pattern


–  بررسی و اعمال یاریگرهای آزمون حالت (State Test Helpers) که شامل موارد زیر است:

  • Set state
  • Get current state
  • Logical State Invariant Functions
  • Reset
  • All actions controllable
  • All events observable

–  افزایش ساختار مناسب برنامه ها از طریق موارد زیر

حذف وابستگیهای چرخشی

افراز کلاسها و بسته ها با هدف کاهش پیچیدگی واسط های نرم افزاری
آزمون تعبیه شده

رویدادها

رویدادها و سمینارهای مرتبط

بلاگ و اخبار

مطالب و اخبار اخیر

تکنیک‌های تحلیل و طراحی تست نرم‌افز...

۱۸,دی,۱۳۹۷

تکنیک‌های طراحی آزمون ترکیبی

تکنیک طراحی آزمون ترکیبی، به منظور استخراج سیستماتیک یک زیرمجموعه معنادار و قابل مدیریت از موارد آزمون که شرایط آزمون و آیتم‌های پوشش آزمون قابل استخراج در طول آزمون را پوشش می‌دهند، مورد استفاده قرار می‌گیرد. ترکیب‌های موردعلاقه برحسب پارامترهای آیتم آزمون و مقادیری که این پارامترها می‌توانند بگیرند، تعریف می‌شوند. در مواردی که تعداد زیادی پارامتر (هر یک با تعداد زیادی مقادیر گسسته) باید در تعامل باشند، این تکنیک قادر به کاهش چشمگیر تعداد موارد آزمون موردنیاز، بدون کاهش پوشش کارکردی (Functional coverage) است.

استخراج شرایط آزمون (TD2)

پارامترهای آیتم آزمون، جنبه های خاصی از آیتم آزمون را نشان می‌دهند که برای آزمون مناسب هستند و اغلب متناظر با پارامترهای ورودی آیتم آزمون هستند؛ ولی جنبههای دیگری نیز ممکن است مورد استفاده قرار گیرند.

مثال 1- در آزمون پیکربندی، پارامترها می‌توانند فاکتورهای محیطی مختلف مانند سیستمعامل و یا مرورگر باشند.

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

مثال 2- پارامتر "روزِ هفته" که تنها می‌تواند هفت مقدار خاص را بپذیرد، یک پارامتر آیتم آزمون است که ذاتاً  تعداد مقادیر کمی را می‌پذیرد.

مثال 3- یک پارامتر که می‌تواند اعداد حقیقی (که مجموعه‌ای نامحدود از اعداد است) را بپذیرد، یک پارامتر آیتم آزمون است که محدودیت‌های کمتری دارد.

برای پارامترهای آیتم آزمون بدون محدودیت، به اعمال سایر تکنیک‌های طراحی آزمون مانند افراز هم‌ارزی یا تحلیل مقادیر مرزی، به منظور کاهش مجموعه مقادیر ممکن به یک زیرمجموعه قابل مدیریت نیاز است.

شرایط آزمون برای آزمون ترکیبی، در همه تکنیک‌های طراحی آزمون ترکیبی یکسان است؛ هر شرط آزمون باید یک پارامتر آیتم آزمون انتخاب شده (P) با پذیرفتن مقدار خاص (V) باشد که یک زوج مرتب P-V را نتیجه می‌دهد.

آزمون همه ترکیب‌ها (All combinations testing)

استخراج آیتم‌های پوش آزمون (TD3)

در آزمون همه ترکیب‌ها، آیتم‌های پوشش آزمون باید اعضای مجموعه همه ترکیب‌های یکتا از زوج‌های مرتب P-V باشند به گونه‌ای که هر پارامتر حداقل یک بار در مجموعه وجود داشته باشد.

استخراج موارد آزمون (TD4)

موارد آزمون باید به منظور آزمودن هر مورد آزمون بر روی یک ترکیب یکتا از زوج‌های مرتب P-V استخراج شوند. به منظور استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمونی که قبلا در مورد آزمونی در نظر گرفته نشده‌اند، برای در نظر گرفتن درون مورد آزمون فعلی
  2. تعیین نتیجه مورد انتظار برای مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون
  3. تکرار گام‌های 1 و 2 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

نکته- حداقل تعداد مورد آزمون موردنیاز برای برای دستیابی به 100% پوشش آزمون همه ترکیب‌ها متناظر است با حاصل‌ضرب تعداد‌های زوج‌های مرتب P-V برای هر پارامتر آیتم آزمون در هم.

آزمون زوجی (Pair-wise testing)

استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون زوجی، آیتم‌های پوشش آزمون باید زوج‌های یکتایی از  از زوج‌های P-V باشند به گونه‌ای که هر زوج P-V، برای یک پارامتر آیتم آزمون است. به جای همه ترکیب‌های ممکن پارامترها (که در آزمون همه ترکیب‌ها نیاز است)، این تکنیک همه زوج‌های ممکن از مقادیر انتخاب شده از مجموعه جامع را پوشش می‌دهد. بنابراین، به صورتی کارا آیتم‌های آزمون را با موارد آزمون کمتر آزمایش می‌کند. آزمون زوجی با نام آزمون "همه زوج‌ها" نیز شناخته می‌شود.

استخراج موارد آزمون (TD4)

با تعیین زوج‌های P-V، موارد آزمون باید به منظور آزمایش زوج‌هایی از زوج‌های P-V استخراج شوند، به گونه‌ای که هر مورد آزمون یک یا بیش از یک زوج یکتا را می‌آزماید. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند، به صورتی که هر زوج P-V، یک زوج متفاوت از مقادیر پارامترها را، که قبلا در مورد آزمونی در نظر گرفته نشده‌اند، پوشش می‌دهد.
  2. تعیین مقادیر معتبر اختیاری برای هر یک از متغیرهای ورودی دیگر که در مورد آزمون وجود دارند.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3، تا زمان آزمودن همه زوج‌های یکتا از زوج‌های P-V.

حداقل تعداد مورد آزمون موردنیاز برای دستیابی به 100% آزمون زوجی به راحتی قابل محاسبه نیست. یک مجموعه نزدیک به بهینه ممکن است قابل قبول باشد و ممکن است با یکی از سه روش زیر محاسبه شود:

  • تعیین دستی یک مجموعه نزدیک به بهینه، با استفاده از یک الگوریتم
  • استفاده از یک ابزار خودکار (پیاده‌سازی یک الگوریتم) برای تعیین یک مجموعه نزدیک به بهینه
  • استفاده از آرایه‌های متعامد (Orthogonal arrays) برای تعیین یک مجموعه نزدیک به بهینه

آزمون هر انتخاب (Each Choice Testing)

استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون هر انتخاب (آزمون تکی)، آیتم‌های پوشش آزمون باید اعضای مجموعه زوج‌های P-V باشند، به گونه‌ای که هر مقدار پارامتر حداقل یک بار در مجموعه وجود داشته باشد.

استخراج موارد آزمون (TD4)

موارد آزمون باید به منظور آزمودن زوج‌های P-V استخراج شوند، به گونه‌ای که هر مورد آزمون یک یا بیش از یک جفت P-V را، که قبلاً در مورد آزمون دیگری وجود نداشته است، می‌آزماید. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند، به صورتی که حداقل یک آیتم پوشش آزمون انتخاب شده در یک مورد آزمون قبلی وجود نداشته باشد.
  2. تعیین مقادیر معتبر اختیاری برای هر یک از متغیرهای ورودی دیگر که در مورد آزمون وجود دارند.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطر موردنیاز از پوشش آزمون.

حداقل تعداد مورد آزمون موردنیاز برای دستیابی به 100% آزمون هر انتخاب، متناظر است با تعداد بیشینه مقادیری که هر یک از پارامترهای آیتم آزمون می‌تواند داشته باشد.

 

آزمون جدول تصمیم‌ (Decision table testing)

استخراج شرایط آزمون (TD2)

آزمون جدول تصمیم، از یک مدل از ارتباطات منطقی (قوانین تصمیم‌گیری) میان شرایط (علت‌ها) و اقدامات (تاثیرات) برای آیتم آزمون، در قالب یک جدول تصمیم استفاده می‌کند که در آن:

  • هر شرط بولی، یک زوج از افراز‌های هم‌ارزی ورودی را برای آیتم آزمون تعریف می‌کند. یکی متناظر با حالت "درست" و دیگری برای حالت "نادرست".
  • هر اقدام، یک خروجی مورد انتظار یا یک ترکیب از خروجی‌ها برای آیتم آزمون است که به صورت یک مقدار بولی بیان شده است.
  • یک مجموعه از قوانین تصمیم‌گیری، ارتباطات موردنیاز میان شرایط و اقدامات را تعریف می‌کند.

شرایط آزمون باید شرایط و اقدامات باشند.

نکته- اگر شرایط، به جای داشتن فقط یک مقدار بولی، چندین مقدار بولی داشته باشند، این موضوع به یک جدول تصمیم‌گیری "extended entry" منجر خواهد شد که می‌توان توسط افراز هم‌ارزی با آن برخورد نمود.

استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون جدول تصمیم‌، هر قانون تصمیم‌گیری، که رابطه میان یک ترکیب‌ یکتای شرایط و اقدامات آیتم آزمون را تعریف می‌کند، یک آیتم پوشش آزمون در نظر گرفته می‌شود.

استخراج موارد آزمون (TD4)

موارد آزمون باید برای آزمایش قوانین تصمیم‌گیری استخراج شوند، به گونه‌ای که هر مورد آزمون، یک رابطه میان ورودی‌ها و خروجی‌ها تعریف می‌کند، و هر قانون تصمیم‌گیری متناظر با یک ترکیب یکتا از شرایط بولی است. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون از جدول تصمیم‌ جهت پیاده‌سازی به عنوان یک مورد آزمون.
  2. تعیین مقادیر ورودی برای ارضاء شرط(های) قانون(های) تصمیم‌گیری که باید توسط این مورد آزمون آزمایش شوند و تعیین مقادیر معتبر اختیاری برای سایر متغیرهای ورودی موردنیاز برای اجرای مورد آزمون.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی جدول تصمیم‌.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

ترسیم گراف علت-تاثیر (Cause-effect graphing)

استخراج شرایط آزمون (TD2)

ترسیم گراف علت-تاثیر، از یک مدل از ارتباطات منطقی (قوانین تصمیم‌گیری) میان علت‌ها (به عنوان مثال ورودی‌ها) و تاثیرات (به عنوان مثال خروجی‌ها) برای آیتم آزمون، در قالب یک گراف علت-تاثیر استفاده می‌کند، که در آن:

  • هر علت بولی، یک زوج از افراز‌های هم‌ارزی ورودی برای آیتم آزمون را تعریف می‌کند. یکی متناظر با حالت "درست" و دیگری برای حالت "نادرست".
  • هر تاثیر، یک شرط خروجی مورد انتظار یا یک ترکیب از شرایط خروجی برای آیتم آزمون است که به صورت یک مقدار بولی بیان می‌شود.

شرایط آزمون باید علت‌ها و تاثیرات باشند.

گراف علت-تاثیر، ارتباطات منطقی میان علت‌ها و تاثیرات را به صورت یک شبکه منطق بولی که توسط عملگرهای بولی وزن‌دار شده است، مدل‌سازی می‌کند، و به صورت اختیاری می‌تواند محدودیت‌های نحوی و معنایی روی ارتباطات میان علت‌ها و ارتباطات میان تاثیرات را مدل‌سازی کند.

استخراج آیتم‌های پوشش آزمون (TD3)

در ترسیم گراف علت-تاثیر، هر قانون تصمیم‌گیری که رابطه میان یک ترکیب‌ یکتا از علت‌ها و تاثیرات آیتم آزمون را تعریف می‌کند، یک آیتم پوشش آزمون در نظر گرفته می‌شود.

استخراج موارد آزمون (TD4)

موارد آزمون باید برای آزمایش آیتم‌های پوشش آزمون استخراج شوند. یک جدول تصمیم‌ متناظر ممکن است از گراف علت-تاثیر تولید شده و برای استخراج موارد آزمون استفاده شود. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون که باید در مورد آزمون فعلی پیاده‌سازی شوند.
  2. تعیین مقادیر ورودی برای آزمودن آیتم‌های پوشش آزمون که باید توسط این مورد آزمون آزمایش شوند و تعیین مقادیر معتبر اختیاری برای سایر متغیرهای ورودی موردنیاز برای اجرای مورد آزمون.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی گراف علت-تاثیر و/یا جدول تصمیم‌.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

آزمون انتقال حالت (State transition testing)

استخراج شرایط آزمون (TD2)

آزمون انتقال حالت، از یک مدل از حالت‌های ممکن (که آیتم آزمون می‌تواند در آن‌ها قرار گیرد)، انتقال‌های بین حالت‌ها، رویدادهایی که باعث انتقال‌ها می‌شوند و اقداماتی که ممکن است از نتیجه انتقال‌ها حاصل شوند، استفاده می‌کند. حالت‌های مدل باید گسسته، قابل شناسایی و محدود از نظر تعداد باشند. یک انتقال ممکن است با یک محافظ رویداد (که یک مجموعه از شرایط را تعریف می‌کند که باید در زمان وقوع رویداد مقدار درست داشته باشند تا انتقال انجام شود) محدود شده باشد. در آزمون انتقال حالت، براساس نیازمندی‌های پوشش آزمون، شرایط آزمون ممکن است همه حالت‌های مدل حالت، همه انتقال‌های مدل حالت، یا تمام مدل حالت باشد. این مدل ممکن است به صورت یک نمودار انتقال حالت یا یک جدول حالت نمایش داده شود (اگرچه ممکن است به صورت های دیگر نیز نمایش داده شود).

استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون انتقال حالت، آیتم‌های پوشش آزمون بر اساس معیارهای تکمیل آزمون انتخابی و روش طراحی آزمون تغییر خواهند کرد. معیارهای تکمیل آزمون ممکن در ادامه آورده شده‌اند، ولی به این‌ موارد محدود نمی‌شوند:

  • حالت‌ها، که در آن آیتم‌های پوشش آزمون باید به منظور فعال‌سازی پیمایش همه حالت‌ها در مدل حالت استخراج شوند.
  • انتقال‌های تکی (پوشش بدون سوئیچ)، که در آن آیتم‌های پوشش آزمون باید به منظور پوشش انتقال‌های تکی در مدل حالت استخراج شوند.
  • همه انتقال‌ها، که در آن آیتم‌های پوشش آزمون باید به منظور پوشش هم انتقال‌های معتبر و هم انتقال‌های نامعتبر (انتقال‌هایی از حالت‌ها که با رویدادهای درون مدل حالت که هیچ انتقال معتبری برای آن‌ها توصیف نشده است، آغاز شده‌اند) در نمودار حالت استخراج شوند.
  • چندین انتقال (پوشش با N سوئیچ)، که در آن آیتم‌های پوشش آزمون باید به منظور پوشش توالی‌هایی از N+1 انتقال در مدل حالت استخراج شوند.

نکته- پوشش با یک سوئیچ، یک نوع معروف از پوشش با N سوئیچ است که به آزمودن زوج‌هایی از انتقال‌ها نیاز دارد.

استخراج موارد آزمون (TD4)

موارد آزمون باید برای آزمایش آیتم‌های پوشش آزمون استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند.
  2. تعیین مقادیر ورودی برای آزمودن آیتم‌های پوشش آزمون که باید توسط این مورد آزمون آزمایش شوند.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون (نتیجه مورد انتظار ممکن است به صورت خروجی‌ها و یا حالت‌های پیمایش شده که در مدل حالت توصیف شده‌اند، تعریف شود).
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

آزمون سناریو (Scenario testing)

استخراج شرایط آزمون (TD2)

آزمون سناریو، از یک مدل از توالی‌های تعاملات میان آیتم‌های آزمون و سایر سیستم‌ها (در این زمینه، کاربران اغلب به عنوان سایر سیستم‌ها در نظر گرفته می‌شوند) با هدف آزمون جریان‌های استفاده (Usage flows) در آیتم آزمون استفاده می‌کند. شرایط آزمون باید یا یک توالی از تعاملات (به عنوان مثال یک سناریو) یا همه توالی‌های تعاملات (به عنوان مثال، همه سناریوها) باشد.

در آزمون سناریو، موارد زیر باید تعیین شوند:

  • سناریوی "اصلی" که توالی اقدامات معمول است که برای آیتم آزمون مورد انتظار می‌باشد؛ یا یک انتخاب اختیاری در زمانی که هیچ توالی از اقدامات معمولی شناخته نشده است.
  • سناریوی "جایگزین" که سناریوهای جایگزین (غیر اصلی) را، که ممکن است در آیتم آزمون در نظرگرفته شود، نمایش می‌دهد.

نکته 1- سناریوهای جایگزین می‌توانند استفاده غیرعادی، شرایط سخت یا استرس، و استثناها را شامل شود.

نکته 2- آزمون سناریو معمولا برای "آزمون پایان-به-پایان" در طول آزمون کارکردی، در طول آزمون سیستم یا آزمون پذیرش استفاده می‌شود.

یک شکل معمول از آزمون سناریو، آزمون مورد استفاده نامیده می‌شود. این آزمون از یک مدل مورد استفاده از آیتم آزمون بهره می‌برد که چگونگی تعامل آیتم آزمون با یک یا بیش از یک عامل با هدف آزمون توالی‌های تعاملات (یعنی، سناریوها) درون آیتم آزمون را توصیف می‌کند.

نکته 3- در آزمون مورد استفاده، مدل مورد استفاده باید از نوعی باشد که چگونگی اجرای اقدامات متفاوت توسط آیتم آزمون را، به عنوان یک نتیجه از محرک‌های مختلف عامل‌ها توصیف می‌کند.

نکته 4- آزمون جریان تراکنش (Transaction flow testing)، اغلب به عنوان یک نوع از آزمون سناریو در نظر گرفته می‌شود.

استخراج آیتم‌های پوشش آزمون (TD3)

آیتم‌های پوشش آزمون باید سناریوهای اصلی و جایگزین باشند (یعنی، آیتم‌های پوشش آزمون همان شرایط آزمون هستند). بنابراین در این تکنیک، به هیچ اقدام دیگری در این گام نیاز نیست.

استخراج موارد آزمون (TD4)

موارد آزمون در آزمون سناریو باید برای پوشش هر سناریو (آیتم پوشش آزمون) با حداقل یک مورد آزمون استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند.
  2. تعیین مقادیر ورودی برای آزمودن آیتم‌های پوشش آزمون که توسط این مورد آزمون آزمایش می‌شوند.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

 

آزمون تصادفی (Random testing)

استخراج شرایط آزمون (TD2)

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

مثال- انواع توزیع‌های ورودی مانند توزیع نرمال، توزیع یکنواخت و پروفایل عملیاتی.

استخراج آیتم‌های پوشش آزمون (TD3)

هیچ آیتم پوشش آزمونی برای آزمون تصادفی تعیین نشده است.

استخراج موارد آزمون (TD4)

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

  1. انتخاب یک توزیع ورودی برای انتخاب ورودی‌های آزمون
  2. تولید مقادیر تصادفی از ورودی‌های آزمون، بر اساس توزیع ورودی انتخاب شده در گام 1.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون.
  4. تکرار گام‌های 2 و 3، تا زمان کامل شدن آزمون موردنیاز.

نکته 1- آزمون موردنیاز می‌تواند به صورت تعداد آزمون‌های اجرا شده، زمان صرف شده برای آزمون، یا سایر معیارهای کامل شدن تعریف شود.

نکته 2- گام 2 معمولا به صورت خودکار انجام می‌شود.

 

مشاهده‌ی مطلب

تکنیک‌ های تحلیل و طراحی آزمون نرم...

۱۸,دی,۱۳۹۷

آزمون دستور (Statement testing)

استخراج شرایط آزمون (TD2)

یک مدل از کد منبع آیتم آزمون که دستورات را چه به صورت قابل اجرا و چه غیرقابل اجرا تعیین می‌کند، باید استخراج شود. هر دستور قابل اجرا باید یک شرط آزمون باشد.

نکته- تعیین دستورات غیرقابل اجرا می‌تواند در مرحله TD4 توسط یک ابزار خودکار انجام شود.

استخراج آیتم‌های پوشش آزمون (TD3)

هر دستور قابل اجرا باید یک آیتم پوشش آزمون (یعنی، آیتم‌های پوشش آزمون  همان شرایط آزمون هستند) باشد. بنابراین در این تکنیک، به هیچ اقدام دیگری در این گام نیاز نیست.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون، که قبلا در طول آزمون اجرا نشده‌اند، می‌رسد.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترل، با اعمال ورودی‌های متناظر بر روی مبنای آزمون.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

آزمون انشعاب (Branch testing)

استخراج شرایط آزمون (TD2)

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

یک انشعاب عبارت است از:

  • یک انتقال کنترل شرطی، از هر گره در مدل جریان کنترلی به گره‌ای دیگر
  • یک انتقال کنترل غیرشرطی صریح، از هر گره در مدل جریان کنترلی به گره‌ای دیگر
  • یک انتقال کنترل به یک نقطه ورود آیتم آزمون، در زمانی که یک آیتم آزمون بیش از یک نقطه ورود دارد.

نکته 1- انجام آزمون انشعاب به صورت کامل و با پوشش 100% همه انشعاب‌ها، به آزمون همه یالها (شامل دستورات متوالی میان یک نقطه ورود و خروج که هیچ شرطی را دربرنمی‌گیرند) در گراف جریان کنترل نیاز دارد.

نکته 2- آزمون انشعاب می‌تواند به آزمون هم انشعاب‌های شرطی و هم انشعاب‌های غیرشرطی، شامل نقاط ورود و خروج آیتم آزمون، بر اساس سطح موردنیاز از پوشش آزمون نیاز داشته باشد.

نکته 3- در آزمون انشعاب، فراخوانی متدها و توابع، به عنوان شرایط آزمون جداگانه تعیین نمی‌شوند.

استخراج آیتم‌های پوشش آزمون (TD3)

هر انشعاب از مدل جریان کنترلی باید یک آیتم پوشش آزمون (یعنی، آیتم‌های پوشش آزمون همان شرایط آزمون هستند) باشد. بنابراین در این تکنیک، به هیچ اقدام دیگری در این گام نیاز نیست.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون که قبلا در طول آزمون اجرا نشده‌اند، می‌رسد.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمودن زیرمسیر(های) جریان کنترل، با اعمال ورودی‌ها بر روی مبنای آزمون.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

نکته 1- اگر در آیتم آزمون هیچ انشعابی وجود نداشته باشد، همچنان به یک شرط آزمون، آیتم پوشش آزمون و مورد آزمون نیاز است.

نکته 2- اگر آیتم آزمون چندین نقطه ورودی داشته باشد، برای پوشش همه نقاط ورودی، به موارد آزمون کافی نیاز است.

آزمون تصمیم‌گیری (Decision testing)

استخراج شرایط آزمون (TD2)

یک مدل جریان کنترلی از آیتم آزمون، که تصمیم‌گیری‌ها را تعیین می‌کند، باید استخراج شود. تصمیم‌گیری‌ها، نقاطی از آیتم آزمون هستند که در آنجا، دو یا بیش از دو نتیجه (زیرمسیر) ممکن است توسط جریان کنترلی اخذ شود. برای انتخاب‌های ساده (به عنوان مثال، if-then-else در کد منبع)، تصمیم‌گیری در مورد زمان خروج از حلقه‌ها (به عنوان مثال، حلقه‌های while در کد منبع) و دستورات case (switch)، از تصمیم‌گیری‌های معمول استفاده می‌شود. در آزمون تصمیم‌گیری، هر تصمیم‌گیری در مدل جریان کنترلی باید یک شرط آزمون باشد.

استخراج آیتم‌های پوشش آزمون (TD3)

نتایج ممکن هر تصمیم‌گیری باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون، که قبلا در طول آزمون اجرا نشده‌اند، می‌رسد.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، با اعمال ورودی‌ها بر روی مبنای آزمون.
  4. تکرار گام‌های 1 تا 3، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

نکته- اگر هیچ تصمیم‌گیری در آیتم آزمون وجود نداشته باشد، همچنان به یک شرط آزمون، آیتم پوشش آزمون و مورد آزمون نیاز است.

آزمون شرط انشعاب  (Branch condition testing)

استخراج شرایط آزمون (TD2)

یک مدل جریان کنترلی از آیتم آزمون که تصمیم‌گیری‌ها و شرط‌های درون تصمیم‌گیری‌ها را تعیین می‌کند، باید استخراج شود. تصمیم‌گیری‌ها، نقاطی از آیتم آزمون هستند که در آنجا، دو یا بیش از دو نتیجه (زیرمسیر) ممکن است توسط جریان کنترلی اخذ شود. برای انتخاب‌های ساده (به عنوان مثال، if-then-else در کد منبع)، تصمیم‌گیری در مورد زمان خروج از حلقه‌ها (به عنوان مثال، حلقه‌های while در کد منبع) و دستورات case (switch)، از تصمیم‌گیری‌های معمول استفاده می‌شود. در آزمون تصمیم‌گیری، هر تصمیم‌گیری در مدل جریان کنترلی باید یک شرط آزمون باشد.

استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون شرط انشعاب، همه مقادیر بولی (درست/نادرست) شرط(های) درون تصمیم‌گیری‌ها باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. نتایج خروجی هر تصمیم‌گیری باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون، که قبلا در طول آزمون اجرا نشده‌اند، می‌رسد.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترل منجر می‌شوند.
  3. تعیین زیرمجموعه‌ای از ورودی‌های آزمون بدست آمده از گام 2، به منظور پوشش ترکیب‌های انتخاب شده از مقادیر بولی شرط‌های درون تصمیم‌گیری‌ها
  4. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، با اعمال ورودی‌ها بر روی مبنای آزمون.
  5. تکرار گام‌های 1 تا 4، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

نکته- اگر هیچ تصمیم‌گیری در آیتم آزمون وجود نداشته باشد، همچنان به یک شرط آزمون، آیتم پوشش آزمون و مورد آزمون نیاز است.

آزمون ترکیب شرط انشعاب  (Branch condition combination testing)

استخراج شرایط آزمون (TD2)

یک مدل جریان کنترل از آیتم آزمون، که تصمیم‌گیری‌ها و شرط‌ها را تعیین می‌کند، باید استخراج شود. در آزمون ترکیب شرط انشعاب، هر تصمیم‌گیری باید یک شرط آزمون باشد.

مثال- در کد منبع برنامه، دستور تصمیم‌گیری "if A OR B AND C then" یک شرط آزمون است که سه شرط را بوسیله عملگرهای منطقی مرتبط کرده است.

استخراج آیتم‌های پوشش آزمون (TD3)

هر ترکیب یکتای ممکن از مقادیر بولی شرط‌ها در هر تصمیم‌گیری باید به عنوان یک آیتم پوشش آزمون در نظر گرفته شود. این موضوع شامل تصمیم‌گیری‌های ساده‌ است، که در آن‌ها، ترکیب‌ها از دو خروجی بولی منفرد مربوط به یک شرط درون یک تصمیم‌گیری تشکیل می‌شوند.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون، که قبلا در طول آزمون اجرا نشده‌اند، می‌رسد.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترل منجر می‌شوند.
  3. تعیین زیرمجموعه‌ای از ورودی‌های آزمون بدست آمده از گام 2، به منظور پوشش ترکیب‌ انتخاب شده از مقادیر بولی شرط‌های درون تصمیم‌گیری‌
  4. تعیین نتیجه مورد انتظار، با اعمال ورودی‌ها بر روی مبنای آزمون.
  5. تکرار گام‌های 1 تا 4، تا زمان دستیابی به سطح موردنیاز از پوشش آزمون.

نکته- اگر هیچ تصمیم‌گیری در آیتم آزمون وجود نداشته باشد، همچنان به یک شرط آزمون، آیتم پوشش آزمون و مورد آزمون نیاز است.

آزمون پوشش تصمیم‌گیری شرط تغییریافته (MCDC)

استخراج شرایط آزمون (TD2)

یک مدل جریان کنترلی از آیتم آزمون که تصمیم‌گیری‌ها و شرط‌ها را تعیین می‌کند، باید استخراج شود. در آزمون پوشش تصمیم‌گیری شرط تغییریافته (MCDC)، هر تصمیم‌گیری باید یک شرط آزمون باشد.

مثال- در کد منبع برنامه، دستور تصمیم‌گیری "if A OR B AND C then" یک شرط آزمون است که شامل سه شرط مرتبط شده با عملگرهای منطقی می‌باشد.

استخراج آیتم‌های پوشش آزمون (TD3)

هر ترکیب ممکن یکتا از مقادیر بولی مجزا از شرط‌های درون یک بخش تصمیم‌گیری، که اجازه می‌دهد یک شرط بولی تکی به صورت مستقل خروجی آن بخش تصمیم‌گیری را تحت تاثیر قرار دهد، باید به عنوان یک آیتم پوشش آزمون در نظر گرفته شود. اینکه یک شرط به صورت مستقل خروجی یک تصمیم‌گیری را تحت تاثیر قرار می‌دهد، توسط تغییر فقط آن شرط و همزمان ثابت نگه داشتن همه شرط‌های ممکن دیگر نشان داده می‌شود.

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

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی که به یک یا بیش از یک آیتم پوشش آزمون، که قبلا در طول آزمون دیده نشده‌اند، می‌رسند.
  2. تعیین مجموعه‌ای از ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی تعیین شده منجر می‌شود.
  3. تعیین یک زیرمجموعه از ورودی‌های آزمون بدست آمده از گام 2، به منظور پوشش ترکیب‌های انتخاب شده از مقادیر بولی منحصربفرد از شرط‌های درون تصمیم‌گیری که اجازه می‌دهند یک شرط بولی تکی به صورت مستقل خروجی را تحت تاثیر قرار دهد.
  4. تعیین نتیجه مورد انتظار از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  5. تکرار گام‌های 1 تا 4 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

نکته- اگر هیچ تصمیم‌گیری در آیتم آزمون وجود نداشته باشد، همچنان به یک شرط آزمون، آیتم پوشش آزمون و یک مورد آزمون نیاز است.

آزمون جریان داده (Data flow testing)

استخراج شرایط آزمون (TD2)

در آزمون جریان داده، یک مدل از آیتم آزمون که زیرمسیرهای جریان کنترلی را در سرتاسر آیتم آزمون تعیین می‌کند، باید استخراج شود. در یک زیرمسیر، هر تعریف از یک متغیر داده شده، به استفاده(های) آتی همان متغیر مرتبط می‌شود، بدون اینکه تعریف مجددی از همان متغیر در میان مسیر آمده باشد.

"تعریف‌ها" در جایی قرار دارند که یک متغیر احتمالا یک مقدار جدید می‌گیرد (گاهی اوقات در یک تعریف، ممکن است یک متغیر همان مقدار قبلی خود را حفظ کند). یک "استفاده" عبارت است از ظاهر شدن یک متغیر، بدون گرفتن یک مقدار جدید؛ در ادامه، "استفاده" می‌تواند به عنوان "p-uses" (استفاده مسندی) یا "c-uses" (استفاده محاسباتی) تفسیر شود. یک استفاده مسندی، به استفاده از یک متغیر در تعیین خروجی یک شرط (predicate) درون یک تصمیم‌گیری مانند حلقه while، if-then-else و غیره اشاره می‌کند. یک استفاده محاسباتی زمانی اتفاق می‌افتد که یک متغیر، به عنوان ورودی محاسباتِ مربوط به تعریفِ یک متغیر یا محاسباتِ مربوط به یک خروجی استفاده می‌شود.

در آزمون جریان داده، هر زوج تعریف-استفاده برای یک متغیر در آیتم، یک شرط آزمون است.

اشکال مختلفی از آزمون جریان داده وجود دارد که همه آنها مبتنی بر شرط‌های آزمون یکسانی هستند. پنج شکل تعریف شده در این بخش عبارتند از: آزمون همه تعریف‌ها، آزمون همه استفاده‌های محاسباتی، آزمون همه استفاده‌های مسندی، آزمون همه استفاده‌ها، و آزمون همه مسیرهای تعریف-استفاده.

آزمون همه تعریف‌ها

 استخراج آیتم‌های پوشش آزمون (TD3)

زیرمسیرهای جریان کنترلی از هر تعریف متغیر به یک استفاده (استفاده مسندی یا استفاده محاسباتی) از آن تعریف باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. هر زیرمسیر به عنوان یک مسیر "تعریف-استفاده" شناخته می‌شود. در آزمون "همه تعریف‌ها"، نیاز است تا به ازای هر تعریف‌ از هر متغیر، حداقل یک زیرمسیر بدون تعریف (از متغیر موردنظر) با شروع از تعریف آن متغیر به یکی از استفاده‌های محاسباتی یا استفاده‌های مسندی خودش پوشش داده شود.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین تعریف‌هایی که قبلا در طول آزمون اجرا نشده‌اند.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی که از تعریف‌های تعیین شده بدست آمده‌اند منجر می‌شود.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

نکته- در عمل، این گام‌ها ممکن است به خودکارسازی نیاز داشته باشند.

آزمون همه استفاده‌های محاسباتی

 استخراج آیتم‌های پوشش آزمون (TD3)

زیرمسیرهای جریان کنترلی از هر تعریف متغیر به هر استفاده محاسباتی از آن تعریف باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. در آزمون "همه استفاده‌های محاسباتی"، نیاز است تا به ازای هر تعریف‌ از هر متغیر، حداقل یک زیرمسیر بدون تعریف (از متغیر موردنظر) با شروع از تعریف آن به هر یک از استفاده‌های محاسباتی خودش پوشش داده شود.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی از هر تعریف‌ متغیر به یک استفاده محاسباتی مرتبط با آن تعریف (بدون تعاریف به میان آمده) که قبلا در طول آزمون آزموده نشده است.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترل، از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

3-3-7-4- آزمون همه استفاده‌های مسندی

 استخراج آیتم‌های پوشش آزمون (TD3)

زیرمسیرهای جریان کنترلی از هر تعریف متغیر به هر استفاده مسندی از آن تعریف باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. در آزمون "همه استفاده‌های محاسباتی"، نیاز است تا به ازای هر تعریف‌ از هر متغیر، حداقل یک زیرمسیر بدون تعریف (از متغیر موردنظر) با شروع از تعریف آن به هر یک از استفاده‌های مسندی خودش پوشش داده شود.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی از هر تعریف‌ متغیر به یک استفاده مسندی مرتبط با آن تعریف (بدون تعاریف به میان آمده) که قبلا در طول آزمون آزموده نشده است.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

3-3-7-5- آزمون همه استفاده‌ها

 استخراج آیتم‌های پوشش آزمون (TD3)

زیرمسیرهای جریان کنترلی از هر تعریف متغیر به هر استفاده (هم استفاده‌های محاسباتی و هم استفاده‌های مسندی) از آن تعریف باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. در آزمون "همه استفاده‌ها"، نیاز است تا به ازای هر تعریف‌ از هر متغیر، حداقل یک زیرمسیر بدون تعریف (از متغیر موردنظر) با شروع از تعریف آن به هر یک از استفاده‌های خودش (چه استفاده محاسباتی و چه استفاده مسندی) پوشش داده شود.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی از هر تعریف‌ متغیر به یک استفاده محاسباتی یا مسندی مرتبط با آن تعریف (بدون تعاریف به میان آمده)، که قبلا در طول آزمون آزموده نشده است.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون

آزمون همه مسیرهای تعریف-استفاده

 استخراج آیتم‌های پوشش آزمون (TD3)

زیرمسیرهای جریان کنترلی از هر تعریف متغیر به هر استفاده (هم استفاده محاسباتی و هم استفاده مسندی)  از آن تعریف باید به عنوان آیتم‌های پوشش آزمون در نظر گرفته شوند. در آزمون "همه مسیرهای تعریف-استفاده"، نیاز است تا همه زیرمسیرهای از هر تعریف متغیر به هر یک از استفاده‌های آن، که قابل دستیابی است (بدون یک تعریف به میان آمده از آن متغیر)، پوشش داده شود.

نکته- آزمون همه مسیرهای تعریف-استفاده، به منظور دستیابی به 100% پوشش آیتم آزمون، به آزمون همه زیرمسیرهای بدون حلقه از یک تعریف متغیر به هر استفاده از خود آن متغیر نیاز دارد. این با آزمون همه استفاده‌ها متفاوت است که در آن به منظور دستیابی به 100% پوشش آیتم آزمون، فقط یک مسیر از هر تعریف متغیر به هر یک از استفاده‌های خودش باید آزمون شود.

استخراج موارد آزمون (TD4)

برای استخراج موارد آزمون، گام‌های زیر باید انجام شوند:

  1. تعیین زیرمسیر(های) جریان کنترلی از تعریف‌های متغیر به همه استفاده‌های محاسباتی یا استفاده‌های مسندی از آن تعریف که قبلا در طول آزمون آزموده نشده است.
  2. تعیین ورودی‌های آزمون که به آزمایش زیرمسیر(های) جریان کنترلی منجر می‌شوند.
  3. تعیین نتیجه مورد انتظار از آزمایش زیرمسیر(های) جریان کنترلی، از طریق اعمال ورودی‌های آزمون انتخاب شده بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دستیابی به سطح موردنیاز از پوشش آزمون
مشاهده‌ی مطلب

تکنیک‌ های تحلیل و طراحی آزمون نرم...

۶,آذر,۱۳۹۷

قسمت اول

افراز هم‌ ارزی (Equivalence Partitioning)

1- استخراج شرایط آزمون (TD2)

افراز هم‌ارزی، از یک مدل آیتم آزمون استفاده میکند که ورودی‌ها و خروجی‌های آیتم آزمون را به افراز‌های هم‌ارزی تقسیم می‌کند (که افراز یا کلاس‌ هم‌ارزی نیز نامیده می‌شوند)، به گونه‌ای که هر افراز هم‌ارزی، باید به عنوان یک شرط آزمون تعریف شده باشد. این افراز‌های هم‌ارزی باید از مبنا‌های آزمون استخراج شده باشند، به صورتی که هر افراز به نحوی انتخاب شود که برای همه مقادیر درون یک افراز هم‌ارزی، به صورتی قابل توجیه رفتاری یکسان در آیتم آزمون مورد انتظار باشد.

مثال – برای یک آیتم آزمون که کاراکترهای الفبایی حروف کوچک را به عنوان ورودی‌های (معتبر) انتظار دارد، بر اساس میزان سخت‌گیری موردنیاز در طول آزمون، افراز‌های هم‌ارزی ورودی‌های نامعتبر استخراج شده می‌توانند شامل افراز‌های هم‌ارزی شامل اعداد صحیح، اعداد حقیقی، حروف الفبایی بزرگ، سمبل‌ها و کاراکترهای کنترلی باشند.

نکته 1 – برای افراز‌های هم‌ارزی خروجی، قسمت‌های ورودی متناظر آنها بر اساس فرآیند تشریح شده در سند توصیف آیتم آزمون استخراج می‌شوند. سپس، ورودی‌های آزمون از افراز‌های ورودی انتخاب می‌شوند.

نکته 2- افراز‌های هم‌ارزی نامعتبر، معمولا متناظر با خروجی‌هایی هستند که صراحتاً توصیف نشده است. و چون این‌ موارد توصیف نشده‌اند، اغلب بر اساس ذهنیت و طرز تفکر فرد آزمونگر، آن‌ها در افراز‌های هم‌ارزی قرار می‌گیرند. این شکل طراحی آزمون وابسته به ذهنیت آزمون‌گر ممکن است در زمان استفاده از تکنیک‌های مبتنی بر تجربه مانند حدس خطا نیز رخ دهد.

نکته 3- تحلیل دامنه اغلب به عنوان ترکیبی از افراز هم‌ارزی و تحلیل مقادیر مرزی در نظر گرفته می‌شود.

2- استخراج آیتم‌های پوشش آزمون (TD3)

هر افراز هم‌ارزی باید به عنوان یک آیتم پوشش آزمون شناخته شود (یعنی، در افراز هم‌ارزی، شرایط آزمون و آیتم‌های پوشش آزمون، افراز‌های هم‌ارزی یکسان هستند).

3- استخراج موارد آزمون (TD4)

موارد آزمون به منظور اعمال آیتم‌های پوشش آزمون (یعنی، افراز‌های هم‌ارزی) باید استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید استفاده شوند:

  1. تصمیم‌گیری در مورد روش انتخاب ترکیب‌های آیتم‌های پوشش آزمون که باید توسط موارد آزمون اعمال شوند. دو انتخاب برای این روش وجود دارد:

الف) یک-به-یک، که در آن هر مورد آزمون برای پوشش یک افراز هم‌ارزی خاص در نظر گرفته می‌شود.

ب) کمینه، که در آن افراز‌های هم‌ارزی به گونه‌ای توسط موارد آزمون پوشش داده می‌شوند که با کمترین تعداد موارد آزمون، حداقل یک بار تمام افراز‌های هم‌ارزی پوشش داده شوند.

  1. انتخاب آیتم(های) پوشش آزمون برای مورد آزمون فعلی، بر اساس روش انتخاب شده در مرحله 1
  2. تعیین مقادیر ورودی برای اعمال آیتم‌های پوشش آزمون که باید توسط این مورد آزمون آزمایش شوند و تعیین مقادیر معتبر اختیاری برای هر متغیر ورودی که توسط مورد آزمون نیاز است.
  3. تعیین نتیجه مورد انتظار مورد آزمون، از طریق اعمال ورودی(ها) بر روی مبنای آزمون.
  4. تکرار گام‌های 2 تا 4 تا زمان دستیابی به سطح موردنیاز پوشش آزمون

 

روش درخت طبقه‌بندی (Classification Tree Method)

1- استخراج شرایط آزمون (TD2)

روش درخت طبقه‌بندی از یک مدل آیتم آزمون استفاده می‌کند که ورودی‌های آیتم آزمون را افراز می‌کند و  آنها را به صورت گرافیکی در قالب یک درخت که درخت طبقه‌بندی نامیده می‌شود، نشان می‌دهد. ورودی‌های آیتم آزمون به طبقه‌بندی‌هایی افراز می‌شوند که هر طبقه‌بندی از یک مجموعه کلاس و اغلب زیرکلاس مجزا (بدون همپوشانی) تشکیل شده است و مجموعه طبقه‌بندی‌ها کامل است (همه طبقه‌بندی‌های همه ورودی‌های مناسب با توجه به دامنه آیتم آزمون مدل شده تعیین و در نظر گرفته شده است). هر طبقه‌بندی باید یک شرط آزمون باشد. کلاس‌هایی که از تجزیه طبقه‌بندی‌ها بدست می‌آیند، ممکن است بر اساس سطح سخت‌گیری موردنیاز در آزمون، به زیرکلاس‌هایی افراز شوند. طبقه‌بندی‌ها و کلاس‌ها ممکن است بر اساس سطح موردنیاز پوشش آزمون، هم برای داده‌های ورودی معتبر و هم برای داده‌های ورودی نامعتبر در نظر گرفته شوند. ارتباط‌های سلسله‌مراتبی میان طبقه‌بندی‌ها، کلاس‌ها و زیرکلاس‌ها، به شکل یک درخت مدل می‌شوند که دامنه ورودی آیتم آزمون در ریشه آن، طبقه‌بندی‌ها به عنوان گره‌های میانی و کلاس‌ها و زیرکلاس‌ها به شکل برگ‌های آن در نظر گرفته می‌شوند.

نکته – فرآیند افراز در روش درخت طبقه‌بندی، مشابه با افراز هم‌ارزی است. تفاوت کلیدی میان آنها این است که در روش درخت طبقه‌بندی، افراز‌ها (که طبقه‌بندی‌ها و کلاس‌ها هستند) باید کاملا مجزا باشند، در صورتی که در افراز هم‌ارزی، بر اساس چگونگی اعمال تکنیک، می‌توانند همپوشانی داشته باشند. علاوه بر این، روش درخت طبقه‌بندی، شامل طراحی یک درخت طبقه‌بندی است که یک نمایش بصری (visual) از شرایط آزمون فراهم می آورد.

2- استخراج آیتم‌های پوشش آزمون (TD3)

آیتم‌های پوشش آزمون باید از طریق ترکیب کلاس‌ها با استفاده از یک روش ترکیب انتخابی استخراج شوند.

مثال- دو روش نمونه برای ترکیب کلاس‌ها در آیتم‌های پوشش آزمون عبارتند از:

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

نکته 1- روش‌های دیگر انتخاب ترکیب آیتم‌های پوشش آزمون در بخش تکنیک‌های طراحی آزمون ترکیبی تشریح شده است.

نکته 2- آیتم‌های پوشش آزمون، اغلب در یک جدول ترکیبی توضیح داده می‌شوند.

3- استخراج موارد آزمون (TD4)

موارد آزمون باید برای آزمودن آیتم‌های پوشش آزمون استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید انجام شود:

  1. براساس ترکیب‌های ساخته شده از کلاس‌ها در گام TD3، یک ترکیب برای مورد آزمون فعلی، به گونه‌ای که قبلا توسط مورد آزمون دیگری پوشش داده نشده است، انتخاب می‌شود.
  2. تعیین مقادیر ورودی برای هر یک از کلاس‌هایی که قبلا مقداری به آن تخصیص نیافته است.
  3. تعیین نتیجه مورد انتظار مورد آزمون از طریق اعمال ورودی(ها) بر روی مبنای آزمون
  4. تکرار گام‌های 1 تا 3 تا زمان دست یافتن به سطح موردنیاز از پوشش آزمون

 

روش تحلیل مقادیر مرزی

1- استخراج شرایط آزمون (TD2)

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

مثال- برای یک افراز تعریف شده به شکل اعداد صحیح 1 تا 10، دو مرز وجود دارد که مرز پایین آن 1 و مرز بالای آن 10 است و این‌ها شرایط آزمون هستند.

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

2- استخراج آیتم‌های پوشش آزمون (TD3)

برای استخراج آیتم‌های پوشش آزمون، یکی از دو روش زیر استفاده می‌شود:

  • آزمون مرزی دو مقداری
  • آزمون مرزی سه مقداری

در آزمون مرزی دو مقداری، باید دو آیتم پوشش آزمون از هر مرز (شرط آزمون) بر اساس مقادیر آن مرز و یک فاصله افزایشی خارج از مرز افراز هم‌ارزی استخراج شود. این فاصله افزایشی باید به صورت کوچک‌ترین مقدار مهم (معنادار) برای نوع داده مورد نظر تعریف شود.

در آزمون مرزی سه مقداری، باید سه آیتم پوشش آزمون از هر مرز (شرط آزمون) بر اساس مقادیر آن مرز و یک فاصله افزایشی در هر سمت از مرز افراز هم‌ارزی استخراج شود. این فاصله افزایشی باید به صورت کوچک‌ترین مقدار مهم (معنادار) برای نوع داده مورد نظر تعریف شود.

نکته 1- بعضی افراز‌ها فقط می‌توانند یک مرز شناسایی شده در مبنای آزمون داشته باشند. برای مثال، افراز عددی     "age ≥ 70 years" مرز پایین دارد، ولی مرز بالایی مشخصی ندارد. در بعضی موارد، یک مرز بوجود آمده توسط پیاده‌سازی واقعی می‌تواند به عنوان یک مقدار مرزی استفاده شود. به عنوان مثال، بزرگترین مقدار قابل قبول توسط فیلد ورودی (چنین تصمیمی باید در سندی مانند سند توصیف آزمون مستندسازی شود).

نکته 2- آزمون مرزی دومقداری معمولا در اکثر مواقع کفایت می‌کند؛ اگرچه آزمون مرزی سه مقداری ممکن است در شرایط خاص موردنیاز باشد (به عنوان مثال، در آزمون سختگیرانه (Rigorous testing) به منظور بررسی اینکه هیچ خطایی در تعیین مرزهای متغیرهای آیتم آزمون توسط آزمونگران و توسعه‌دهندگان به وجود نیامده است).

نکته 3- در هر دوی آزمون مقادیر مرزی دو مقداری و سه مقداری، قسمت‌های همجوار (قسمت‌هایی که یک مرز مشترک دارند) آیتم‌های پوشش آزمون تکراری را نتیجه می‌دهند و معمولا یکی از این مقادیر تکراری اعمال می‌شود.

3- استخراج موارد آزمون (TD4)

موارد آزمون باید برای اعمال آیتم‌های پوشش آزمون استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید انجام شود:

  1. تصمیم‌گیری در مورد روش انتخاب ترکیب‌های آیتم‌های پوشش آزمون که باید توسط موارد آزمون اعمال شوند. دو انتخاب برای این روش وجود دارد:

الف) یک-به-یک، که در آن هر مورد آزمون برای اعمال یک مقدار مرزی خاص استخراج می‌شود.

ب) کمینه، که در آن نقادیر مرزی به گونه‌ای توسط موارد آزمون پوشش داده می‌شوند که با کمترین تعداد موارد آزمون، حداقل یک بار هر مقدار مرزی پوشش داده شود.

نکته 1- در تحلیل مقادیر مرزی کمینه، هر مورد آزمون می‌تواند چندین آیتم پوشش آزمون را پوشش دهد.

نکته 2- روش‌های دیگر انتخاب ترکیب‌های آیتم‌های پوشش آزمون که باید توسط موارد آزمون اعمال شوند، در بخش تکنیک‌های طراحی آزمون ترکیبی شرح داده شده است.

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند، بر اساس روش انتخاب شده در گام 1.
  2. تعیین مقادیر معتبر اختیاری برای هر یک از متغیرهای ورودی دیگر که در مورد آزمون نیاز است و قبلا نیز در گام 2 انتخاب نشده است.
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون
  4. تکرار گام‌های 2 تا 4، تا زمان دست یافتن به سطح موردنیاز از پوشش آزمون.

 

آزمون نحوی (Syntax testing)

1- استخراج شرایط آزمون (TD2)

آزمون نحوی، از یک مدل صوری برای ورودی‌های یک آیتم آزمون، به عنوان پایه طراحی آزمون استفاده می‌کند. این مدل نحوی، به شکل تعدادی قانون نمایش داده می‌شود که هر قانون، قالب یک پارامتر ورودی را به عنوان عناصر "توالی‌هایی از"، "تکرارهایی از"، یا "انتخاب میان (Selections between)" در نحو تعریف می‌کند. این نحو ممکن است به صورت متنی یا نموداری نمایش داده شود. در آزمون نحوی، شرایط آزمون باید یک مدل کلی یا جزئی از ورودی‌های آیتم آزمون باشد.

مثال 1- Backus-Naur Form، یک فرا-زبان (Meta-language) صوری است که می‌تواند برای تعریف نحو برای یک آیتم آزمون استفاده شود.

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

2- استخراج آیتم‌های پوشش آزمون (TD3)

در آزمون نحوی، آیتم‌های پوشش آزمون بر مبنای دو هدف استخراج می‌شوند: آزمون مثبت که در آن آیتم‌های پوشش آزمون به منظور پوشش نحو صحیح به شکل‌های مختلف، و آزمون منفی که در آن آیتم‌های پوشش آزمون به منظور تجاوز عمدی از قوانین نحو استخراج می‌شوند. در آزمون مثبت، آیتم‌های پوشش آزمون باید "گزینه‌های" نحو تعریف شده باشند، در صورتی که در آزمون منفی، آیتم‌های پوشش آزمون باید "جهش‌های" نحو تعریف شده باشند.

دستورالعمل های زیر ممکن است برای استخراج "گزینه‌ها" مورد استفاده قرار گیرند:

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

مثال 1- برای پارامتر ورودی "colour = Blue | Red | Green" (که در آن | به معنای عملگر منطقی or است)، سه گزینه "Blue"، "Red" و "Green" به عنوان آیتم‌های پوشش آزمون در نظر گرفته می‌شوند.

  • هر زمان که "تکرار" توسط نحو مجاز شمرده می‌شود، حداقل دو "گزینه" برای تکرار استخراج می‌شود؛ یکی با تعداد تکرار کمینه و دیگری با تعداد تکرار بیش از کمینه.

مثال 2- برای پارامتر ورودی "letter = [A-Z | a-z]+" (که در آن "+" به معنای یک یا بیشتر است)، دو گزینه "one letter" و "more than one letter" به عنوان آیتم‌های پوشش آزمون در نظر گرفته می‌شوند.

  • هر زمان که تکرار با بیشترین تعداد تکرار مجاز شمرده می‌شود، حداقل دو "گزینه" برای تکرار استخراج می‌شود؛ یکی با تعداد تکرار بیشینه و دیگری با تعداد تکرار بیش از بیشینه.

مثال 3- برای پارامتر ورودی "letter = [A-Z | a-z]100" (که در آن "100" به معنای امکان انتخاب یک حرف تا 100 بار است)، دو گزینه "100 letters" و "more than 100 letters" به عنوان آیتم‌های پوشش آزمون در نظر گرفته می‌شوند.

دستورالعمل زیر ممکن است برای استخراج "جهش‌ها" مورد استفاده قرار گیرد:

  • برای هر ورودی، به منظور استخراج ورودی‌های نامعتبر ممکن است نحو تعریف شده دگرگون شود.
    مثال 4- برای پارامتر ورودی "colour = Blue | Red | Green"، یک "جهش" می‌تواند معرفی مقدار نامعتبر برای پارامتر، به عنوان آیتم پوشش آزمون باشد. مانند انتخاب مقدار "Yellow" که در لیست پارامتر ورودی وجود ندارد.

3- استخراج موارد آزمون (TD4)

در آزمون نحوی، موارد آزمون باید به منظور پوشش گزینه‌ها و جهش‌های انتخاب شده استخراج شوند. برای استخراج موارد آزمون، گام‌های زیر باید انجام شود:

  1. تصمیم‌گیری در مورد روش انتخاب ترکیب آیتم‌های پوشش آزمون که باید توسط موارد آزمون اعمال شوند. دو انتخاب برای این روش وجود دارد:

الف) یک-به-یک، که در آن هر مورد آزمون برای اعمال یک گزینه، تکرار و/یا جهش در نظر گرفته می‌شود.

ب) کمینه، که در آن گزینه‌ها، تکرارها و/یا جهش‌ها به گونه‌ای توسط موارد آزمون پوشش داده می‌شوند که با کمترین تعداد موارد آزمون، هر یک از گزینه‌ها، تکرارها و یا جهش‌ها حداقل یک بار پوشش داده شوند.

نکته 2- روش‌های دیگر انتخاب ترکیب‌های آیتم‌های پوشش آزمون که باید توسط موارد آزمون اعمال شوند، در بخش تکنیک‌های طراحی آزمون ترکیبی شرح داده شده است.

  1. انتخاب آیتم(های) پوشش آزمون که باید با مورد آزمون فعلی آزمایش شوند.
  2. تعیین مقادیر ورودی برای اعمال آیتم(های) پوشش آزمون که باید توسط این مورد آزمون آزمایش شوند و تعیین مقادیر معتبر اختیاری برای هر متغیر ورودی دیگر موردنیاز توسط مورد آزمون
  3. تعیین نتیجه مورد انتظار مورد آزمون، با اعمال ورودی(ها) بر روی مبنای آزمون
  4. تکرار گام‌های 2 تا 4، تا زمان اعمال همه گزینه‌ها، تکرارها و/یا جهش‌های استخراج شده

 

 

 

مشاهده‌ی مطلب
مشاهده‌ی تمام بلاگ‌ها

اعضا

اعضای آزمایشگاه آزمون و تایید نرم افزار

آموزشی

مطالب آموزشی در حوزه‌ی آزمون و تایید نرم افزار

ابزار pluralsight- Test First Devel...

۳۰,آبان,۱۳۹۵

در این دوره  از محصولات pluralsight  سبک توسعه‌ی test-first برای ساخت نرم‌افرارهای بهتر آموزش داده می‌شود. در این دوره از ارزش آزمون واحد و گردش کار red-green-refactor در طراحی و پیاده سازی نیازمندی‌های کسب وکار پرداخته شده است. ابزارهایی مانند NUnit و JetBrains Resharper برای نوشتن آزمون‌های واحد بهتر به کار گرفته شده است.

مشاهده‌ی مطلب
مشاهده‌ی تمام مطالب

منابع

لینک‌های مفید

مقالات

From Object-Z Specification to Groovy Implementation

Farzin Zaker, Hassan Haghighi and Eslam Nazemi
So far, valuable researches have been conducted on mapping object-oriented specification notations, such as Object-Z, to different object-oriented programming languages, such as C++. However, the results of selecting JVM-based programming languages for mapping have not covered most of basic Object-Z structures. In this paper, the Groovy language, a...

مشاهده ی مطلب

Structural test data generation using a memetic ant colony o...

Hossein Sharifipour , Mojtaba Shakeri, Hassan Haghighi
Test data generation is one of the key activities that has a significant impact on the efficiency and effectiveness of software testing. Since manual test data generation is quite inefficient and even impractical, automated test data generation has been realized to produce an appropriate subset of input data to carry out effective software testing...

مشاهده ی مطلب
مشاهده‌ی تمام مطالب

Empirical Evaluation of Existing Algorithms of Spectrum bas...

Jeongho Kim, Eunseok Lee
Fault localization is an essential step for debugging, even though it is still tedious and time-consuming activity. Many researchers tried to find a good way for it for decades. Many solutions proposed by them have different performance, such as correctness, code coverage, and etc. However there are few attempts to compare those solutions in an obj...

مشاهده ی مطلب

Test data regeneration: generating new test data from exist...

S. Yoo and M. Harman
Existing automated test data generation techniques tend to start from scratch, implicitly assuming that no pre-existing test data are available. However, this assumption may not always hold, and where it does not, there may be a missed opportunity; perhaps the pre-existing test cases could be used to assist the automated generation of additional te...

مشاهده ی مطلب
مشاهده‌ی تمام مطالب

گالری

گالری عکس‌های آزمایشگاه

مشاهده تمام آلبوم ها

تماس با ما

راه‌های ارتباطی آزمایشگاه