App测试要点总结:
-
1、UI测试
-
2、功能测试
根据产品需求文档编写测试用例。
软件设计文档编写用例。
注意:就是根据产品需求文档编写测试用例而进行测试。2.1 业务逻辑测试:运行app时,是否可以接电话,发短信,锁屏,充电等功能
2.2 功能点测试:检查功能点是否正常,是否满足需求文档
2.3 关联性测试:安装app后,是否和pc机连接,交互正常 -
3、交互性测试(交叉事件测试)
交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。
1) 多个App同时运行是否影响正常功能
2)App运行时前/后台切换是否影响正常功能
3)App运行时拨打/接听电话
4)App运行时发送/接收信息
5)App运行时发送/收取邮件
6)App运行时切换网络(2G、3G、wifi)
7)App运行时浏览网络
8)App运行时使用蓝牙传送/接收数据
9)App运行时使用相机、计算器等手机自带设备
-
4、弱网络测试
App在使用的过程中,难免会遇到弱网络环境,例如在公车上、在地铁里。在这种情况下,常常会出现网络抖动、上行或下行超时,导致应用中出现丢包。作为一个测试人员,我们要对app在上线前做一定场景的弱网络环境模型,并查看app在弱网络环境下是否存在某些未知的问题。下面是我们常用的弱网络环境场景:
(a) 3G弱网络信号场景模拟;
(b) 市区低速移动场景模拟;
(c) 郊区高速移动场景模拟;
(d) 请求回应超时上行超时场景模拟;
(e) 请求回应超时下行超时场景模拟;
(f) 网络抖动场景模拟;
测试方法:
- fiddler模拟弱网
- WeTest:WeTest腾讯质量开放平台
-
5、性能测试
- 压力测试:
- 电量流量测试:
- CPU、内存消耗:
- APP启动时长
- Crash率
- 内存泄漏
测试点场景考量:
1)极限测试:
在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应。
-- 内存满时安装App
-- 运行App时手机断电
-- 运行App时断掉网络
2)响应能力测试:
测试App中的各类操作是否满足用户响应时间要求 。
--App安装、卸载的响应时间
--App各类功能性操作的影响时间
3)压力测试:
反复/长期操作下、系统资源是否占用异常。
--App反复进行安装卸载,查看系统资源是否正常
--其他功能反复进行操作,查看系统资源是否正常
4)大数据量测试:
保证手机更新大数据量程序成功率,主要在特定环境下,客户 端一次性更新大量的数据,客户端能否正常处理,分为三种情况:
a.客户端第一次使用,的一次就更新大量数据
b.客户端在平时更新中,更新大量的数据
c.客户端已经在手机本地下载很多数据后,再次更新大量数据。
5)性能评估:
评估典型用户应用场景下,系统资源的使用情况。
6)Benchmark测试(基线测试):
与竞争产品的Benchmarking, 产品演变对比测试等。
偏重客户端侧CPU、MEM、流量、电量以及客户端在不同网络环境下响应速度等等。
-
6、兼容性测试
- [Android]版本的兼容性
- 手机分辨率兼容性
- 网络的兼容性:2G\3G\4G\WIFI,弱网下、断网时
App的数据和运用是否正确 - APP跨版本的兼容性
(1)适配性测试:
1>.手机不同分辨率支持:客户端支持的分辨率等
2>.手机不同版本的支持:2.34.04.4等;在测试计划中:需要安排单独的时间用于android不同系统的兼容性测试,包括2.0以下版本和4.0以上等
3>.手机不同厂家系统的支持:不同厂家会有不同android系统,例如:小米,华为,锤子对市面上主流手机的支持
4>.手机不同尺寸的支持:3.5到5.0屏幕在UI显示有区别,要支持最大到最小。
解决方案:
a.自行购买或者使用借来设备来实际验证。耗费资金,购买几台。
b.第三方云测试的解决方法。
c.整理不兼容的地方,然后去分析app总可能不兼容的代码。对技术能力的要求比较高,前期也需要花费不少的时间。
d.利用友盟等第三方统计平台获得应用对应的TOP N 的记性重点进行测试。
(2)安装、卸载测试:
1>.生成apk文件在真机上可以安装及卸载;
2>.Android手机端通用安装[工具],如:豌豆荚
(3)在线升级测试:
1>.验证数字签名
2>.升级后可以正常使用。
3>.在线跨版本升级。
-
7、易用性测试
7.1 界面与交互性测试:符合安卓交互规范;用户体验良好;使用方便。快捷
7.2 可用性测试:可用性强,操作简单;使用操作错误率低;完成任务使用时间短 -
8、异常测试
1)交互异常性测试:客户端作为手机特性测试,包括被打扰的情况;如来电、来短信、低电量测试等,还要注意手机端硬件上,如:待机,插拔数据线、耳机等操作不会影响客户端。
2)异常性测试:主要包含了断网、断电、服务器异常等情况下,客户端能否正常处理,保证数据正确性。 -
9、网络测试
主要是模拟客户使用网络环境,检验客户端程序在实际网络环境中使用情况及进行业务操作。外网测试主要覆盖到wifi\3G\4G、net\wap、电信\移动\联通,所有可能的组合进行测试。
原则:a.尽可能全面覆盖用户的使用场景,测试用例中需要包含不同网络排列组合的各种可能; b.模拟信号被屏蔽时候,客户端的影响等; c.做外部场景测试,在高山、丘陵、火车上等特殊环境下进行全面测试。
-
10、电量与流量测试
手机的电量及流量测试主要是为了站在用户角度思考,毕竟电量、流量消耗比较大,会影响客户的使用感受。手机端量使用是和CPU使用率成正比的。
由于这个没有比较详细的规定,只能出一个通用范围。CPU使用率不能超过10%以上,流量不要超过10M以上。一般通过android手机端一些监控软件获取数据。
当然也可以通过代码打点获取。
电量测试手段:
a.利用硬件设备:比如耗电量测试仪
b.第三方软件来检测:手机自带电量监控、360助手、GT等
c.命令方式(5.0以上版本)
//初始化batterystats数据
adb shell dumpsys batterystats --reset
//得到整个设备的电量消耗信息
adb shell dumpsys batterys > /storage/sdcard0/Download/b1.txt
//得到指定app相关的电量消耗信息
adb shell dumpsys batterystats 包名 > /storage/sdcard0/Download/b1.txt
流量测试:
流量分两种:a.操作app b.不操作app
测试方法:
a.各类云测平台、DDMS的Network
b.命令(模拟器不支持,某些真机不支持)
ps | grep com.android.browser 获取pid
cat /proc/pid/status 获取uid
cat /proc/uid_stat/uid/tcp_snd 发送的流量byte
cat /proc/uid_stat/uid/tcp_rcv 接受的流量byte
c.android自带api
long uidrx=TrafficStats.getUidRxBytes(10053); //10053表示uid
d.抓包(最好用root真机练习)
通过tcpdump抓包,再通过wireshark直接读取报信息来获取流量
CPU:
CPU
a.第三方工具、各类云测平台
b.dumpsys命令
adb shell dumpsys cpuinfo | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
c.top命令
adb shell top | grep com.android.browser > /storage/sdcard0/Download/cpu.txt
tips:关注活动状态和静默状态下的情况
-
11、安装、卸载测试
2.1 app 安装、卸载、启动、运行、清除缓存/数据运行看看是否正常
2.2 是否支持豌豆荚、91等主流辅助工具,及是否和第三方软件兼容。 -
12、在线升级测试
在线升级安装及使用测试:(1)验证数字签名;(2)升级后是否可以正常使用;(3)在线夸版本升级。