بخشی از مقاله

چکیده

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

یکی ازاین روشها نشست کاربر نام دارد. در این مقاله ضمن بررسی و معرفی این روش یک پیشنهاد جهت بهبود فرآیند تست وافزایش بازدهی در این فرآیند داده می شود.روش استفاده از نشست کاربر برای تولید فضای تست باعث بوجود آمدن تکنیکهایی برای تولید فضای تست بر این مبنا شده است .یکی از آخرین تکنیکهایی که با استفاده از نشست های کاربر منجر به تولید فضای تست می گردد استفاده از آنها برای ورودی به الگوریتم ژنتیک جهت تولید فضای تست بهینه است که این تکنیک خود ضعفهایی دارد .دراین مقاله با ارئه پیشنهاد ترکیب این روش با یک روش دیگر سعی در بهبود این ضعفها شده است.

.1مقدمه

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

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

.2 .1 تعریف نرم افزارهای کاربردی تحت وب

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

.3 .1 تست نرم افزارهای کاربردی تحت وب

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

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

.4 .1 تست مبتنی برنشست کاربر

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

عموما نشست کاربر زمانی شروع می شود که یک آدرس IP جدید درخواستی را به سمت سرور می فرستد و این نشست زمانی به پایان می رسد که کاربر محیط وب را ترک کرده یازمان نشست پایان می یابد هرکدام از این نشانه های درخواست نشست کاربر به یک درخواست HTTP تغییر می کنند که می تواند به سرور وب فرستاده شده, وسپس به مورد تست انتقال یابد . مجموعه ای ازاین درخواستهای HTTP که توسط هر نشست کاربر بوجود آمده اند درطول مورد تست اجرا می شود.برای نشست کاربرهای جمع آوری شده چندین روش برای تولید مورد تست وجود دارد. 

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

2 .پیشنه ی تحقیق وکارهای مشابه

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

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