1. 前言
android软件测试工程师指理解android产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
2. 环境配置
测试的前提是具备测试环境,就比如说测试android应用,你就得有测试环境,需要确定android SDK,JDK环境等。
3. 自动化工具的使用
python+appium
4. 常规工具
adb,am,抓包工具,monkeytest,fidler,dumpsys
ps:
adb即Android Debug Bridge,Android调试桥,用于连接android设备环境,方便开发者进行调试用的。
常见使用场景用于安装,卸载,拷贝,连接设备等。
常用命令:
adb install -r apkPath //安装应用
adb uninstall apkPath //卸载应用
adb pull //拷贝设备数据
adb push //拷贝数据到设备
adb connect ipAddress //连接设备地址
adb disconnect ipAddress //断开设备连接
adb kill-server //杀掉adb服务
adb start-server //启动adb服务
am命令常用于手动通过命令启动一个活动,服务及手动发送广播事件
常用命令:
am broadcast -a actionName --es extraPram //发送带参广播
am start -n packageName/className //启动指定应用的指定活动
am startservice -n packageName/className //启动指定应用的指定服务
dumpsys常用于打印运行时的各种系统服务信息
常用命令:
dumpsys package //获取包信息
dumpsys activity //获取activity信息
dumpsys meminfo //获取内存信息
dumpsys cpuinfo //获取cpu信息
dumpsys power //获取电源管理信息
dumpsys wifi //获取wifi信息
monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
常用命令:
指定一个包 monkey -p packageName -v 1000
指定多个包 monkey -p packageName -p packageName -p packageName -v 1000
不指定包 monkey -v 1000
参数说明:
-p:用于约束限制,用此参数指定一个或者多个包,指定包之后,monkey将只允许启动指定app,如果不指定包,monkey将启动系统中所有的app
-v:用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细。
5. 用例编写
测试用例(case\测试点):指导软件测试工程师找bug的(思想逻辑的整理)。
用例意义:
- 存档;
- 产出;
- 回归测试。
制定原则:
- 测试用例要包括欲测试的功能、应输入的数据和预期的输出结果。
- 测试数据应该选用少量、高效的测试数据进行尽可能完备的测试。
包含范围:
- 正确性测试:输入用户实际数据以验证系统是满足需求规格说明书的要求;测试用 例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。
- 容错性测试:程序能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行任意操作。
- 完整性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部信息(数据库或文件)的完整。
- 接口测试:测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。
- 压力测试:输入10条记录运行各个功能,输入30条记录运行,输入50条记录进行测试。
- 界面友好性测试:理解和使用该系统的难易程度。