概述
作为一个Android开发工程师,你不仅需要开发软件,同时需要简单了解Android测试,而常见的也就三类测试:单元测试、UI测试、压力测试。
单元测试
单元测试时我们最常见的测试了,可以针对功能模块、类、方法进行测试,我们完成代码后,如果能进行一遍单元测试,能够极大减少线上出现的bug概率。
首先,我们新建一个项目,直接next下去。
在项目的app模块中的build.gradle中添加一下依赖
testCompile 'junit:junit:4.12'
-
右键需要测试的类名(如果是方法,右键方法名),然后选择Go To ——>Test,如下图
-
点击“Create New Test”,此时会弹出一个界面,如下
如果你只需测试某个方法, 那勾选对应的方法即可,其中第一行必须选择JUnit4,然后点击OK,进入弹出如下界面
选择途中框出的即可,然后点击OK,就回自动生成测试类 ------- 原因:单元测试是在src下test文件夹中新建类,包名与测试类一样。 -
找到对应的测试类,打开后,如下图
@Test下的方法可以编写你需要测试的逻辑,编写好后。如果你想单独测试某个方法,可以右键方法Run'方法名',当然,你还可以右键类名,选择run'类名',然后就可以测试整个类中的测试方法。
这时,单元测试就完成了。
UI测试
UI测试在实际的工作中其实应用比不多,主要就是通过测试代码来实现界面的点击更新。
- 添加依赖
在defaultConfig中添加
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
在dependencies中添加
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
-
src下创建androidTest文件夹(一般添加依赖后会同步生成)
右键Java创建测试类,然后再测试类中实现相应的逻辑,具体逻辑省略,如果想要了解,请查看:
http://www.jianshu.com/p/03118c11c199
压力测试
压力测试常用的工具就是monkey,位于SDK\tools\bin,用命令行测试,通过连续n次点击你的应用,测试应用的稳定性。
命令行:
adb shell monkey -p your.package.name -v number
your.package.name:你的应用包名
number:点击次数参数: -v
用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:
日志级别 Level 0
示例 adb shell monkey -p com.htc.Weather –v 100
说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
日志级别 Level 1
示例 adb shell monkey -p com.htc.Weather –v -v 100
说明 提供较为详细的日志,包括每个发送到Activity的事件信息
日志级别 Level 2
示例 adb shell monkey -p com.htc.Weather –v -v –v 100
说明 最详细的日志,包括了测试中选中/未选中的Activity信息