iOS自动化测试

封闭系统下的自由

2017全国大学生软件测试大赛总决赛

iOS测试的困境

应用程序独立不可访问

工具开发难度高

沙盒机制

越狱 业界好用工具少

审核

时间长 可测性受限

灰度渠

道匮乏

沙盒机制下如何提高可测性

• 越狱——突破沙盒机制的限制开发可用工具方法

• 二次开发——提高工具的运作效率

01

无沙盒限制的速度自动测试

常见速度测试法

记录方式 优点 缺点

1.直接查看图片即可直接计算时间 1.非常占系统资源,影响软件本身的使用

截屏 2. 不需要另一个设备,截屏开始和结束可控 2. 需要大量的磁盘空间,在移动设备上不可

3. 图片清晰好处理 行

1. 系统资源占用相对截屏小很多 1. 需要先分帧才能计算时间,相对麻烦

2. 需要的磁盘空间小

录屏

3. 不需要另一个设备,截屏开始和结束可控

4. 图像清晰好处理

1.需要另一个设备,记录过程容易出错

1.不需要占用系统资源 2. 图像不清晰

拍照

2. 不用分帧直接通过图片能计算时间 3. 需要大量的磁盘空间

1.需要另一个设备,记录过程容易出错

录像 1.不需要占用系统资源 2. 图像不清晰

2. 需要的磁盘空间较小(但大于录屏) 3. 需要先分帧才能计算时间,相对麻烦

1.计时准确 1.可能和最终用户感知到的结果不同

日志计时

2.执行测试时无需其他操作,和正常使用软件时一样 2.执行测试前修要修改源码

速度手动测试的困境

01 速度指标越来越多,需要大量人力来满足测试需求

超过100项指标,每个指标要测试20轮

02 项目代码量越来越大,定位问题困难

100万+的代码量

03 测试数据受环境影响大,重测严重

网络波动、硬件等

速度自动思路

1、发送执行指令

3