Android-테스트
Android 프레임 워크에는 애플리케이션의 모든 측면을 테스트하는 데 도움이되는 통합 테스트 프레임 워크가 포함되어 있으며 SDK 도구에는 테스트 애플리케이션을 설정하고 실행하기위한 도구가 포함되어 있습니다. ADT를 사용하여 Eclipse에서 작업하든 명령 줄에서 작업하든 SDK 도구를 사용하면 에뮬레이터 또는 대상 장치 내에서 테스트를 설정하고 실행할 수 있습니다.
테스트 구조
Android의 빌드 및 테스트 도구는 테스트 프로젝트가 테스트, 테스트 케이스 클래스, 테스트 패키지, 테스트 프로젝트의 표준 구조로 구성되어 있다고 가정합니다.
Android의 테스트 도구
Android 애플리케이션을 테스트하는 데 사용할 수있는 많은 도구가 있습니다. 일부는 Junit, Monkey와 같은 공식이며 일부는 Android 애플리케이션을 테스트하는 데 사용할 수있는 타사 도구입니다. 이 장에서는 안드로이드 애플리케이션을 테스트하기위한이 두 가지 도구를 설명 할 것입니다.
- JUnit
- Monkey
JUnit
JUnit을 사용할 수 있습니다. TestCase클래스는 Android API를 호출하지 않는 클래스에서 단위 테스트를 수행합니다. TestCase는 Android에 종속 된 개체를 테스트하는 데 사용할 수있는 AndroidTestCase의 기본 클래스이기도합니다. JUnit 프레임 워크를 제공하는 것 외에도 AndroidTestCase는 Android 관련 설정, 해체 및 도우미 메서드를 제공합니다.
TestCase를 사용하려면 TestCase 클래스로 클래스를 확장하고 setUp () 메서드 호출을 구현합니다. 구문은 다음과 같습니다.
public class MathTest extends TestCase {
protected double fValue1;
protected double fValue2;
protected void setUp() {
fValue1= 2.0;
fValue2= 3.0;
}
}
각 테스트에 대해 조명기와 상호 작용하는 방법을 구현하십시오. 부울로 assertTrue (String, boolean)를 호출하여 지정된 어설 션으로 예상 결과를 확인하십시오.
public void testAdd() {
double result= fValue1 + fValue2;
assertTrue(result == 5.0);
}
assert 메서드는 테스트에서 기대하는 값을 실제 결과와 비교하고 비교가 실패하면 예외를 발생시킵니다.
메소드가 정의되면 실행할 수 있습니다. 구문은 다음과 같습니다.
TestCase test= new MathTest("testAdd");
test.run();
원숭이
일반적으로 "원숭이"라고하는 UI / 응용 프로그램 Exerciser Monkey는 키 입력, 터치 및 제스처의 의사 랜덤 스트림을 장치로 보내는 명령 줄 도구입니다. Android 디버그 브리지 (adb) 도구를 사용하여 실행합니다.
이를 사용하여 애플리케이션을 스트레스 테스트하고 발생한 오류를보고합니다. 동일한 난수 시드로 매번 도구를 실행하여 이벤트 스트림을 반복 할 수 있습니다.
원숭이 기능
Monkey에는 많은 기능이 있지만 모두이 네 가지 범주로 요약 할 수 있습니다.
- 기본 구성 옵션
- 운영상의 제약
- 이벤트 유형 및 빈도
- 디버깅 옵션
원숭이 사용법
monkey를 사용하려면 명령 프롬프트를 열고 다음 디렉토리로 이동하십시오.
android ->sdk ->platform-tools
디렉토리 안에 있으면 장치를 PC에 연결하고 다음 명령을 실행하십시오.
adb shell monkey -p your.package.name -v 500
이 명령은 다음 단계로 나눌 수 있습니다.
- adb-Android 디버그 브리지. 데스크톱 또는 노트북 컴퓨터에서 Android 휴대폰에 연결하고 명령을 보내는 데 사용되는 도구입니다.
- shell-shell은 명령을 시스템 명령으로 변환하는 장치의 인터페이스입니다.
- 원숭이-원숭이는 테스트 도구입니다.
- v-v는 자세한 방법을 나타냅니다.
- 500- 테스트를 위해 전송되는 주파수 conut 또는 이벤트 수입니다.
이것은 또한 그림에 표시됩니다-
위의 명령에서 기본 Android UI 애플리케이션에서 monkey 도구를 실행합니다. 이제 애플리케이션에서 실행하려면 여기에서해야 할 일이 있습니다.
마지막으로 다음과 같이 마무리됩니다.
이것은 아래 그림에도 나와 있습니다. 이 명령을 입력하면 실제로 테스트를 위해 500 개의 임의 이벤트가 생성됩니다.
예
아래 예제는 Testing 사용을 보여줍니다. 원숭이에 사용할 수있는 기본 응용 프로그램을 상자에 넣습니다.
이 예제를 실험하려면 실제 장치에서이를 실행 한 다음 처음에 설명 된 원숭이 단계를 따라야합니다.
단계 | 기술 |
---|---|
1 | Android 스튜디오를 사용하여 com.tutorialspoint.myapplication 패키지 아래에 Android 애플리케이션을 만듭니다. |
2 | src / MainActivity.java 파일을 수정하여 활동 코드를 추가하십시오. |
삼 | 레이아웃 수정 XML 파일 res / layout / activity_main.xml은 필요한 경우 GUI 구성 요소를 추가합니다. |
4 | 활동 코드를 추가하려면 src / second.java 파일을 작성하십시오. |
5 | 레이아웃 XML 파일 res / layout / view.xml을 수정하여 필요한 경우 GUI 구성 요소를 추가합니다. |
6 | 애플리케이션을 실행하고 실행중인 Android 기기를 선택하고 여기에 애플리케이션을 설치하고 결과를 확인합니다. |
내용은 다음과 같습니다. 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.
아래 코드에서 abc tutorialspoint.com의 로고를 나타냅니다.
<?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>
Android 테스트 애플리케이션을 실행 해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고
옵션으로 모바일 장치를 선택한 다음 응용 프로그램 화면을 표시 할 모바일 장치를 확인하십시오. 이제이 애플리케이션에서 테스트를 수행하려면 monkey 섹션 아래 상단에 언급 된 단계를 따르세요.