1、支付业务资金安全防控的测试自动化实践陆鹏超腾讯、资金安全自动化测试负责人陆鹏超腾讯-支付平台研发部-资金安全自动化测试负责人12年腾讯测试开发工作经验先后从事过安全、电商、社交、支付类业务质量保障工作擅长大前端与后端测试、工具平台规划与研发目录01CONTENTS0203传统资金安全防控的问题与挑战资金安全测试自动化的落地实践总结与规划012024 深圳站传统资金安全防控的问题与挑战金融支付业务架构简图每日海量资金流动我们是基础支付部门,统一对外提供底层支付能力支持,资金汇集地统一网关对外金融业务微信/手Q/支付退款充值转账结算支付单退款单提现单转账单收款单结算单账户核心银行渠道金融支付渠道余
2、额表流水表支付单 转账单付款单 退款单渠道表什么是支付业务的资金安全?0资损我方0资损用户0资损(短款)(长款)支付平台:用户资金体验好(资金无延迟)GPT4:支付业务的资金安全概念是指在进行电子支付、移动支付、在线支付等各种支付业务时,确保用户资金不受损失、不被挪用、不被盗用的一种保障措施。资金安全在支付业务中至关重要,涉及到用户的财产安全和支付平台的信誉。传统资金安全防控体系简图事件监听业务系统请求事件支付退款充值转账结算 DB生产流量操作数据核对系统数据核对规则库告警资金恢复体系重做重入调账人工日志系统传统资安防控:基于事件+数据建立专家规则核对自动拦截资损产生资损识别资损恢复123资金
3、安全防控体系存在的问题修复成本资金安全是金融支付业务的生命线,能否在研发阶段尽量发现所有资金安全问题?资损常见归因编码缺陷(47%)设计缺陷(16%)人工误操作(12%)配置错误(9%)系统/组件异常混沌工程问题1、线上核对滞后2、基于规则核对依赖规则完备性3、业务差异性大规则很难通用4、异常测试执行场景组合过多“早发现、多省钱”研发阶段资金安全测试的挑战资金安全测试能力左移现状需求阶段设计阶段开发阶段测试阶段预发布发布运营核对核对左移测试自动化人工验证checklist混沌工程代码规范AICode已具备的能力能力不足多数不具备图例:核对左移:规则不全、场景缺失人工验证:工作量过大,聚焦核心代
4、码规范:只能检查最基本的代码问题AI Code:还不成熟,可提效但任重道远checklist:人工审核成本高,形式化完善资金安全自动化测试能力必要!目标:0资损成本高验不全022024 深圳站资金安全测试自动化的落地实践指导原则:资金安全FRFR方法论15研发设计原则4大易错根因错漏重迟写错算错传错 非幂等重入错重做错 漏校验漏逻辑 时效错 98开发实现细则每版本*n接口*m参数*98细则检查可行出路:自动化“加人能解决的不是问题”资金安全测试需要关注什么?“更少的人做更多的事”资金安全军规测试可自动化范围98前置条件可自动模拟校验模式固定可编码环境稳定构建研发阶段运营阶段核对核对左移评审操作
5、风险管控“想-是主观的,能-是客观的”能不能自动化实现是要论证的可自动化三原则现实:需求coding平均完成时间7.78d问题:1、用例能及时编写完成么?2、能准确识别所有问题么?3、业务能覆盖完全么?97%的免测需求时间只会更短人工管理核对左移自动化用例资金安全测试自动化落地的要求高效稳定全面准确实现0.5h进一步提效:增量生成及变异能力引入能力变更 协议变更阻塞点异常用例的调试工作量数据驱动也有参数分析成本业务变更的人工分析成本全自动化?变更增量生成?增量生成变异生成基于流水线上协议变更内容自动识别数据驱动自动生成自动commit+人工分析合流引入变异技术全自动生成可执行用例专属用例变异用
6、例172415h/场景(2030+用例)挑战:编写成本依然很高19s/场景(2400+用例)解决方案:异常构造自动化?数据分析自动化?(场景*41军规(2400+用例)*0.5h)提效实践变异测试流量变异核心原理:前置动作触发被测动作结果检查按军规构造异常触发被测接口按军规检查结果正向用例xx支付xx_order.fcgixx_pay.fcgixx_order_serverxx_._serverxx_order_servicexx_._servicereq:”MSG”:“2024051012345”,“uin”:“12345678”“xxx”:“”rsp:”result”:“0”,“msg”: