دانلود مقاله انواع
روش های تست وب سرویس ها
تعداد صفحات : 71
فایل
ورد 71 صفحه ای تهیه شده برای سمینار کارشناسی ارشد. تنظیم شده با استفاده از
191 رفرنس جدید.
چکیده
الگوی رایانش (محاسبات) سرویس گرا (SOC) به سیستم های رایانه ای اجازه می
دهد تا به روش های جدیدی با یکدیگر تعامل داشته باشند. بر اساس مطالعات انجام شده
در مقالات متعدد الگوی SOC اجازه ترکیب برنامه های توزیع شده بدون توجه
به پلتفورم آن ها را می دهد و در نتیجه هزینه چنین ترکیب هایی را کاهش می دهد و
سبب سادگی و سرعت بخشی به توسعه آن ها می شود. در حال حاضر وب سرویس ها یکی از
فناوری های سرویس دهی است که به طور گسترده مورد پذیرش واقع شده است به این دلیل
که سطح مناسبی از خودگرایی و استقلال از پلتفورم را ارائه
می دهند. با این حال وب سرویس ها چالش ها و مشکلاتی را نیز به همراه دارند. به
عنوان مثال تست وب سرویس ها در سمت کلاینت ها به دلیل ماهیت پیچیده وب سرویس ها و
نبود سورس کد به همان اندازه تست نرم افزار های معمولی سر راست و مشخص نیست. این
مقاله مطالعه قبلی درباره تست وب سرویس ها را بررسی می کند و نقاط ضعف و قوت
استراتژی های فعلی تست وب سرویس را نشان می دهد و همچنین مسائلی را برای مطالعات
آتی شناسایی می کند.
کلمات کلیدی : وب سرویس، تست وب سرویس، روش های
تست، مدل سازی، ساختار کاری
مقدمه
این مقاله پژوهشی را در ارتباط با تکنیک های تست وب سرویس
ارائه می دهد. وب سرویس ها مفاهیمی هستند که به سرعت در حال رشد هستند به طوری که
در حال حاضر الگوی رایانش سرویس گرا (SOC) را ارائه می دهند. وب سرویس ها
چالش های مهمی را در قبال تست کننده های نرم افزار ایجاد می کنند. این چالش ها
منجر به کار بیشتر بر روی تکنیک های تست وب سرویس ها شده است. این پژوهش به دنبال
ارائه مطالعه ای جامع و فراگیر از کار های موجود است.
بر اساس مطالعه Papazoglou [10] SOC یک الگوی
رایانشی جدید است که سرویس ها را به عنوان ساختار هایی سبک وزن برای پشتیبانی از
توسعه سریع، کم هزینه و آسان ترکیب برنامه های کاربردی توزیع شدهبه کار می گیرد. این تعریف به
طور گسترده ای درباره SOC مورد استفاده قرار می گیرد.
1-1 اصطلاحات
سرویس
مفهوم یک "سرویس" نسبتا سنگین است و در نتیجه
توصیف آن دشوار است. تعریف ذیل درباره سرویس در این پژوهش پذیرفته شده است:
سرویس ها عناصر محاسباتی (رایانشی) خودگرا و مستقل از
پلتفورم هستند که با استفاده از پروتکل های استاندارد برای ساخت شبکه های برنامه
های کاربردی توزیع شده مشارکتی در درون و در میان مرز های سازمانی قابل توصیف،
انتشار، کشف، هماهنگی و برنامه ریزی هستند [111].
این تعریف سرویس ها را برحسب معماری سرویس گرا (SOA) توصیف می کند و در نتیجه این
تعریف جنبه های فناوری گونه سرویس ها را در نظر می گیرد. به منظور تصدیق این توصیف
نیاز به توضیح بیشتر عبارت های استفاده شده می باشد.
خودگرایی
بر اساس واژه نامه انگلیسی آکسفورد [109] معنای خودگرایی عبارت است از:
1. مربوط به یک دولت، موسسه و غیره: حق خود مختاری، ایجاد
قوانین خود و مدیریت امور خود است. (گاهی اوقات توسط صفت محلی یا دولتی محدود می
شود در زمانی که خود مختاری جزئی است؛ بنابراین یک محله یا بخش انگلیسی دارای
خودگرایی محلی است، مستعمرات سابق بریتانای دارای یک خودمختاری مدیریتی بودند؛
خودمختاری سیاسی به معنای استقلال ملی است).
الف. آزادی برای تبعیت از اراده فرد، آزادی شخصی
ب. استعاره. آزادی (مربوط به اراده)؛ دکترین کانت درباره
اراده به خودش اجازه قانون خودش را می دهد، مستقل از خواست هر جسم دیگر؛ در مقابل
پیروی
2. Biol : شرایط خودمختاری:
الف. وضعیتی که تنها توسط قوانین خودش کنترل شود و تحت
قانون بالاتری قرار نگیرد.
ب. استقلال ذاتی
3. یک جامعه خود گردان (در مقایسه با سلطنت).
همانطور که این تعریف پیشنهاد می دهد خودگرایی شامل خود
مختاری، خود کنترلی، استقلال، خود مهاری و آزادی از کنترل و محدودیت بیرونی
است. به عنوان یک نتیجه تعاریف متفاوتی از خودگرایی در نرم افزار وجود دارد. یکی
از این تعاریف که مطابق با خودگرایی سرویس ها است حال کار ارل است. مطابق با کار
ارل [44] خودگرایی در ارتباط با نرم افزار کیفیتی است
که " استقلالی را نشان می دهد که یک برنامه می تواند در درون منطق خودش اجرا
کند".
ارل خودگرایی برای سرویس ها را در دو سطح تعریف می کند:
زمان اجرا و زمان طراحی. خوگرایی زمان اجرا سطحی از کنترل است که یک سرویس بر روی
منطق پردازش خودش در زمان فراخوانی اش دارد. هدفی که در ورای این خودگرایی نهفته
است افزایش کارآیی زمان اجرا، اطمینان پذیری و قابلیت پیش بینی رفتار است. افزایش
در تمامی این جنبه های سرویس ها منجر به افزایش قابلیت استفاده مجدد سرویس ها می
شود. خودگرایی زمان طراحی سطحی از آزادی است که ارائه دهنگان سرویس برای ایجاد
تغییرات در سرویس ها در طول عمر آن ها دارند. این خودگرایی اجازه مقیاس پذیری را
می دهد.
منابع دیگر [11,32,88] نیز خودمختاری سرویس ها را به روش
مشابه با ارل تعریف می کنند. به عنوان یک نمونه بچارا [11] اعتقاد دارد که سرویس های می
بایست به نحوی خود مختار باشند که کارکردشان مستقل از سایر سرویس های کمک کننده
باشد. مطابق با دیدگاه بچارا این نوع از خودگرایی می بایست قابلیت استفاده مجدد از
سرویس ها را تقویت نماید.
سرویس ها برای این که بتوانند قابلیت استفاده مجدد بالایی
را ارائه دهند می بایست مستقل از پلتفورم باشند. این مساله به نوبه خود نیازمند
قابلیت همکاری در میان سرویس ها است. استقلال پلتفورم در این زمینه به این معنا
است که کاربر سرویس می بایست قادر به استفاده از کارکرد های فراهم شده توسط سرویس
صرف نظر از پلتفورمی باشد که کاربر بر بستر آن کار می کند. این نوع استفاده از
استقلال پلتفورم سرویس نیازمند توصیف مستقل از پلتفورم سرویس و پیام رسانی مستقل
از پلتفورم در میان سرویس و کاربرانش است.
معماری سرویس
بخش آخر این تعریف سرویس ها را بر اساس کاربرد SOA توصیف می کند.
سرویس ها در معماری SOA به منظور اجرای کارکرد های آن ها در فضای SOA می بایست
توصیف، منتشر، کشف و هماهنگ شوند. همچنین ارتباط میان سرویس و کاربر آن نیازمند
استفاده از پروتکل های استاندارد به منظور اطمینان از قابلیت همکاری است.