背景介绍
xx 是广告投放系统,将广告主的推广信息推送给全网精准用户
业务介绍
主要分为两个部分:
-
广告检索系统将广告主的广告推送给意向人群
-
用户在客户端看到广告后,可能会产生点击等相关转化,并将一系列转化上报。
架构介绍
–广告投放平台
- 本次忽略
–广告检索系统
-
广告召回
-
广告过滤
-
广告排序
-
广告信息补充与选择
-
广告展示与转化上报
测试计划
测试目标
业务背景:本次属于比较大的迭代升级,有客户基础。业务主要目标:不可影响用户体验;不可影响客户推广投放,不可有较大的收入损失(用户0体验问题,不可有P2及以上的其他类型bug;其他隐含:用户量大:性能需要考虑,不同设备不同策略会导致请求不好单一构造:考虑线上引流完善测试)
团队背景:基础设施简略,资源有限;团队主要目标:业务为先,保障产品质量,发现bug
测试目标设定:(夯实基础,丰富测试手段,减少线上问题,避免漏测,线上问题管理得当及时闭环等)
测试方案的主要目标为
重要紧急程度划分 | 紧急 | 不紧急 |
---|---|---|
重要 | 需求功能测试流量回放对比测试性能测试 | 回归测试 团队赋能 |
不重要 |
阶段 | 目标 | 时间 | 测试人 |
---|---|---|---|
阶段一 | 模块一 | xx~yy | 测试A、测试B |
阶段一 | 模块二 | xx~yy | 测试A、测试B |
阶段一 | 模块三 | xx~yy | 测试A、测试B |
阶段二 | 性能测试 | xx~yy | 测试C |
阶段二 | 客户端展示新结构广告测试 | xx~yy | 需要有细分表 |
阶段三 | 团队赋能 | 上线后时间待定 | 待定 |
测试策略
功能测试策略
为了能更好的完成功能测试,我们设计了以下几个方案
计划一:环境&数据准备
环境准备:本次测试结果准确依赖对比测试,需要部署AB环境(包括线下环境,预发布环境等)
数据准备:广告库准备(旧结构广告改成成新结构广告);请求准备:线上抓取
配置准备:新配置需要提前正确配置,否则导致广告无法正确召回(非代码问题的配置问题)
计划二:测试用例准备
梳理各个业务模块,业务上下游,配置加载;梳理每个模块的核心功能点,整理出相应文档
分模块整理测试用例(特别是特殊逻辑(容易漏测,重点评审))
计划三: 流量回放-结果对比测试
背景: 获取线上流量,并需要在AB环境执行线上请求对比返回结果
冲突: 召回广告不一定完全一致,也存在广告一致时个别字段存在随机性。
解决方案:采用定制化的对比程序,对比前去掉随机字段再机器对比。
技术总结:
-
java
-
junit5
效果:
- 减少误报及人工检查时间
计划四:众测(多人测试)
回归所有终端、所有广告类型的展示及埋点情况
性能测试策略
计划一:使用内部平台进行压测,关注子系统下所有模块的相应指标
团队赋能
测试过程复盘后分享值得借鉴或传承的点