آزمون جامعیت

از ویکی جامع پردیس دانشگاهی دانشگاه قم
پرش به: ناوبری، جستجو
مهندسی نرم افزار2
مقاله بعدی:آزمون اعتبارسنجی
مقاله قبلی:آزمون واحد

آزمون جامعیت

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

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

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

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

جامعیت بالا به پایین

در این روش پیمانه ها با حرکت کردن به سمت پایین در امتداد سلسله مراتب کنترل که با پیمانه اصلی کنترل(برنامه اصلی) آغاز می شود با یکدیگر تلفیق میشوند.جایگزین های فرعی پیمانه ها به روش اول عمق یا اول عرض می توانند اضافه شوند.با توجه به شکل در می یابیم که در تلفیق عمقی ابتدا مسیر M1،M2 ،M5 ، M8 و بعد مسیر M1، M2 ، M6ساخته میشود اما در تلفیق عرضی ابتدا M2،M3،M4 و در مرحله بعد M5 ، M6 به جمع اضافه میشوند و ...

Talfigh.PNG

فرآیند تلفیق در مجموعه ای از 5 مرحله زیر انجام میشود:

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

این مراحل از مرحله 2 تکرار می شوند تا کل برنامه ساخته شود.

روش بالا به پایین نسبتا غیر پیچیده به نظر میرسد اما در عمل در این روش ممکن است مشکلات منطقی پدید آیند.

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

در این حالت فرد آزمون کننده میتواند یکی از 3 روش زیر را برای آزمون بکار ببرد:

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

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

جامعیت پایین به بالا

مراحل انجام کار به صورت زیر است:

  • جزءهای سطح پایین با یکدیگر ترکیب میشوند و خوشه هایی را بوجود می آورند. این خوشه ها کارکرد فرعی و خاص نرم افزاری را اجرا می کنند.
  • برنامه رابط(برنامه کنترل برای کار آزمون)برای هماهنگ کردن ورودی و خروجی موارد آزمون نوشته و تدوین می شود.
  • خوشه آزموده میشود.
  • برنامه های رابط کنار گذاشته میشوند و خوشه ها هنگام حرکت به سمت بالا در ساختار برنامه با یکدیگر ترکیب میشوند.مانند شکل زیر:
Talfigh2.PNG

آزمون رگرسیون

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

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

  • نمونه بازنمای آزمونها که تمام کارکرد های نرم افزاری را می آزماید.
  • آزمونهای اضافی که بر آن گروه از کارکرد های اضافی تاکید دارند که احتمالا تحت تاثیر تغییرات انجام شده قرار می گیرند.
  • آزمونهایی که بر جزء های نرم افزاری تغییر یافته تاکید دارند.

آزمون دود

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

آزمون دود شامل مراحل زیر است:

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

انجام آزمون دود در پروژه های پیچیده و حساس به زمان مزیتهای زیر را خواهد داشت:

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