تست برنامه های اندروید

3 سال پیش

تست برنامه های اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد تست برنامه های اندروید صحبت خواهیم کرد.

فریم ورک اندروید شامل یک فریم ورک تست یکپارچه است که به شما کمک می کند تمام جنبه های برنامه خود را آزمایش کنید و ابزارهای SDK شامل ابزارهایی برای تنظیم و اجرای برنامه های آزمایشی هستند.

این که آیا شما در Eclipse با ADT کار می کنید یا از خط فرمان کار می کنید، ابزارهای SDK به شما کمک می کنند تست های خود را در یک شبیه ساز یا دستگاهی که هدف قرار داده اید تنظیم و اجرا کنید.

 

ساختار تست برنامه های اندروید

ابزارهای ساخت و تست اندروید فرض می کنند که پروژه های آزمایشی در یک ساختار استاندارد از تست ها، کلاس های مورد تست، بسته های تستی و پروژه های تستی سازمان یافته اند.

ابزارهای تست در اندروید
ابزارهای زیادی وجود دارد که می تواند برای آزمایش برنامه های آندروید مورد استفاده قرار گیرد. برخی از آنها مانند Junit ، Monkey و برخی دیگر از ابزارهای شخص ثالث هستند که می توانند برای آزمایش برنامه های اندرویدی استفاده شوند. در این فصل ما قصد داریم این دو ابزار را برای آزمایش برنامه های آندروید توضیح دهیم.

ابزارهای تست در اندروید
ابزارهای زیادی وجود دارد که می تواند برای تست برنامه های اندروید مورد استفاده قرار گیرد.

برخی از آنها مانند Junit ، Monkey و برخی دیگر از ابزارهای شخص ثالث هستند که می توانند برای تست برنامه های اندرویدی استفاده شوند. در این درس ما قصد داریم این دو ابزار را برای آزمایش برنامه های آندروید توضیح دهیم.

  • JUnit
  • Monkey

JUnit

شما می توانید از کلاس JUnit TestCase برای انجام تست واحد بر روی کلاسی استفاده کنید که API های Android را نمی خواند.

TestCase همچنین کلاس پایه AndroidTestCase است که می توانید از آن برای تست اشیا-وابسته به Android استفاده کنید.

علاوه بر ارائه چارچوب JUnit ، AndroidTestCase روش های راه اندازی ، ریزش و استفاده از مختص اندروید را ارائه می دهد.

برای استفاده از TestCase، کلاس خود را با کلاس TestCase گسترش دهید و متد ()setUp را پیاده سازی کنید.

نحو آن در زیر آورده شده است:

public class MathTest extends TestCase {
   protected double fValue1;
   protected double fValue2;

   protected void setUp() {
      fValue1= 2.0;
      fValue2= 3.0;
   }
}

برای هر تست روشی را اجرا کنید که با آرشیو تعامل داشته باشد. نتایج مورد انتظار را که با فراخوانی assertTrue (رشته ای، بولی) با بولی مشخص شده تأیید کنید.

public void testAdd() {
   double result= fValue1 + fValue2;
   assertTrue(result == 5.0);
}

متد های تکرار مقادیری را که از یک تخست انتظار دارید با نتایج واقعی مقایسه می کنند و در صورت عدم موفقیت، یک خطا را بر می گرداند.

پس از تعریف متد ها می توانید آنها را اجرا کنید. نحو آن در زیر آورده شده است:

TestCase test= new MathTest("testAdd");
test.run();

 

Monkey

UI / Application Exerciser Monkey ، که معمولاً “Monkey” نامیده می شود، ابزاری در خط فرمان است که تصادفی فشار، لمس و اشاره را به دستگاه ارسال می کند.

شما آن را با ابزار (Android Debug Bridge (adb اجرا می کنید.

 

ویژگی های Monkey

Monkey دارای ویژگی های بسیاری است، اما می توان همه آنها را در این چهار دسته خلاصه کرد.

  • Basic configuration options
  • Operational constraints
  • Event types and frequencies
  • Debugging options

استفاده از Monkey

برای استفاده از Monkey، یک خط فرمان باز کرده و فقط به فهرست زیر بروید.

android ->sdk ->platform-tools

پس از ورود به فهرست، دستگاه خود را با رایانه متصل کنید و دستور زیر را اجرا کنید.

adb shell monkey -p your.package.name -v 500

این دستور را می توان در این مراحل تقسیم کرد.

  • adb – Android Debug Bridge. ابزاری که برای اتصال و ارسال دستورات از طریق رایانه رومیزی یا لپ تاپ به تلفن اندروید شما استفاده می شود.
  • shell – shell فقط یک رابط بر روی دستگاه است که دستورات ما را به دستورات سیستم ترجمه می کند.
  • Monkey – Monkey ابزار تست است.
  • v – v مخفف روش زبانی است.
  • ۵۰۰- این میزان تراکم فرکانس یا تعداد رویدادهایی است که برای تست ارسال می شود.

این نیز در شکل نشان داده شده است :

در دستور بالا، شما ابزار Monkey را در برنامه پیش فرض android UI اجرا می کنید. اکنون برای اینکه آن را در برنامه خود اجرا کنید، در اینجا کارهایی را که باید انجام دهید.

سرانجام همانطور که در زیر نشان داده شده است به پایان خواهید رسید.

این نیز در شکل زیر نشان داده شده است. با تایپ این دستور، در واقع ۵۰۰ رویداد تصادفی برای تست ایجاد می کنید

مثال

مثال زیر استفاده از تست برنامه های اندروید را نشان می دهد. این یک برنامه  است که می تواند برای Monkey استفاده شود.

برای آزمایش این مثال، باید این مورد را روی دستگاه واقعی اجرا کنید و سپس مراحل Monkey را که در ابتدا توضیح داده شد، دنبال کنید.

شرح مراحل 

۱- شما از Android studio برای ایجاد یک برنامه اندروید تحت یک پکیج com.tutorialspoint.myapplication استفاده خواهید کرد.
۲- برای افزودن کد فعالیت ، پرونده src / MainActivity.java را تغییر دهید.
۳- فایل XML layouta res / layout / activity_main.xml را اصلاح کنید در صورت لزوم ، هر جز  GUI اضافه کنید.
۴- برای افزودن کد فعالیت ، پرونده src / second.java ایجاد کنید.
۵- تغییر طرح بندی فایل XML res / layout / view.xml در صورت لزوم ، هر جز GUI اضافه کنید.
۶- برنامه را اجرا کنید و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را بررسی کنید.

در اینجا محتوای MainActivity.java است.

package com.tutorialspoint.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   Button b1;
   @Override

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      b1=(Button)findViewById(R.id.button);
   }

   public void button(View v){
      Intent in =new Intent(MainActivity.this,second.class);
      startActivity(in);
   }

}

در اینجا محتوای second.java است.

package com.tutorialspoint.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class second extends Activity{
   @Override

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.view);
      Button b1=(Button)findViewById(R.id.button2);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Toast.makeText(second.this,"Thanks",Toast.LENGTH_SHORT).show();
         }
      });
   }
}

در اینجا محتوای activity_main.xml است.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="UI Animator Viewer"
      android:id="@+id/textView"
      android:textSize="25sp"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_alignRight="@+id/textView"
      android:layout_alignEnd="@+id/textView"
      android:textColor="#ff36ff15"
      android:textIsSelectable="false"
      android:textSize="35dp" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button"
      android:onClick="button"
      android:id="@+id/button"
      android:layout_below="@+id/imageView"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="100dp" />

</RelativeLayout>

در اینجا محتوای view.xml وجود دارد

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent" android:layout_height="match_parent">
   
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="button"
      android:id="@+id/button2"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point "
      android:id="@+id/textView3"
      android:textColor="#ff3aff22"
      android:textSize="35dp"
      android:layout_above="@+id/button2"
      android:layout_centerHorizontal="true"
      android:layout_marginBottom="90dp" />
      
</RelativeLayout>

در اینجا محتوای Strings.xml وجود دارد.

<resources>
   <string name="app_name">My Application</string>
</resources>

در اینجا محتوای AndroidManifest.xml است.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.tutorialspoint.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
      <activity android:name=".second"></activity>
      
   </application>
</manifest>

 

بیایید برنامه خود را اجرا کنیم! من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

 

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

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

    1. نگاهی کلی به برنامه نویسی اندروید
    2. تنظیمات محیط  در برنامه نویسی اندروید
    3. معماری برنامه نویسی اندروید
    4. اجزای برنامه در برنامه نویسی اندروید
    5. Hello World در برنامه نویسی اندروید
    6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
    7. فعالیت در برنامه نویسی اندروید
    8. سرویس در برنامه نویسی اندروید
    9. گیرنده های پخش در برنامه نویسی اندروید
    10. ارائه دهنده محتوا در برنامه نویسی اندروید
    11. قطعات در برنامه نویسی اندروید
    12. Intent و فیلتر در برنامه نویسی اندروید
    13. طرح بندی رابط کاربری در برنامه نویسی اندروید
    14. کنترل های رابط کاربری در برنامه نویسی اندروید
    15. مدیریت رویدادها در برنامه نویسی اندروید
    16. استایل و تم ها در برنامه نویسی اندروید
    17. اجزای سفارشی در برنامه نویسی اندروید
    18. کشیدن و رها کردن در برنامه نویسی اندروید
    19. نوتیفیکیشن ها در برنامه نویسی اندروید
    20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
    21. ارسال ایمیل در برنامه نویسی اندروید
    22. ارسال پیامک در برنامه نویسی اندروید
    23. تماس های تلفنی در برنامه نویسی اندروید
    24. انتشار برنامه اندروید
    25. آموزش Alert Dialog در برنامه نویسی اندروید
    26. انیمیشن در برنامه نویسی اندروید
    27. ضبط صدا در برنامه نویسی اندروید
    28. مدیریت صدا در برنامه نویسی اندروید
    29. آموزش Auto Complete در برنامه نویسی اندروید
    30. بهترین شیوه ها در برنامه نویسی اندروید
    31. بلوتوث در برنامه نویسی اندروید
    32. استفاده از دوربین در برنامه نویسی اندروید
    33. کلیپ بورد در برنامه نویسی اندروید
    34. فونت سفارشی در برنامه نویسی اندروید
    35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
    36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
    37. آموزش شبیه ساز در برنامه نویسی اندروید
    38. اتصال به فیس بوک در برنامه نویسی اندروید
    39. حرکات لمسی در برنامه نویسی اندروید
    40. آموزش گوگل مپ در برنامه نویسی اندروید
    41. افکت های تصویر در برنامه نویسی اندروید
    42. Image Switcher در برنامه نویسی اندروید
    43. حافظه داخلی در برنامه نویسی اندروید
    44. آموزش کار با JetPlayer در برنامه نویسی اندروید
    45. JSON Parser در برنامه نویسی اندروید
    46. ارتباط با LinkedIn در برنامه نویسی اندروید
    47. نوار پیشرفت Spinner در برنامه نویسی اندروید
    48. بومی سازی در برنامه نویسی اندروید
    49. صفحه Login در برنامه نویسی اندروید
    50. MediaPlayer در برنامه نویسی اندروید
    51. Multitouch در برنامه نویسی اندروید
    52. Navigation در برنامه نویسی اندروید
    53. اتصال به اینترنت در برنامه نویسی اندروید
    54. NFC در برنامه نویسی اندروید
    55. PHP و MYSQL در برنامه نویسی اندروید
    56. Progress Circle دربرنامه نویسی اندروید
    57. Progress Bar در برنامه نویسی اندروید
    58. Push Notification در برنامه نویسی اندروید
    59. RenderScript در برنامه نویسی اندروید
    60. RSS Reader در برنامه نویسی اندروید
    61. Screen cast در برنامه نویسی اندروید
    62. SDK Manager در برنامه نویسی اندروید
    63. سنسورها در برنامه نویسی اندروید
    64. Session در برنامه نویسی اندروید
    65. Shared Preferences در برنامه نویسی اندروید
    66. پروتکل SIP در برنامه نویسی اندروید
    67. Spelling Checker در برنامه نویسی اندروید
    68. پایگاه داده SQLite در برنامه نویسی اندروید
    69. Support Library در برنامه نویسی اندروید
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه