بخشی از مقاله


" بررسی رویکرد های تست مبتنی بر مدل و ارائه روشی برای تست نرم افزار ها "

چکیده

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


واژههای کلیدی: تست نرم افزار، تست مبتنی بر مدل ، خودکار سازی تست مبتنی بر مدل، تولید موارد تست

-1 مقدمه

تست مبتنی بر مـدل (MBT) روشـی را بـرای تولیـد خودکـار مواردتست با استفاده از مدلهای اسـتخراج شـده از نـرم افـزار فراهم میآورد.[1] کیفیت نرم افزار با کاهش هزینـههـا کنتـرل میشود. یک مدل رسمی مانند: ماشین حالت محـدود، نمـودار UML، توصیف رفتار نرم افزار یا سیستم مورد نیاز است. بنا بـه گفته [1] Dalal خودکار سازی یک رویکرد MBT وابسته به 3 معیار کلیدی است: .1 مدلی کـه بـرای بیـان رفتـار نـرم افـزار استفاده میشود .2الگوریتم (معیار) تولید تست .3ابزارهایی کـه زیر ساخت پشتیبانی شده برای تستها را تولید میکند. سـایر ویژگیهای مهم سطوح تسـت MBT، سـطوح خودکارسـازی و پیچیدگی مراحل غیر خودکار بودن مـیباشـد. [5] و [6] و [7]

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

1

پشــتیبانی خودکــار، و معیــار تولیــد تســت تجزیــه و تحلیــل میشوند. این مقاله به شـرح زیـر سـازماندهی شـده اسـت، در بخش 2، برنامه ریزی، اجرا و در نتیجـه خلاصـه ای از بررسـی ادبیات را شرح میدهیم. در بخش 3 ارائه نتایج کمـی و کیفـی از تجزیه و تحلیل تعدادی مقاله را بررسی میکنـیم. در بخـش 4 دربــاره مســائل مهــم و بررســی رونــد هــای آینــده بــر روی رویکردهای خودکار سازی MBT بحث میکنـیم. در بخـش 5 به ارائه راهکار پیشنهادی میپـردازیم و در نهایـت در بخـش 6 نتیجهگیری و کارهای آینده را بررسی میکنیم.

-2 بازبینی اصولی: بررسی برنامه ریزی و اجرا

یک بازبینی اصولی روشـی بـرای تشـخیص، ارزیـابی و تفسـیر تحقیق مربـوط دربـاره سـؤال پژوهشـی خـاص اسـت. مراحـل طراحی شده برای این پیشینه شـامل :تعریـف هـدف، سـؤالات تحقیقــاتی، انتخــاب منبــع، رشــته هــای جســتجو، معیــار دربرگیرنده تحقیق، طبقه بندی و اطلاعاتی کـه از هـر رویکـرد MBTبرگرفته شده اسـت. در بخـش زیـرین مراحـل طراحـی شده را خلاصه کردهایم:


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

• سؤال تحقیق: چه چیزی توسـط رویکردهـای MBT انتشار یافته است و ویژگیهای اصلی آنها چیست؟

• منــابع: 5 کتابخانــه دیجیتــالی IEEE Xplorer)،ACM Portal، INSPEC، COMPEDEND، WEB OF (SCIENT و همچنین وب سایتها و مشروح کنفرانسها

• رشــته هــای جســتجو: ( technique approach or

( method or methodology or و (model based test) یــا (model based testing)یـا (model driven test) یـا ( model (driven testing یـــا (specification driven test) یـــا (specification driven testing) یـا (use case based test) یـا (use case based testing) یا (use case driven test) یـا ( use (case driven testing یا (UML based test)یـا ( UML based

(testing یا (UML driven test) یا (UML driven testing) یـا (requirement based test)یـا (requirement based testing) یا (requirement driven test) یـا (requirement driven test) یـا (requirement driven testing) یـا ( finite state machine (based test یـا (finite state machine based testing) یــا (finite state machine based testing) یــا ( finite state (machine driven test یـا ( finite state machine driven (testing و . software

هر یک از رویکرد های MBTدر یکی از این 5 مجموعه طبقـه بندی شدهاند:

]الف[ مدل نشان دهنده اطلاعات را از نیازمندیهای نـرم افـزار میباشد (تست عملکردی) وبا اسـتفاده از نمـودار UMLشـرح داده میشود.

]ب[ مدل نشان دهنده اطلاعات را از نیازمندیهـای نـرم افـزار میباشد (تست عملکردی) وبا استفاده از نماد غیر UMLشـرح داده میشود.

]ج[ مدل نشان دهنده اطلاعات را از ساختار داخلی نـرم افـزار میباشد (معماری، اجزا، رابطها، واحدها، تست ساخت یافته) و با استفاده از نمودار UMLشرح داده میشود.

]د[ مدل نشان دهنده اطلاعات را از ساختار داخلـی نـرم افـزار میباشد و با استفاده از نمودار غیر UMLشرح داده میشود.

]ه[ مقالاتی که در طول تحقیق جمع آوری شده است اما هـیچ ارتباطی با MBT نداشته و از این رو بیرون ریخته میشود.

از بازبینی ویژگیهای اصلی رویکردهای MBT به عنـوان مثـال مـــوارد [1] و [2] و غیــره، و گزارشـــات تجربــی صـــنعتی و آکادمیک، حدود 14 رشته (جدول (2 برای استخراج اطلاعـات از مقالات انتخابی شناسایی شدهاند.


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

-3 تجزیه و تحلیل رویکرد های MBT

بخش زیر نتایج تجزیه و تحلیل کمی و کیفی را ارائه میدهد.

-1-3 تحلیل کمی

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


3

که برای توصیف رفتار نرم افزار استفاده شده است و ابزارها و مدل میانی در این بخش مورد بررسی قرار میگیرد. این اطلاعات ممکن است سناریوهایی را ارائه دهد که در مهندسی نرم افزار به وسـیله رویکرد های مبتنی بر MBT پوشش داده نشده است.

-1-1-3 سطح تست

این بخش محدوده کاربرد رویکرد های MBT را نشان میدهد. (جدول (2


عمدتاً MBT برای تست سیستم به کار برده شـده اسـت %66)از رویکردها) چنان که MBT به طور کلی برای تست سیستم در نظر گرفته شده است. در نتیجه رویکرد های MBT برای سایر سطوح یکپارچه سازی تست (%22)، تست رگرسیون (%5)و تسـت واحـد (%10)به کار گرفته شده است. تست واحد یک سطح انتزاع معمول برای MBT نیست. هدف از تست واحد، تست کردن ماژولهـای کوچک، توابع یا کلاسها پس از پیاده سازی اسـت. رویکـرد هـای دیگر، به منظور پشتیبانی از تسـت سـاختاری از منـابع کـد بهتـر میباشند.

-2-1-3 سطح خودکار سازی

نسبت مراحل خودکارسازی شده کـه یـک رویکـرد را تشـکیل میدهد و سطح پیچیدگی مراحل غیر اتوماتیـک، بـه تجزیـه و تحلیل سطح خودکارسازی مربوط میشـود. یـک مرحلـه غیـر اتوماتیک در رویکرد های خودکار میتواند نسـبت بـه چنـدین مرحله دستی غیر اتوماتیک در رویکرد دیگـر MBT سـختتـر باشد.

مراحل غیر اتوماتیک دارای سطوح پیچیـدگی مختلفـی اسـت که وابسته به مدل سازی رفتار نرم افزار (هر رویکرد بـه اجـرای

این وظیفه نیاز دارد)، انتخاب معیار تست، مـدل سـازی مـدل میانی و یا ترجمه از یک مدل به مدل دیگر است.

: مرحلهها ممکن است خودکارسازی شـده و یـا وظایف ساده ای را شامل شوند.

: به عنوان مثال مدل سازی مدل میانی و یا تعریف داده تست

: به عنوان مثال: ترجمه دستی بین مدلها

به طور معمول رویکردهـای MBT بیشـترین مراحـل خودکـار سازی را دارا هستند به استثنای مرحلـه اول کـه مـدل سـازی رفتار نرم افزار میباشد.

-3-1-3 ابزارهای پشتیبانی

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


-4-1-3 مدل استفاده شده برای تولید موارد تست

ما تفاوت بـین رویکـرد هـای MBT را بیـان مـیکنـیم کـه از مدلهای UML و غیر UML استفاده کردهاند. نمودار وضـعیت 27 ) UMLرویکــرد)، کــلاس (19) و تــوالی (19) مــدلهــایی هستند که بیشتر مورد استفاده قرار میگیرد. رویکردهـایی کـه از UMLاستفاده نمیکند شامل ماشین حالـت محـدود اسـت 7) رویکرد) و مشخصه 4) Z رویکرد) است.

-2-3 تجزیه و تحلیل کیفی

محدودیت، هزینه، تلاش، پیچیدگی، ورودی، پیش نیازها، و یـا مهارت مورد نیاز برای استفاده از رویکرد های MBT و کیفیـت خروجیهای تولید شده در زیر مورد بحث قرا گرفته است.

-1-2-3 معیار های پوشش تست

پوشش تست ممکن است از یک استراتژی جریـان کنتـرل وی اجریان داده استفاده کند. رویکرد هـای MBT تـا سـال 1999 عمدتاً از پوشش تست مبتنی بر جریـان داده ([12] [11] [1]) استفاده میکردند. پس از 1999 معیار جریان کنتـرل رایـجتـر شد .([15] [14] [13]) با افزایش انـدازه و پیچیـدگی سیسـتم در هر سال، لازم است تا نه تنها مـاژولهـای کوچـک ارزیـابی شوند بلکـه همـه واحـدها را مـورد بررسـی قـرار داده و ایجـاد

جریان کنترل رویکرد مناسب بهتری میباشد.

زبان/روش مورد استفاده برای مدل سازینرم افزار قبلاً محدود و متمرکز بر روی تکنیک جعبـه سـیاه بـوده و سیسـتمهـا بـه عنوان توابع ساده و یا ماژول کوچک در نظر گرفتـه مـیشـوند. به هر حال زبانها/روشهایی که اخراًیتوسـعه داده مـ یشـوند، میتوانند اطلاعـات سـاختاری نـرم افـزار را توصـیف نماینـد و تجزیه و تحلیل جریان کنترل نرم افزار را سادهتر نمایند.

-2-2-3 محدودیتهای مدل رفتار

مدل باید به منظور ایجاد دقیق موارد تست صحیح باشد. بـرای اطمینان از صحت مدل، استراتژیهـای بررسـی مـدل توسـعه داده شدهاند که با رویکرد های MBT یکپارچه شـدهانـد [13]).([19] [18] [17] [16]

قدرت نمادها و یا زبان مورد استفاده برای توصیف مـدل دارای اهمیـت مـیباشــند و بایـد قبــل از اســتفاده از رویکــرد MBT شناخته شده باشد. .نمادهایی های که اجازه توصـیفات خـاص را نمیدهند، کیفیت تست را کاهش مـیدهنـد. UML، FMS، زبان B، و نماد Z مورد استفاده قرار گرفتـهانـد و نتـایج جالـب توجهی را به ما میدهند.

-3-2-3 هزینه و پیچیدگی بهکارگیری رویکردهای
MBT

هزینه و پیچیدگی تلاش بهکارگیری یک رویکـرد MBT مـورد تجزیه و تحلیل قرار گرفته است. سطوح پیچیـدگی بـر اسـاس ویژگیهای زیر تعریف شدهاند:

· بــالا: مراحــل دســتی، بـدون هـیچ ابــزار پشــتیبانی، ترجمه بین مدلهای مورد نیاز، ابزار کد، و خروجـی ناقص

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