一:概述
1.测试中会执行的场景:
在测试前端(APP、RN)页面时,除了功能以外,还会考虑数据返回不同内容后前端是否可以正常展示,例如:后台返回正常数据(1条内容、多条内容、带筛选项、带搜索内容、订单(待支付、待确认、已取消、已支付、已入住、已离店、已退款)、内容过长等)、后台返回异常数据(数据结构返回错误、返回内容部分缺失、后台报错数据返回等)、修改前端请求(必传值缺失等)查看响应后的页面
补充(21-09-15):
构造不同数据场景,进行页面的刷新、点击、重复进入;查看页面是否存在崩溃情况。
2.调研的工具有:
charles、fiddler、琴鸟、mitmproxy
3.解决什么样的问题:
在使用了charles强大功能后(像map local、map Remote),有时会思考,能不能实现自动化的方式帮助我们配置这些代理文件或简化操作,来提高测试效率。
4.目的:
MOCK技术结合深度链接(短链路)的方式,对具体页面进行多场景精准覆盖
引用网上文章的一句话《精准测试最底层的核心技术:“一种基于用例与源码双向追溯的测试装置及方法”,类似在重建量子纠缠的场景和数据。》
5.计划:
最终,选择了mitmproxy来完成我们的想法。
第一阶段:
①通过脚本自动化调起具体页面,展示预先处理好的数据,最终页面结果保存下来,通过人工方式进行check
第二阶段:
①引入图像技术,对不同场景展示的前端页面进行断言处理
第三阶段:
①结合Jenkins实现流水线配置
更多的探索:平台化、支持多设备
6.遇到的问题
①前端UI适配问题,如何增加校验点
②前期对业务的字段不够熟悉,数据层如何覆盖全面
③实现了动态切换数据文件,思考在加载完数据后如何再进行点击操作