چکیده
اشتیاق زیادی نسبت به وب سرویسها در جهان امروز وجود دارد. وب سرویسها از اینترنت برای ارتباط بین دو دستگاه الکترونیکی متصل از طریق شبکه استفاده میکنند. آزمون وب سرویس چالشی است که یک درخواستکنندهی سرویس کد منبع را ندارد و بهنوعی نیاز به تست کامل تاثیر تغییرات در نرم افزار دارد. تست رگرسیون یکپارچگی نرم افزار را تایید میکند و اطمینان حاصل میکند که تغییرات خطا های نرم افزار جدید معرفی شده است. روش ما شامل تجزیه فایل WSDL XML برای استخراج اطلاعات مربوط به نام عملیات، پیامهای ورودی و پیام های خروجی است. هر دو فایل اصلی و تغییریافتهی XML برای وب سرویس برای استخراج اطلاعات مربوطه ی خود از نوع پورت و عنصر پیام WSDL تجزیه شده است. پس از آن، یک جدول هش از اطلاعات استخراج شده برای هر دو WSDL اصلی و دلتا ایجاد شده است. جداول هش به یک مقایسهکننده به عنوان ورودی وارد میشود، پس از آن جداول هش مقایسه شده و تغییرات عملیات را به صورت خروجی تولید میکند. در مرحلهی آخر آزمون موارد برای تست رگرسیون از وب سرویسهای تغییر یافته انتخاب خدمات بر اساس تغییرات در عملیات ارائه شده توسط مقایسه کننده انتخاب میشود.
مقدمه
اشتیاق زیادی برای وب سرویس ها در جهان امروز وجود دارد. وب سرویسها از اینترنت برای ارتباط بین دو دستگاه الکترونیکی متصل از طریق شبکه استفاده میکنند. وب سرویس در اصل یک سیستم نرم افزاری است که عملکرد سازگاری برای حمایت از تعامل ماشین به ماشین برای انتقال داده ها در یک شبکه از خود نشان میدهد [1]. آنها برنامه های کاربردی استاندارد وب هستند که مشخصات آنها در دایرکتوری UDDI که با دیگر برنامه های کاربردی وب به منظور تبادل اطلاعات ارتباط برقرار میکنند انتشار شده است. وب سرویس ها از پنج استاندارد اصلی برای برقراری ارتباط در طول شبکه استفاده میکنند: زبان توصیف وب سرویس ها (WSDL) ]3[، زبان توسعه یافتهی (XML)، پروتکل انتقال متن (HTTP)، پروتکل ساده دسترسی به شی (SOAP) ]2[ و توضیحات جهانی، کشف و یکپارچه سازی (UDDI).
وب سرویسها دارای یک درخواستکنندهی سرویس و ارائهدهندهی خدمات است. نرم افزاری که داده درخواست میکند درخواستکنندهی سرویس نامیده میشود و نرم افزاری که درخواست درخواستکننده را پردازش میکند و داده را ارائه میکند ارائه دهندهی خدمات نامیده میشود. کد منبع برای وب سرویس با ارائه دهندهی خدمات است. درخواستکنندهی سرویس تنها WSDLدارد. بنابراین، هر زمان که یک تغییر در وب سرویس رخ میدهد، تست مجدد وب سرویس مورد نیاز است. تست یک چالش برای درخواستکنندهی سرویس است همانطور که کد منبع را ندارد و نیاز به تست کامل تاثیر تغییرات در درخواست خود را دارد. وب سرویسها رابط گرافیکی کاربر ندارد. در عوض، آنها از یک رابط برنامه ریزی برای تبادل پیام استفاده میکنند[7].
کارهای گذشته
وب سرویس با تغییر در تکنولوژی و تکامل شیوه های صنعت استنتاج شده است. هنگامی که تغییرات رخ میدهد، آزمون رگرسیون یک فعالیت مهم و بسیار گران قیمت به منظور حصول اطمینان از ایجاد اختلال توسط این تغییرات است که ویژگیهای سیستم نرمافزار کاربردی وب را بعد از تغییرات بررسی میکند. آزمون رگرسیون میتواند:
1. براساس کد: تکنیک های بر اساس کد، تغییرات موجود در کد منبع ساخته شده در نرم افزار را مشخص میکنند. موارد آزمون بر اساس تغییرات در کد ساخته شده برای نرم افزار، انتخاب شده است. بنابراین، تکنیک های بر اساس کد برای زبانهای برنامه نویسی مورد استفاده برای توسعه کد منبع بسیار خاص است.
2. براساس مدل: این تکنیک ها موارد آزمون رگرسیون را با نگاه به مدلهای سیستم های مختلف تولید میکنند. بیشتر تکنیک های مبتنی بر مدل بر اساس زبان مدلسازی (UML) است.
3. براساس مشخصات: این روش براساس مشخصات و تغییرات در ویژگیهای ارائه شده توسط مشتری میباشد. آزمون رگرسیون انجام میشود تا اطمینان حاصل شود که تمام مشخصات عنوان شده توسط مشتری برآورده شده است و سیستم امن است.
روش ارائه شده
نرم افزار تست رگرسیون برای تعریف اشکالات غیرعمدی و خطاهایی که ممکن است در کد در نتیجهی اِعمال تغییرات در نرم افزار کاربردی ایجاد شود، استفاده میشود. سهولت توسعهی وب سرویسها و وابستگیهای متقابل بین خدمات و نرم افزار، فشار زیادی بر آزمایشکنندگان وب سرویس به منظور حصول اطمینان از قابلیت اعتماد، قوی، مقیاس پذیر و امن بودن وب سرویسها را تحمیل میکند. آزمون رگرسیون امن در تضمین کار وب سرویس در طول چرخهی عمر نرم افزار است.
نتیجه گیری
در این مقاله ما یک مورد آزمون بر اساس مشخصات ارائه شده برای انتخاب آزمون رگرسیون وب سرویس ارائه میدهیم. رویکرد ما از مشخصات WSDL و تجزیه عناصر آن را به یک جدول هش استفاده میکند. تحقیقات نشاندادهاست که، در برخی شرایط، جداول هش کارآمدتر و سریعتر از درخت جستجوی دیگر و یا هر ساختار دیگری هستند.
ما رویکرد مسعود و نادیم را گسترش دادیم و از جدول هش برای ذخیرهی WSDL XML به جای یک درخت عملیات استفاده کردیم. استفاده از جدول هش باعث میشود مقایسه الگوریتم بسیار سادهتر باشد. همچنین، بر اساس پیچیدگی زمانی جدول هش به طور متوسط بهتر از درختان جستجو است. انتخابکنندهی آزمون رگرسیون از شناسایی تغییرات عملیات توسط مقایسهکننده استفاده میکند. این مبنای انتخاب موارد آزمون برای وب سرویس دلتا از وب سرویس پایه را تشکیل میدهد. از این رو، یک روش انتخاب آزمون رگرسیون امن فراهم میکند.
کارهای آینده
در آینده قصد داریم کارمان را با خودکار کردن تولید آزمون و فرآیند انتخاب برای آزمایش رگرسیون بر روی خروجی مقایسهکننده ارتقا دهیم. پژوهش ما بر روی نام عملیات بهصورت کلیدی برای جدول هش با فرض عملیات منحصر به فرد انجام شده است. ما میتوانیم با استفاده از یک کلید ترکیبی برای جدول هش، بهره وری جدول هش را افزایش دهیم.
این مقاله در سال 2015 در نشریه آی تریپل ای و در کنفرانس بین المللی محاسبات، ارتباطات و اتوماسیون، توسط دانشگاه ITM منتشر شده و در سایت ای ترجمه جهت دانلود ارائه شده است. در صورت نیاز به دانلود رایگان اصل مقاله انگلیسی و ترجمه آن می توانید به پست دانلود ترجمه مقاله آزمون رگرسیون برنامه های کاربردی با استفاده از وب سرویس ها در سایت ای ترجمه مراجعه نمایید.