بخشی از مقاله
چکیده
امروزه گسترش و آزمایش نرم افزارهاي تلفن همراه با توجه به پیچیدگی و محدود بودن منابع با مشکلات فراوانی روبرو شده است. آزمایش دستی نرم افزارها در انواع دستگاههاي تلفن همراه زمان بر و پرهزینه است و از طرفی استفاده از شبیه سازها امکان برقراري ارتباط واقعی با خصوصیات یک دستگاه را ایجاد نمیکند. نرم افزارهاي تلفن همراه بر اساس رضایت کاربران مورد بررسی قرار میگیرند که عملکرد و کارایی این نرم افزارها قبل از راه اندازي، در دستگاههاي تلفن همراه متفاوت آزمایش میشوند. این مقاله، به مرور آزمایش نرم افزار در محیط ابري، انواع آزمونهاي قابل اجرا، تفصیل مزایا و معایب آنها پرداخته و در پایان تعدادي از محبوبترین محیطهاي ابري را معرفی میکند.
کلمات کلیدي
آزمایش ابري، آزمایش خودکار، تلفن همراه ابري، نرم افزار تلفن همراه.
.1 مقدمه
در سال هاي اخیر، با پیشرفت تلفن هاي همراه هوشمند و سیستم عامل هاي آن هـا، نیازهـاي کـاربران و برنامـه نویسان دستخوش تغییرات فراوانی گردیده که در نهایت منجر به تولید و عرضه نرم افزارهـا مطـابق بـا میـل و رضـایت مصرف کنندگان شده است. این نرم افزارها قبل از عرضه در بازار باید از جنبه هاي گوناگونی مورد آزمایش قرار بگیرنـد تا عملکرد و کارایی آن ها تضمین شده باشد. براي اطمینان از میزان سازگاري هر برنامه، میبایست آن را در تلفن همراه واقعی نصب و آزمایش کنیم. با توجه به گستردگی دستگاه هاي تلفن همراه، نصب و آزمایش نرم افـزار در ایـن مقیـاس مستلزم صرف زمان و هزینه بالایی است. تلفن هاي همراه هوشمند براي اجراي نرم افزارها، وابستگی زیادي بـه: منـابع، نوع سیستم عامل، وضوح تصویر دستگاه، حسگرها (مکانیاب، شتاب سنج و...) دارند. بـه همـین دلیـل برنامـه نویسـان براي آزمایش نرم افزارهاي خود از شبیه سازهاي محیط تلفن همراه استفاده میکنند، امـا بـا توجـه بـه محـدود بـودن منابع، تنوع در هسته سیستم عامل و وضوح تصویرهاي متفاوت، شبیه سازها با مشکلاتی از قبیل دسترسی نداشتن بـه داده هاي حسگر واقعی و نبود شبیه ساز براي انواع مختلف هستههاي سیستم عامل مواجه مـیگردنـد. بنـابراین، شـبیه سازها در این شرایط نمیتوانند بستر مناسبی براي آزمایش برنامهها باشند. در جدول 1 تفاوتهاي محیط شبیه ساز بـا محیط دستگاه واقعی را مشاهده مینمایید.
جدول (1) تفاوتهاي شبیه ساز و دستگاه واقعی
ویژگی شبیه دستگاه واقعی
نمایش پیکسلهاي واقعی ساز
استفاده از حسگرها
انعطاف در تغییر هسته سیستم عامل
محیط واقعی آزمایش
تعامل با سخت افزار
استفاده شبکه (3G.Wifi)
حال این سؤال پیش میآید که مناسب ترین روش براي آزمایش نرم افزار موبایل چیست؟ پاسخ این سؤال روش آزمایش تلفن همراه از راه دور در محیط ابري است که کاربر از طریق محیط وب به تلفن همراه هـاي واقعـی دسترسـی یافته و از تمامی ویژگیهاي آن براي آزمایش نرم افزار خود استفاده میکند. در ادامه این مقاله ابتدا بـه مـرور سـاختار کلی این محیط، شرح چگونگی انجام آزمونها، معماري نرم افزاري، مزایا و معایب آن و در پایان تعدادي از محبوبترین محیطهاي ابري را معرفی میکنیم.
.2 محیط ابري آزمایش نرم افزار تلفن همراه
ساختار کلی این محیط در شکل 1 نشان داده شده است. در محیط آنلاین ابري، تلفن هاي همراه در یک فضاي
آزمایشگاهی از طریق USB به سرورها متصل و با دستورات کنترلی که از کاربر دریافت میکنند در تلفنهـاي همـراه اجرا میشوند و توسط Capture کردن، تصویر نمایش داده شده در دسـتگاه تلفـن همـراه، نتـایج را بـه کـاربر نشـان
میدهند. در این روش کاربر توسط یک رابط کاربري تحت وب با سرور ارتباط برقرار کرده و پس از بارگذاري نرم افـزار توسط کاربر، سرور شروع به آزمایش آن در دستگاه هاي انتخابی کاربر میکند و نتایج را به او نشان میدهد. این محیط از قابلیت کشیدن و رها کردن، لمس کردن، ضربه زدن و هر آنچه در یک تلفن همـراه هوشـمند توسـط کـاربر مصـرف کننده انجام میشود پشتیانی مینماید.
آزمایش نرم افزارها در دستگاه هاي مختلف هم به صورت دستی و هم به صـورت خودکـار صـورت مـیگیـرد. در روش دستی کاربر توسط صفحه کلید و موشواره عمل هاي کشیدن (swap) را با رسم یک خط از نقطـه X تـا Y و بـا
سرعت V انجام میدهد و با کلیک کردن میتواند عمل لمس را انجام دهد. در روش خودکار ارائـه شـده دسـتورات در فایل XML ذخیره، بهصورت خودکار بر روي دستگاههاي مختلف اجرا و نتایج آن به کاربر نمایش داده میشود.[1]
اینترنت
سرور وب
سرور موبایل سرور موبایل سرور موبایل
شکل (1) معماري ارتباطی محیط ابري آزمایش نرم افزار تلفن همراه
.3 انواع روشهاي آزمایش
آزمایشهاي صورت گرفته بر روي دستگاههاي تلفن همراه در حالت اجراي نرم افزار به پنج دسته کلی تقسیم میشود: آزمون عملکرد، آزمون کارایی، آزمون سازگاري، آزمون GUI (رابط گرافیکی کاربر) و آزمون امنیت
شکل (2) آزمونها قابل انجام در محیط ابري آزمایش نرم افزار تلفن همراه
.1 .3 آزمون عملکرد
آزمون عملکرد، عمومیترین آزمون براي بررسی ویژگیهاي یک نرم افزار است. در این آزمایش باید بـدانیم کـه هر نرم افزار چگونه کار میکند و در صورت اجرا در دستگاه هاي تلفن همراه متفاوت، عملکرد یکسـان و مشـابه داشـته باشد. به عنوان مثال یک برنامه ماشین حساب وظیفه ارائه محاسبات ریاضی را دارد و باید روي هر نوع از دسـتگاه هـاي تلفن همراه که اجرا میشود نتیجه یکسانی را نمایش دهد.[2]
روند آزمون عملکرد با استراتژي جعبه سیاه صورت میگیرد. در این روش هیچ دسترسی بـه کـد منبـع برنامـه وجود ندارد و برنامه نویس با خیال آسوده میتواند فایل هاي خود را در سـرور بارگـذاري کنـد. ایـن آزمـایش در فایـل
APK نرم افزار انجام میشود. استراتژي جعبه سیاه از دیدگاه کاربر، برنامه را مورد آزمایش قرار میدهد. ایـن بـه ایـن معناست که هیچ اطلاعاتی از کد و طراحی داخلی برنامه نداشته و با تمرکز بر وروديها و خروجیها مشخص مـیکنـد
که یک برنامه، در مقابل یک عمل خاص، چه پاسخی باید بدهد و بـا رفتـار واقعـی برنامـه در مسـتندات بـه بررسـی و مقایسه آن میپردازد.[3]