در سالهای اخیر موبایلهای هوشمند و تبلتها بازار محصولات دیجیتال شخصی را فتح کردهاند. این محصولات نه تنها بازار محصولات دیجیتال شخصی، بلکه بازار کامپیوترها و دیگر محصولات دیجیتال را هم تحت تاثیر خودشان قرار دادهاند. به این ترتیب است که این محصولات هوشمند در سالهای اخیر رشد قابل توجهی را تجربه کردهاند. استفاده از اپلیکیشنهای موبایل در سال ۲۰۱۳ بیش از ۱۱۵ درصد رشد داشته است و این در حالیست که در ایران نیز استفاده از اپلیکیشهای موبایل نیز به شدت رشد یافته است. با رشد اپلیکیشنها نیاز به تست آنها به شدت احساس میشود. برای تستهای مختلف چندین ابزار خودکار را به صورت مختصر معرفی میکنیم.
Robotium فریمورکی محبوب برای اجرای تستهای خودکار اندروید میباشد که از دلایل محبوبیت آن میتوان سهولت استفاده، اجرای سریع، قابلیت خواندن تستها را نام برد. بنابراین شما با کمترین دانش از تست میتوانید تستهای بسیار قوی را اجرا کنید. این ابزار به صورت متن باز، رایگان و تحت لیسانس آپاچی نسخه ۲٫۰ است که اولین بار در سال ۲۰۱۰ منتشر شد. توسعهدهندگان نرمافزار اغلب از Robotium به عنوان سلنیوم برای اندروید توصیف میکنند. میتوان از آن هم در تست جعبه سفید و هم در تست جعبه سیاه استفاده کرد. اما بیشترین کاربرد آن در تست جعبه خاکستری میباشد. این تست را میتوان در دستگاه شبیه ساز اندروید یا دستگاه واقعی تست کرد. این فریمورک با زبان جاوا پیاده سازی شده و از ساختار JUnit در آن استفاده میشود و نسخه اندروید ۱٫۶ به بالا را پشتیبانی میکند. از معایب آن صرف زمان زیاد در اجرای تست، تعامل ضعیف با سیستم نرمافزار و عدم ذخیره تصاویر را میتوان نام برد.
هدف Robotium برای اجرای تستها، شبیه سازی فعالیتهای کاربر مانند لمس کردن، تایپ کردن و کلیک کردن است، که این شبیه سازی میتواند در سورس کد برنامه یا فقط در فایلهای APK انجام شده و یا در دستگاههای واقعی اجرا شود. برای استفاده از Robotium شما به ابزارهای Eclipse و فایل Robotium.jar نیاز دارید. نسخه ۵٫۲٫۱ آن را میتوانید از این آدرس دریافت کنید.
یکی از محبوبترین ابزارهای تست نرمافزار است که برای تست خودکار فانکشنال در اندروید به کار میرود. این ابزار سطحی پایینتر از Robotium دارد و با زبان پایتون پیاده سازی شده است. با این ابزار به دو صورت میتوانید تست انجام دهید، حالت اول به صورت خودکار از اول تا آخر تست را اجرا میکند و حالت دوم میتوانید ورودیها را وارد کرده و بعد عکس العمل برنامه را مشاهده کنید.
از مزایای آن شبیه سازی اتصالات به دستگاههای دیگر، حرکات و رویدادهای صفحه کلید، قابلیت استفاده مجدد اسکریپت تست نوشته شده در ابزارهای دیگر، ذخیره تصاویر اجرای تست را میتوان نام برد. MonkeyRunner از Jython برای اجرای اسکریپتهای خود استفاده میکند. اما از معایب آن نوشتن اسکریپتهای مختلف برای هر مدل گوشی، نوشتن کدهای پیچیده برای تستهای ساده، زمانبر بودن توسعه اسکریپت با توجه به توسعه نرمافزار، هزینه زمانی زیاد، تغییر تستها با تغییر رابط کاربری و عدم شبیه سازی تستهای احراز هویت را میتوان نام برد. در بازیهای نرمافزاری که نیاز به رفتار و عکس العمل سریع و حرکات پیچیده دارند، ابزار مناسبی نمیباشد. تست خودکار با این ابزار نقطه شروع خوبی برای برنامهها میباشد اما ممکن است تستها را با کیفیت پایین اجرا کند.
Ranorex ابزار تست نرمافزار قدرتمندی است که از تعداد زیادی تکنولوژیهای مختلف در انواع سیستم عاملها مانند ویندوز، وب و پلتفرمهای موبایل پشتیبانی میکند. به طور مثال از زبانهای برنامه نویسی مانند سی شارپ، ویژوال بیسیک، جاوا، فلش، سیلورلایت و HTML و پلتفرمهای موبایل مانند اندروید و iOS پشتیبانی میکند. این ابزار برای نسخه اندروید ۲٫۲ به بالا استفاده میشود. از مزایای آن، ارائه گزارشهایی با جزییات فراوان همراه با تصاویر، قابلیت اتصال به گوشیهای هوشمند یا تبلت از طریق اینترنت بیسیم، ایجاد تست به سرعت و به راحتی، امکان ورود دادهها از طریق فایلهای Excel، CSV یا پایگاه داده SQL، ذخیره اسکریپت و ماژولهای طراحی شده و استفاده مجدد آنها در پروژههای دیگر را میتوان نام برد. نسخه ۵٫۱٫۱ را میتوانید از این آدرس دریافت کنید.
فریمورکی برای ساخت تستهای خودکار در سیستم عاملهای iOS و اندروید میباشد. ابزاری رایگان بوده و نسخههای اندروید ۲٫۳ و پایینتر از آن را پشتیبانی میکند. بسیاری از زبانهای برنامه نویسی از جمله جاوا، سیشارپ و … را پیشتیبانی میکند. همچنین قابلیت کنترل مرورگرهایی مانند سافاری و کروم بر روی موبایل را دارد، این به آن معناست که اجازه میدهد مرورگرها را در گوشیها تست کنید. با تمام مزایای فوق در تست خودکار ضعیف عمل کرده و گزارش جزیی و پشتیبانی ضعیفی را ارائه میدهد. این ابزار را میتوانید از این آدرس دریافت کنید.
UI Automator:
این ابزار به تازگی توسط گوگل پرداخته شده و نسخه اندروید ۴٫۱ به بالا را پشتیبانی میکند. از مزایای آن قابلیت قفل گذاری روی تبلت و گوشیهای هوشمند، اجرای اسکریپت ایجاد شده در نسخههای مختلف اندروید، شبیه سازی دکمههایی مانند عقب، جلو، تنظیم صدا، روشن و خاموش کردن، یکپارچه سازی با فریمورک TestNG، ارائه گزارشهای دقیقی مانند ابزار Ranorex ، انجام تست کیفیت
نرمافزار تلفن همراه در نسخههای اندروید را میتوان نام برد. این ابزار را میتوانید از این آدرس دریافت کنید.
با تشکر
چرا Appium ابزار ضعیفی در تست اتوماتیک است. من تا به امروز فکر می کردم در بین ابزارهای موجود بهترین انتخاب باشد.
سلام
شاید با نظر شما موافق باشم که در بین ابزارهای موجود، بهترین باشد! دلیل ضعف این ابزار در مقایسه با دیگر ابزارها ذکر نشده است. بلکه در گزارش گیری و پشتیبانی بیان شده است. در این لینک و این لینک شاید دلیل بهتری گفته شده است.
درسته ولی هر دو مقاله خیلی مقاله های غنی نبودند. یک سوال. در ایران برای تست اتوماتیک از چه ابزارهایی بیشتر استفاده میشود. از این بابت می پرسم که شرایط در ایران کمی متفاوت است، هم از بابت محدودیت در خرید محصول هم از بابت جدید بودن موضوع تست.
خب شما در حوزه وسیع ایران ازم سوال پرسیدین که فکر نمی کنم بتونم به این وسعت جواب بدم، بلکه محدود به چند شرکت و شناختی که ازشون دارم میشه پاسخ داد که قطعا پاسخ مناسبی نخواهد بود.
با شما موافقم که شرایط در ایران متفاوت هست. حوزه جدید تست در ایران دچار چالش های بسیار زیادی هست که شاید در آینده پستی در این باب منتشر بشه
با توجه به تجربه ای که دارید در ایران برای تهیه یک تست اتوماتیک از چه ابزارهایی بیشتر استفاده می شود؟ (Appium هم استفاده می شود؟). سوالی دیگر که برایم مطرح شده این است که با توجه به این که ابزارهای تست اتوماتیک خودشان از نظر تهیه گزارش ضعیف هستند (به نظر من البته اگر اشتباه می کنم مرا اصلاح کنید) از چه ابزارهایی برای تهیه گزارش (نمودار مثلا) استفاده می شود؟
تا آنجایی که اطلاع دارم بله از Appium استفاده می شه، در مورد گزارش گیری تجربه شخصی من به این صورت بوده:
– استفاده از پلاگین های گزارشگیری در ابزار مربوطه (به صورت رایگان یا هزینه جداگانه)
– استفاده از سایت های گزارش دهی آنلاین ( طبق داده هایی که در اختیار آنها می گذارین)
– خرید ابزارهای تست از شرکت های معتبر ( پشتیبانی از گزارش دهی و ارائه آن به مشتری)