得物App版本订单详情页中的文案有对应的文案配置后台统一收口文案取值,优化订单详情页的信息展示效果。
基于交易侧业务的广度和复杂度,仅仅靠人还是有一定的局限性,当面对此类业务特性时,功能为主+技术辅助的方式也更多的被应用,对于此次的需求,得物小伙伴们也尝试使用更多的方式尽可能保障线上质量,接下来就介绍下配置类文案测试订单侧的测试右移实践。
在得物App的版本迭代中,为提升用户体验,产品侧提出订单详情页优化新需求,定义客户端模块组件,制定各个模块的信息展示规范,重新梳理订单详情页的全部文案,搭建文案配置后台,支持订单详情页头部文案支持可配置,方便用户清晰了解订单详细信息。
功能包含:
取值逻辑:
基于订单侧多订单类型、多业务流程等特性,此次采取的测试策略为:流程相同订单取一种类型测试+特殊订单类型重点覆盖的方式。
此次新需求所涉及的业务广度以及测试难点和痛点,研发跟测试也进行了复盘,针对当前难点痛点分析讨论,引出下面几点尝试:
(1)后续测试中,特殊流程订单类型重点覆盖策略不变,开发提出测试环境保留最复杂配置 。
(2)自动化验证文案展示,需要做到全量场景覆盖。
(3)线上所有订单类型、所有节点文案在业务监控平台新增脚本尝试。
使用者的行为不可预知,那么在代码设计开始就需要从严考虑,对所有可能发生的场景底层都要做基本处理,同样对于测试来说,各种可能发生的场景都需要考虑到,基于上述难点痛点以及有限的资源情况下,测试侧同样也需要考虑更多的方案。具体如下:
(1)测试环境保留最复杂文案配置
讨论下来,该方案不可行,有些字段只有特定订单类型有,都配置成最复杂文案后,会有部分订单类型展示成${xxxx},迷惑测试。最终采用现在默认配置成与线上一致的文案。
(2)自动化脚本进行接口测试的方式校验
使用自动化脚本进行接口测试的方式讨论发现有如下优缺点:
(3)业务监控平台增加脚本实现线上提前灰度
得物自研业务监控平台实现提前灰度方案优缺点如下:
针对无法覆盖到线上真实配置并且对所配置的内容check异常,结合上述两种方案的优缺点,在业务监控平台增加脚本刚好可以实现这一部分场景的覆盖,在后续的迭代规划中,类似的功能仍有不少,讨论后决定对此类功能的校验增加业务监控脚本对线上数据check并告警,上线后能提前灰度,发现问题。
得物自研的一款用于数据和状态验证的平台,数据流向如下:
通过业务监控平台建立校验接口返回值文案中包含异常数据则飞书告警的规则,及时发现问题,具体实现如下:
目前线上告警采用的最多的是飞书告警,告警如下:
业务监控平台目前支持防资损类的巡检告警,后续平台功能支持场景增加后,可满足更多的场景,则可以替代部分人工测试,提高测试效率。
业务监控平台若是可以支持预发环境,则配置中心在预发环境的配置同步线上配置,可以在预发验证文案的变更。业务监控平台能够支持指定机器访问,发布后摘流,线上验收文案的正确性。
通过在业务监控平台增加脚本实现文案测试右移,右移到预发或者线上,拿线上最全的数据、线上真实的配置,获取各种订单类型、各个状态下的真实文案。同时大大减少了造数的时间损耗,提效的同时保障业务质量。
文案虽小,但体验不佳,面对订单侧深而广的业务交互,如何能够高效且有效测试,是每一个订单组测试小伙伴都在不停思考和探索的问题,包括当前应用自动化case、流量录制回放、防资损监控等方式,都是回归测试的利器,一起为质量保驾护航。方案仍在不断迭代中,我们的测试探索并没有停止。同样我们的测试策略跟技术手段都在不断的优化,质量保障是整个团队的事情。欢迎有其他idea的小伙伴们一起交流经验。
*文/Kelly