SDK专项测试笔记
一、专项测试简介
SDK的专项测试范围一般包括稳定性测试、性能测试、健壮性测试。
稳定性测试:SDK长时间触发埋点,观察埋点的到达率、延迟率、重复率。
性能测试:在做稳定性测试时,同步用性能监控工具观察SDK的性能指标,一般观察内存、CPU、流量、耗电量。
健壮性测试:模拟异常场景,用于测试系统在出现故障时,是否能够自动恢复或者忽略故障继续运行,测试场景包括故障注入–模拟服务返回异常测试,高负载测试,弱网测试,以上异常场景下除了观察SDK的容错能力,同步要观察在这些极端场景下SDK埋点的到达率、延迟率、重复率。
二、专项测试工具选型
1、稳定性测试:需要长时间触发自动埋点,自己编写脚本可以利用网易开源的airtest,也可以在SDK的demo上预设自动触发埋点的功能按钮,根据需要自己设置触发埋点。
2、性能监控工具:我是运用公司的性能猫,大家可以用采用腾讯的性能狗
3、健壮性测试:模拟服务异常可以用fiddler,弱网可用Network Emulator Toolkit , 高负载用 stress.
三、专项测试实践
(一)稳定性、性能测试
稳定性测试、性能测试是同步进行,进行长时间稳定性测试时,用性能监控工具同步监控SDK的cpu、内存、流量、耗电量等
1、demo上设置好场景
2、运行起来后打开性能监控工具,iperfcat选择需要监控的指标进行监控
3、同时埋点的到达率、延迟率、重复率
(二)健壮性测试
主要介绍弱网测试和高负载测试
1、弱网测试:手机需要连接电脑热点,利用network工具根据测试场景设置丢包率和延迟率以及带宽
弱网设置后,可以用命令 ping www.baidu.com -t 验证网络是不是真的有效做个若望设置前后对比
2、高负载测试:高负载包括高cpu、高内存,通过stress工具模拟cpu、内存高占用的场景,高负载设置后,可以通过性能监控工具观察命令设置是否生效。
使用如下命令:
1、adb push D:\sdkTest\stress /data/local/tmp/
根据自己stress 实际的位置更改路径,上传至手机上
2、adb shell chmod 777 /data/local/tmp/stress
修改文件的权限
2、adb shell
cd /data/local/tmp
进入stress对应的目录
3、 ./stress -c 8 -t 90 --timeout 1800s
高cpu测试,根据自己手机的cpu配置,调整命令参数
4、./stress --vm 4 --vm-bytes 1G --vm-hang 50 --timeout 1500s
高内存测试,根据手机的内存配置,调整命令参数