Android应用测试方法总结
这是一份有关Android应用测试学习的总结文档,对Android应用测试进行了一个简单的梳理。相关测试方法的应用过程以及一些测试工具的设计实现等详见我的博客:http://blog.csdn.net/winstonwolfe
图片可能看不太清,提供文本格式内容如下:
Android应用测试 | UI自动化测试 | 白盒自动化测试 | Instrumentation测试框架 | Android系统自带; |
robtium开源库 | 丰富了Instrumentation的API; | |||
黑盒自动化测试 | Monkey工具 | 通常用来做随机性测试; | ||
Monkeyrunner工具 | 通常做较为明确的黑盒UI测试; | |||
非UI组件测试 | 测试Service组件 | 使用ServiceTestCase<T>类进行测试,基本的原理是:通过提供模拟对象的方式创建一个隔离环境来测试; | ||
测试Content Provider | 使用ProviderTestCase2<T>类进行测试,基本的原理是:模拟一些核心Android对象,如Context、ContentResolver等,并结合RenamingDelegatingContext来重定向数据库及文件的操作,以此在一个完全隔离的环境中测试内容供应组件; | |||
WebView应用测试 | 测试的立足点是:Android的WebView控件能够提供所加载的网页前台javascript代码与应用后台的Java代码的交互。 | |||
兼容性测试 | 使用Android提供的一套兼容性测试用例集合(CTS)。 | |||
性能测试 | CPU | 复用Linux的方法,分析/proc/stat文件 |
| |
使用Traceview分析操作日志 | 使用Debug类打开操作日志记录功能,打开后Android会详细记录应用花在每个线程及线程上的每个函数上的调用时间,记录完毕后使用SDK自带工具traceview查看。需要设备安装有SD卡,而且待测应用要有SD卡的访问权限。 | |||
使用DDMS | 适用于在没有待测应用源码的情况下启用记录操作日志 | |||
使用am profile命令 | 同样可以用来指定在进程运行时打开操作日志记录功能 | |||
内存 | 复用Linux的分析方法或者使用Android提供的API:getProcessMemoryInfo等等。 | |||
网络 | 使用Android提供的API:TrafficStats.getUidTxBytes等 | |||
其他问题 | Android平台脚本编程 | 使用Android脚本层(SL4A),能够直接在Android设备上编写、执行多种脚本语言,实现与系统的互操作。 | ||
持续集成 | Ant和Maven都可以 | |||
代码覆盖率 | 使用emma可以实现 | |||
与PC互操作 | adb | |||
分析函数调用树 | dmtracedump工具 |