1 性能测试
1)基准性能 benchmark:性能是否达标,性能是否有问题,
参照物是基准性能,1个用户是否达到基准性能,若没有,多个用户肯定也不会达到基准性能;
2)强度比较大:(拐点分析法,监测CPU、性能响应时间这些出现拐点就是瓶颈时刻)
- 最大用户数:如果到最大用户,系统可以用不会崩溃,若超过这个用户数,系统会崩掉。
- 最优用户数:用户数使系统刚刚好进行处理,超过这个用户数,性能会下降。
注意:高强度测试、时间要充足
2 稳定性测试
注意:时间充足,一定的负载,去掉思考时间(think time)
工具:使用monkey
问题1:对于所有的稳定性测试,通过标准是什么?
大部分是以下标准,不同公司不同,没有标准就用以下标准。
- 稳定性合格:monkey脚本至少跑3个小时以上,操作时间间隔为300ms,一次都不能出现crash、ANR(卡死)等异常。
- 稳定性良好:monkey脚本至少跑8个小时以上,一次都不能出现crash、ANR(卡死)等异常。
问题2:monkey中常用的压力测试命令有哪些?
-v:显示日志详细级别,一个-v表示最简单的级别,三个-v是最强的级别。
根据app的特点而进行设置,某些app滑动多,某些app点击多,这样可以更贴近app应用场景的设置随机事件进行测试。
-pct +事件类别百分比:控制操作内容;如果事件类别百分比为0,就可以不进行滑动。
–s 10 100 : -s 10 前后两条命令相同,那么其随机的内容也是相同的,这样可以在对比测试的时候用到,随机数种子。
问题3:如何重现ANR或crash场景?
必须加上-s
问题4:如何提取crash或ANR的信息?
抓取日志信息
问题5:如何设置mokey脚本运行8个小时?
间隔时间算
例如:8小时,间隔300ms
3600s81000/300=96000次
问题6:如何忽略crash(异常)或ANR(无响应)事件?
–ignore-crashes 忽略崩溃和异常
–ignore-timeouts 忽略超时
两个参数也可以一起使用
3 兼容性测试
整机测试:1台手机 + n个app => 有没有命令能够完成apk的安装、卸载、打开
app兼容性:1个app + n个手机 => 用云测
熟悉功能:Python操作命令行
os.system(command),能运行,但无输出,无法获取到运行命令的输出
os.popen(),该方法调用管道来实现,调用结束后返回一个记录调用输出结果的file 对象
os.popen(command[,mode,bufffering])
subprocess.Popen类来创建、管理子进程
…
测试编码步骤:
1)获取apk包的路径
2)根据路径安装apk
3)获取每个apk的包名
4)调用monkey进行操作
5)获取并分析日志
6)检查日志并判断是否存在anr或crash的关键字,并标识结果
7)卸载apk