More Related Content
Similar to android_test_approach (20)
android_test_approach
- 2. اندروید افزار نرم تست
قبلباره در مختصری توضیح به مبحث شروع ازgradleدر آن تنظیمات وandroid studioپردازیم می
نصب قصد بار نخستین برای صورتیکه درgradleدارید استدیو اندروید در راکنید دنبال را زیر های راه از یکی:
گزینه ، دارید جدید پروژه یک ایجاد قصد صورتیکه درcreate New Projectو نمائید انتخاب را
یامسیر ازFile | New Projectنمائید اقدام.
گزینه ، دارید را موجود پروژه به ماژول افزودن قصد صورتیکه درFile | New Moduleنمائید انتخاب را.
- 3. اندروید افزار نرم تست
گزینه چپ سمت در شده باز صفحه درGradle، صفحه راست بخش در و کنید انتخاب راSDKنمائید انتخاب را.که هایی گزینه سایر
است زیر شرح به شود می مشاهده:
Use auto-import:ازای به را شده ایجاد تغییرات همه باکس چک اینrefreshپروژه در خودکار صورت به پروژه شدنgradle
کند می اعمال.
Use default graddle wrapper (recommended):از استفاده برایgradle wrapperانتخاب را گزینه این
کنید.gradle wrapperایجاد برای که دهد می را امکان این(build)، پروژهgradleشود دانلود اینترنت از خودکار صورت به.
نسخه ترین بروز از همواره همچنینgradleکند می استفاده.
Use local gradle distribution:کردن اجرا برایgradleگزینه این ، سیستم در موجود فایل از استفاده با و آفالین صورت به
گردد می انتخاب.
Gradle home:کامل آدرسgradleگردد می وارد محل این در است شده نصب سیستم روی بر که.نصب محل اگرgradleدر
Environment Variableعنوان باGRADLE_HOMEدر یا وPATH،گردد تعریف
Android studioگیرد می نظر در فرض پیش مسیر عنوان به و کند می دریافت را مسیر این.
- 4. اندروید افزار نرم تست
تنظیم برایgradleآدرس به ، موجود پروژه درFile | Settings | Build , Execution , Development | Build Tools |
Gradleپردازیم می آن به ادامه در که است مشاهده قابل آیتم چند صفحه این در رفته:
Linked Gradle Project:های پروژه از لیستیgradleدرandroid studioدهد می نمایش را.
Project-level Settings:پروژه تنظیمات شامل قسمت اینgradleموارد شامل که باشد می شماUse auto-import،Use default
graddle wrapper (recommended)،Use local gradle distributionوGradle homeقبال آن شرح که باشد می
شد بیان.
Global Gradle Settings:عمومی تنظیمات شاملgradleاست زیر شرح به که باشد می:
Offline work:نیست برقرار اینترنت با ارتباط که حالتی در(offline)کنیم می انتخاب را گزینه این.حالت این درGradleازdependency
داخلی حافظه های(cache)کند می استفاده.اینکه دلیل بهgradleنشدن یافت صورت در تواند نمیdependencyو پیدا اینترنت از آنرا
فرآیند ، کند دانلودbuildشود می روبرو خطا با شدن.
Service Directory Path:مکانgradleداد تغییر فیلد این در توان می است گرفته قرار پیشفرض صورت به که را.د که است ذکر به الزمر
ابتدا بایستی آفالین حالتgradleسایت ازhttps://gradle.orgگیرد قرار تنظیمات در آن سازی ذخیره مسیر و گردد دانلود.
Gradle VM Options:تنظیماتVMپروژه درgradleباشد می ویرایش قابل قسمت این در شما.
- 5. اندروید افزار نرم تست
پایه بر اندروید تستJUnitصورت به تواند می و باشد میlocalدرJVMتست نوع در یا و شود اجراinstrumentedشود اجرا اندرویدی های دستگاه روی بر.
متدهای از تست فرآیند درassertionخطا صورت در و مقایسه انتظار قابل داده با را ورودی داده که شود می استفادهAssertionExceptionگرداند می بر.
تست انواع:
کنید وارد را تست کد شده تعریف های بندی دسته از یکی در باید کنید می استفاده تست برای استدیو اندروید از که زمانی:
•Local Unit Test
آدرس درmodule-name/src/test/java/در ها تست از دسته این که است ذکر به الزم و دارد وجود دسته این کالسJVMبه دسترسی و شده اجراAPIفریم های
ندارد اندروید ورک.
- 6. اندروید افزار نرم تست
گردد می بررسی جمع عملیات نتیجه صحت فرآیند باال نمونه در.
نکته:کالسJUnitکه باشد می تست برای متد چندین شامل@Testباشد می آنها از یکی.
کنید مشاهده را زیر کد مثال عنوان به:
- 7. اندروید افزار نرم تست
•Instrumented Test
آدرس درmodule-name/src/androidTest/java/روی باید ها تست از دسته این و دارد وجود دسته این کالسandroid deviceیا و هاemulatorاجرا ها
گردند.
اینکه دلیل بهInstrumented Testفایل یک صورت به هاAPKباشند داشته دسترسی برنامه توابع به توانند می گردند می ایجاد.
مثال:است شده نوشته ذیل شرایط با ورودی تاریخ سنجی صحت جهت برنامه در متدی یک مثال عنوان به:از بیشتر شمسی تاریخ طول6نباشد کاراکتر
تا ها روز ، سال اول نیمه در نیز و باشند مجاز محدوده در روز و ماه و سال های رقم دو و31تا سال دوم نیمه در و روز30باشند روز.
کالس یک پروژه پکیج ،در استدیو ویژوال افزار نرم درWorkمتد آن درون وdateValidationگردد می ایجاد ها کالس سایر از دسترسی برای استاتیک نوع از.
- 8. اندروید افزار نرم تست
کالس درApplicationTestشود می وارد زیر صورت به تست کد ،:
گرداند می باز خطا پیغام سیستم ، اشتباهی داده گونه هر صورت در.
- 9. اندروید افزار نرم تست
دهد می نشان را تست دسته دو این معماری تفاوت زیر شکل:
که دارد وجود نیز اندروید های برنامه در تست از دیگری نوعIntegration Testsدارد نام.
Integration Testsدسته دو به"اندروید برنامه های کامپوننت تست"و"اندروید برنامه های کامپوننت تقابلی رفتار تست"ب تقسیمشوند می ندی.
- 10. اندروید افزار نرم تست
اندروید برنامه های کامپوننت تست(Components within your app only)
بین پیش که همانطور اکتیویتی در خاص های ورودی یا و کاربر مختلف های عملکرد ازای به افزار نرم رفتار آیا کند می بررسی تست نوع اینش یانجام است دهخیر یا گردد می
خیر یا گردد می ایجاد افزار نرم توسط کاربر مختلف تعامالت ازای به مناسب خروجی آیا و.
ورک فریم تست نوع این درEspressoکند می سنجی صحت را افزار نرم عملکرد ، پیچیده های افزار نرم در کاربر رفتار سازی شبیه با که گردد می معرفی.
ورک فریمEspressoتست جهتUIرود می کار به تست جهت شده سازی شبیه محیط ایجاد و برنامه یک در.اندروید روی بر ورک فریم این2.2(API 8)کاربرد باال به
در شده اجرا های اکتیویتی همه تا شود می منتظر هوشمند صورت به و شود می مطمئن افزار نرم شدن اجرا از اجرا زمان در نیز و داردbackgroundپایان خود کار به
گردد می اجرا سپس و دهند.
Espressoشود می تشکیل اصلی کامپوننت سه از:
viewMatchers:یافتنviewنظر مورد
viewActions:روی عملی انجامview
viewAssertions:وضعیت بررسیview
- 12. اندروید افزار نرم تست
نصبEspresso:
ورک فریم ابتداEspresso 2.2.1 coreعنوان به راdependencyکنیم می اضافه پروژه به.
های کتابخانه افزودن تست این نیازمندیهایrunnerوrules
تست جهتUIدر این بر بنا گردد می تست در اختالل ایجاد باعث زیرا نمائیم فعال غیر برنامه در را انیمیشن الزماست
setting > developing optionsموارد ،Window animation scale،Transition animation scaleو
Animator duration scaleکنیم می فعال غیر را.
- 13. اندروید افزار نرم تست
مثال:ورک فریم با تست از نمونه برایEspressoنیازمندباشیم می زیر موارد:
کامپوننت داخل متن بررسی تست این هدفtextViewباشد می برنامه اصلی فرم در.
کامپونندت یدک ، اندرویدد پدروژه در ابتدداtextViewبدامدتن“Hello World!"کندیم مدی ایجداد.کدالسهدایrunner،rulesوespresso 2.2عندوان بده را
dependencyپروژهبا وTestCompileبهفایل در که کنیم می اضافه پروژهbradle.buildبایدبهعنوان
dependencyتوسط خورکار صورت بهgradleافزودهشود.
دایرکتوری در سپسandroidTestدربه جدیدی کالس ، پروژه پکیجنام
NotesScreenTestو میکنیم ایجادمانندکد تصویرکنیم می وارد آن در را تست:
- 14. اندروید افزار نرم تست
کالسNotesScreenTestباشد می تست مسئول.@RunWithکهکالس های متد ازJUnitانوتیشن این پارامتر عنوان به کالسی زمانیکه ، باشد می
، شود می تعریفJunitآنکند می فراخوانی تست زمان در را کالس.کالس از تست جهت ما ، مثال این درAndroidJUnit4
ایم کرده استفاده.
@Ruleاکتیویتیو کند می فراخوانی را گردد می اعمال آن های کامپوننت روی بر تست که پروژه اصلی@Testحاویسناریوی
باشد می تست.
از عبارتند فوق تست نیاز مورد های کتابخانه:
.Exposed 1-instrumentation-api-publish-0.3
.Espresso 2-core-2.2
.Junit 34.12
.Rules 4-0.3
.Runner 5-0.3
.Hamcrest 6-library-1.3
.Hamcrest 7-core-1.3
.Javax 8-inject-1
.Guava 9-18.0
برایو کلیک راست کالس نام روی فوق تست اجرایrunراگردد می آغاز تست فرآیند و کنیم می انتخاب.
- 15. اندروید افزار نرم تست
تستاندروید برنامه های کامپوننت تقابلی رفتار(Cross-app Components)
گیرد می انجام دسته این در سیستم و ها افزار نرم بین یا و کاربر مختلف های افزار نرم بین تعاملی رفتار سنجی صحت.
گردد تست اندروید عامل سیستم تنظیمات در تغییر ازای به برنامه کارکرد باید که زمانی مثال عنوان به.
ورک فریمUIAutomatorدردارد کاربرد تست نوع این.
پایان