对于这些风险,如果没有处理,理论上都可能会产生展示异常、交互异常、性能、安全等问题,导致用户无法继续使用或在使用过程中产生不好的体验比如用户操作下单过程中,请求出现故障未返回状态码为的响应,由于没有获取到预期接口响应的信息而发生崩溃,就会中断用户的使用流程基于接口数据变异的健壮性测试方案设计在实际的客户端测试执行过程中,测试人员会考虑测试异常输入的场景,但由于成本无法做到无穷尽的测试,的风险
从美团平台业务的
科威特手机号码列表 历史故障分析中,我们发现:网络请求返回的数据与实现预期不符引发的或核心功能缺失问题导致的故障占比最高,且影响面较广比如接口返回非预期数据时,客户端处理数据类型转换异常导致闪退,即使5分钟内操作降级仍影响了百万量级的用户因此美团平台业务的健壮性测试探索优先从发现网络请求返回数据导致的异常开始针对于发现请求接口返回客户端非预期数据导致的,或者核心模块缺失问题这个诉求,我们调研后发现方案的基本原理都是相似的,即以网络请求的原始响应为基础,根据规则进行变异构造,使用代理工具改写响应体返回给客户端,在端上设备做异常检测
但是都存在一些问题不能满足诉求,比如测试变异数据是根据预置或者自定义规则随机生成组合,随机性过大,不能有效拦截健壮性问题;但如果不做随机,产生的用例组合量过大,测试不能在合理时间范围内结束;另外在检测能力方面,不具备发现业务异常或功能模块异常的能力因此,我们结合通用方案做了一些自定义改造,整体检测方案包含静态检测和动态检测两部分静态检测,主要是指静态代码扫描,将典型代码编写规范问题转化为自定义静态代码扫描规则,管控增量代码,同时长期治理存量风险