Android 测试基础理论
2021-11-30 本文已影响0人
田田ww
参考Android官网 测试基础知识
1、基于模块开发
基于模块开发的代码更便于测试,每个模块代表用户完成的一项特定任务。“任务列表”应用可能包含用于创建任务的模块、查看有关已完成任务的统计信息的模块,以及拍摄要与特定任务相关联的照片的模块。
2、配置测试环境
根据执行环境组织整理测试目录
-
test
目录包含在本地计算机上运行的测试,单元测试 -
androidTest
目录包含在真实设备或模拟机上运行的测试。包含集成测试、端到端测试和仅靠JVM无法完成功能验证的其他测试。
考虑在不同类型设备上运行测试的利弊
是否使用测试替身
3、编写测试

- 小型测试:单元测试,验证应用行为,一次验证一个类,占比70%
- 中型测试:是指集成测试,用于验证模块内堆栈级别之间的互动或相关模块之间的互动,占比20%
- 大型测试:是指端到端测试,用于验证跨越了应用的多个模块的用户操作流程,占比10%
编写小型测试
- 依赖安卓框架使用
androidx.test API
- 依赖资源文件,在
app/build.gradle
文件中启用includeAndroidResources
android {
// ...
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
本地单元测试
尽可能使用 AndroidX Test API
以便单元测试可在设备或模拟器上运行。
插桩单元测试
可在物理设备或模拟器上运行,执行时间明显高于本地测试单元,最好只在必须使用设备硬件评估时采用。
运行插桩测试时,AndroidX Test
会使用以下线程:
- 主线程,也称为“界面线程”或“Activity 线程”,界面交互和 Activity 生命周期事件发生在此线程上。
- 插桩线程,大多数测试都在此线程上运行。当您的测试套件开始时,
AndroidJUnitTest
类将启动此线程。
如果您需要在主线程上执行某个测试,请使用 @UiThreadTest
注释该测试。