1.测试的分类
* 黑盒测试
* 测试逻辑业务
* 白盒测试
* 测试逻辑方法
* 根据测试粒度
* 方法测试:function test
* 单元测试:unit test
* 集成测试:integration test
* 系统测试:system test
* 根据测试暴力程度
* 冒烟测试:smoke test
* 压力测试:pressure test
* 测试逻辑业务
* 白盒测试
* 测试逻辑方法
* 根据测试粒度
* 方法测试:function test
* 单元测试:unit test
* 集成测试:integration test
* 系统测试:system test
* 根据测试暴力程度
* 冒烟测试:smoke test
* 压力测试:pressure test
------
2.单元测试junit
* 定义一个类继承AndroidTestCase,在类中定义方法,即可测试该方法
* 在指定指令集时,targetPackage指定你要测试的应用的包名
* 在指定指令集时,targetPackage指定你要测试的应用的包名
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.itheima.junit"
></instrumentation>
* 定义使用的类库
<uses-library android:name="android.test.runner"></uses-library>
* 断言的作用,检测运行结果和预期是否一致
* 如果应用出现异常,会抛给测试框架
测试的两个特殊方法
测试方法执行前会调用此方法,一般用来初始化
@Override
protected void setUp() throws Exception {
super.setUp();
// 获取虚拟上下文对象
oh = new MyOpenHelper(getContext(), "people.db", null, 1);
}
测试方法执行后一定会执行的会调用此方法,一般用来释放资源
@Override
protected void tearDown() throws Exception {
// TODO Auto-generated method stub
super.tearDown();
db.close();
}
示例:
1.创建一个计算器的类,里面有个加法的方法。
public
class
Calz {
public
int
add(
int
x,
int
y ){
return
x+y;
}
}
2. 创建一个类继承AndroidTestCase
public
class
Test
extends
AndroidTestCase{
//继承AndroidTestCase
public
void
addTest(){
//实例化计算类
Calz calz =
new
Calz();
//调用类的加法
int
result= calz.add(10, 2);
//验证测试结果,断言。第一个参数是期望的值,第二个参数是实际的值。
assertEquals
(12, r
esult);
}
}
3.新建一个android test project工程
我们这里其实是有点投机取巧的,因为上面几个配置属性比较难记,所以我们采用先新建一个test project工程的方式,得到我们需要的这两个属性值。
还有需要注意的一点:targetPackage是配置文件上面的包名,也就是应用程序的包名,并不一定是代码所在包的包名。
4.运行测试
直接右键addTest()方法运行就行了。这个过程需要打开安卓手机模拟器,但是不会把程序安装到手机上运行,只会显示出下面的绿条表示通过。