Android单元测试

一、测试相关概念

app测试是整个软件开发过程中最后的把关者,关乎到代码的健壮性、安全性和使用的合理性、便捷性等。

好的app不是写出来的,是测试出来的

1.测试是否知道源代码

黑盒测试 不知道代码

白盒测试 知道代码

2.按照测试的粒度

方法测试

单元测试 如android开发中的Junit测试

集成测试

系统测试 如电力、银行等系统的测试

3.按照测试的暴力程度

冒烟测试 如CPU等的硬件测试

压力测试 如12306网站等的测试

压力测试对应与android的monkey测试,使用cmd进行测试 ①adb shell ②monkey -p package count

目前流行的云测试,如百度云测腾讯云测等等

二、单元测试

实例演示如何进行单元测试,第一步创建一个Calc计算类并添加一个add方法,然后添加一个单元测试包并在里面再添加一个测试类及测试方法,效果如下图,代码见后面:

Calc.java代码:

package com.zgs.Junit;

public class Calc {
	public int add(int x,int y) {
		return x+y;
	}
}
CalcTest.java代码:
package com.zgs.JunitTest;

import com.zgs.Junit.Calc;

import android.test.AndroidTestCase;

public class CalcTest extends AndroidTestCase {
	public void addTest() {
		Calc calc = new Calc(); 
		int result = calc.add(8, 2);
		assertEquals(10, result);
	}
}
最重要的一步是修改清单文件AndroidManifest.xml,添加instrumentation指令和uses-library使用库,其中Instrumentation指令中的targetPackage包名要对应实际项目的报名,在编写其它单元测试时直接将这两段代码拷贝过去就OK了 ,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zgs.Junit"
    android:versionCode="1"
    android:versionName="1.0" >

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.zgs.Junit" >
    </instrumentation>

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="22" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <uses-library android:name="android.test.runner" />

        <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>
    </application>

</manifest>
运行测试注意事项:

①切到测试类文件,如本例中的CalcTest.java

②在Outline窗口中找到对应的测试方法,如本例中的addTest()

③右击Run As =>Android JUnit Test

④测试结果会在JUnit窗口中显示,绿条表示测试通过,红条表示测试失败


instrumentation指令和uses-library使用库应急处置方案

新建一个测试项目,在项目中的清单文件会自动将指令和使用库加入到测试项目中,此时可以将这两段代码拷贝到自己项目的清单文件中,也可以在测试项目中进行单元测试


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值