运营活动类项目测试方案设计

news2025/3/15 15:41:44

1、背景

随着业务的不断发展成熟,商业业务逐渐向重运营、重策略的模式发展,提出的需求中运营活动类需求数量也不断增多。而通过项目的积累、与其他业务的讨论共创,我们也积累了一批对运营活动类项目的测试点和对应的测试方案。下面我将从设计思路和具体内容出发介绍面对一个运营活动类项目时,如何进行测试方案设计。

2、测试方案设计

2.1 设计思路

测试方案是在需求评审后,qa从前期准备、测试手段、特殊测试点等方面出发进行的测试设计梳理。通过测试方案设计和评审,能够让项目参与各方了解项目整体节奏、保证测试范围完整、准确评估测试工作内容、捋清测试思路、提前进行准备。

2.2 具体内容

测试方案的具体内容可以从项目的需求阶段、开发联调阶段、测试阶段和上线阶段出发进行设计,运营活动类项目的每个阶段有一些特殊的关注点。

2.2.1 需求阶段

在需求阶段,pm将prd发出后,我们首先从以下几方面进行梳理,列出关注点在需求评审上进行讨论:

(1)梳理出该活动的目的,运营类活动一般都是以拉新、口碑、促单、留存等为目的。

(2)结合需求目的,我们可以去关注需求内容与目的是否对得上。

  • 以拉新为目的的需求,需要关注拉新方式(push、短信、站内信等)。一方面关注文案是否有吸引力、是否包含跳转链接能让用户快速进入活动页面,另一方面关注拉新方式的频次限制、是否会被限流等;
  • 以口碑为目的的需求,需要重视用户体验,例如关注活动页面的用户友好性、参与活动的难易程度、活动给用户带来的福利、售后流程的完整性等;
  • 以促单为目的的需求,例如618、双11活动等,需要关注活动页面是否有节日氛围、最终是否能达到吸引人下单的效果;
  • 以留存为目的的需求,需要关注活动是否真的能为用户带来好处、能否吸引用户持续参与等。

(3)关注流程完整性,活动流程逻辑是否闭环。活动流程包括用户由入口 → 活动页面 → 参与活动 → 获得奖励 → 售后流程。而结合项目迭代过程中的数据漏斗和收入曲线可以发现,流程中的每一步都会有不同程度的人员流失,而通过不断迭代可以提升转化率和收入。一方面我们需要从入口入手,通过颜色、大小、动效等使入口更加醒目,并在收入达到一定程度后争取到更好的入口位置,从而吸引更多用户进入活动页面。而另一方面我们要从活动的各个环节提升用户体验,例如增加进入页面后的指引、简化活动的参与难度、提升用户参与活动成功后对中奖效果的感知、并吸引用户持续参与活动等,从而提升各个环节的转化率。

(4)提前考虑一些常见测试点例如考虑到需求对用户登录态的要求,包括用户已登录和未登录的区别、在什么节点吊起登录等;需求的影响范围,活动流程是否可以用开关控制等。

2.2.2 开发、联调阶段

(1)接口测试在技术评审后我们可以根据开发给出的技术设计文档梳理出主流程涉及的接口,在联调阶段就可以在接口测试平台设计接口case进行前置测试。而对运营活动类项目来说,活动页面交互多、用户行为不可完全预测,因此我们也可以通过接口平台进行异常情况测试,例如对登录态异常、请求时间异常、参数异常、幂等、边界值等情况。

(2)数据构造准备如果测试过程中涉及到已有工具的使用,在提测前需验证好工具的可用性。如果是没有能使用的工具而时间充裕的情况,可以提前开发可用的数据构造,方便开发自测和qa测试使用。

2.2.3 测试阶段

(1)前提条件  

1)活动时间关注活动未开始/进行中/倒计时结束等时间节点下的不同效果/文案:

  • 活动未开始:展示开始时间,固定文案;
  • 活动进行中:到活动开始时间,相关文案是否有变化(mock/apollo配置活动开始时间);
  • 倒计时结束:倒计时清零后,页面恢复;

2)用户身份

构造能/不能参加活动的用户:修改对应的表构造相应用户身份/apollo配置白名单

3)频次限制运营类活动有次数限制,每人每日参加活动的次数有限。测试时需关注不足/等于/大于限制次数的情况,对大于限制次数的情况,一般前端页面参与活动的入口会关闭,也可以单独对后端接口进行接口测试来观察此时的判断逻辑是否符合预期。

(2)活动页面 

1)签到功能签到功能一般会涉及到当日签到/补签/连签一周奖励升级的场景,对于连签一周奖励升级的场景,可以通过修改库表/缓存来覆盖。 

2)分享功能分享出去的页面在不同平台上能否打开:微信聊天(打开是小程序)、朋友圈、qq聊天、空间、微博、浏览器(打开是m页);分享出去的页面如果打开没有登录信息,需要清空cookie,可以让fe提供注入工具;分享出去后通常需要新用户也进行一些操作才能算邀请其他人成功,可以直接mock邀请接口返回成功状态,看能否获得对应的奖励; 

3)活动中奖

  • 奖品配置:对奖品关注阿波罗配置中的奖品id,测试环境和沙箱环境的奖品id可能不一样;
  • 抽奖流程:抽奖后要收到中奖消息、收到奖品、可用抽奖次数-1,奖品库存-1;
  • 奖品下发:sql查询用户和中奖信息绑定是否正确;

(3)其他 

1)埋点测试活动中各环节(进入/离开页面、参加活动、发放奖品等)的埋点上报; 

2)边界测试

  • 参加活动:连续点击活动入口,只计为一次参与活动;
  • 发放奖品:奖品仅剩一件、奖品没有了的边界情况是否有兜底;
  • 同一个页面两个活动挨着进行(秒杀活动):上一个活动一结束,页面就变成下一个活动的样式;

 3)兼容测试安卓/ios、大屏/小屏手机上的页面展示情况、视频播放情况;

4)并发测试活动涉及到的用户量很大时,会有并发的场景,可以进行压测;

2.2.4 上线阶段

(1)数据分析上线后密切关注线上数据,进行收集、整理、分析。

(2)效果评估通过数据来评估本次运营活动是否达到预期。

(3)是否需要进一步迭代优化根据效果来决策是否需要进一步迭代。

(4)回归活动过程回顾整个活动的最初目标与最终结果是否匹配,复盘项目过程中做得好的地方和需要改进的地方。

3、总结

通过对运营活动类项目测试方案的提炼总结,一方面对已经做过的项目进行了又一次复盘,另一方面也为做好后续项目打下了基础。参考运营活动类项目测试方案,qa在相关项目中也更充分地可以参与到各个环节,为提升项目收益、保证项目质量、提升测试效率贡献自己的力量。

作者:卜林菁

转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。

关注公众号「转转技术」(综合性)、「大转转FE」(专注于FE)、「转转QA」(专注于QA),更多干货实践,欢迎交流分享~

作者:转转技术团队
链接:https://juejin.cn/spost/7244409172380598309
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/645836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

List容器(Java)

文章目录 1.容器介绍1.1 容器接口结构1.2 简单解析 2. List容器创建3. 访问操作(get, iterator, for)4. 修改操作(add, remove, set)5. 容量操作(clear, contains, isEmpty, size)6. 其他操作(toArray, )7. 泛型操作 1.容器介绍 1.1 容器接口结构 a. Java存储结构划分   Java…

通过使用动态ip解决网络连接问题

互联网的使用已经成为我们生活中不可或缺的一种生活方式。但是,有时候我们会遇到网络连接问题,如IP地址冲突、网络瘫痪等等。这种情况往往会影响我们的工作,现在我们一般使用动态ip地址来解决这些问题。 一、什么是动态ip地址 动态IP地址是由…

小白也可以做智慧大屏?我来帮你踩踩坑!【华为云Astro低代码体验季】

前提 进入华为云官网进行操作:https://www.huaweicloud.com/ Astro的便捷 其内部丰富的组件,简洁的操作,可支持独立空间管理,让人可以在短时间内就完成非常炫酷以及功能完善的页面 进入编辑页面后,可通过选择左侧的…

GPIO(嵌入式学习)

GPIO知识学习 1. GPIO的基本概念2. GPIO的实际应用3. 功能描述3.1 IO结构框图3.2 知识铺垫模拟/数字信号VDD、VSS、VCC施密特触发器片上外设 3.3 功能详述浮空输入上拉输入下拉输入模拟输入开漏输出推挽输出 4. GPIO相关寄存器4.1 寄存器4.2 功能 1. GPIO的基本概念 GPIO是英文…

java面经1

String, StringBuffer, StringBuilder区别 第一点是可变性。String不可变,String Buffer和StringBuider可变。这是因为String被final修饰,每次操作都生成新的对象。StringBuffer和StringBuilder的父类AbstractStringBuilder没有被final修饰。 第二点是…

视频点播系统

服务端功能模块划分 数据管理模块:负责针对客户端上传的视频信息进行管理。 网络通信模块:搭建网络通信服务器,实现与客户端通信。 业务处理模块:针对客户端的各个请求进行对应业务处理并响应结果。 前端界面模块:…

openEuler 开源汇智赢未来|2023开放原子全球开源峰会OpenAtom openEuler 论坛成功召开

6 月 12 日,2023 开放原子全球开源峰会 OpenAtom openEuler 分论坛在北京成功召开。分论坛以“openEuler 汇众智,奔涌向前赢未来”为主题,展示了 openEuler 社区的最新成果,阐述了 openEuler 开源开放的发展模式,介绍了…

jmeter模拟多用户并发

目录 前言: 一、100个真实的用户 二、100个用户同时登录 前言: JMeter可以轻松地模拟多用户并发,从而测试Web应用程序的性能和稳定性。 一、100个真实的用户 1、一个账号模拟100虚拟用户同时登录和100账号同时登录 区别 (…

如何使用Github搭建个人博客

介绍 在本文中,我将介绍如何使用GitHub搭建个人博客(免费)。GitHub是一个功能强大的版本控制和协作平台,它也可以用来托管和发布静态网页。通过将你的个人博客托管在GitHub上,你可以享受到版本控制的好处,…

STL之stack和queue

目录 stack和queue模拟实现一.介绍1.stack的类模板2.queue的类模板3.容器适配器 二. deque类1. 简介2.常用成员函数 三. stack模拟实现1.成员函数2.代码 四.queue的模拟实现1.成员函数2.代码 五.小结1.容器适配器 stack和queue模拟实现 一.介绍 1.stack的类模板 LIFO&#xf…

剖析Linux文件系统

Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统。例如,read 函数调用可以从指定的文件描述符读取一定数量的字节。read 函数不了解文件系统的类型&#xff…

外包,以后再也不去了....

先说一下自己的个人情况,大专生,18年通过校招进入湖南某软件公司,干了接近3年的点点点,后来我面了几家公司都没面上,最后把我想去外包混几个月的想法和我在腾讯的老哥讲了,他说外包,狗都不去&am…

打开Adobe软件出现弹窗“Adobe app is not available”无法使用的解决方法

运行Adobe软件遇到“Adobe app is not avAIlable”,是因为Adobe程序的 DNS 服务器无法联网验证,那么该怎么解决呢?搜索了一些网友用户的分享,大家可以试试看。 Adobe app 方法很简单,就是hosts添加屏蔽,使…

JDK21要来了,并发编程更加丝滑了

大家好,我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态。 我的个人网站:古时的风筝 目前 Java 的最新稳定版是 JDK 20,但这是个过渡版,JDK21就是 LTS 版的了,也快要发布了&#xff…

Neu5Ac Methyl Ester ,145240-80-8用于什么领域?解析化学式:C20H29NO13

为大家介绍(CAS:145240-80-8),试剂仅用于科学研究,不可用于人类,非药用,非食用。 CAS号:145240-80-8 分子式:C20H29NO13 分子量:491.44 中文名称:N-乙酰神经氨…

YUV420笔记

YUV420 有YU12、YV12、NV12、NV21 YU12存储格式是 YU12存储格式是YU13中的UV顺序反过来 NV12存储格式是 NV21是NV12数据取反 YUV420_888 是YCbCr的泛化格式,不会具体指明是YU12,YV12,NV12,或是是NV21。它能够表示任何4:2:0的平…

微信小程序实现订阅消息推送的实现步骤

1、准备工作 准备小程序账号、开发环境,我小程序是基于uniapp开发,后台代码基于SpringBoot开发。同时先阅读官方文档,了解小程序订阅消息和后端如何发送订阅消息等相关知识,官方文档地址如下: 《小程序订阅消息》《发…

【C++】4.websocket:websocketpp安装与使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍websocketpp的安装与使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷…

【Java】《On Java》第12章 集合 读书笔记

结合JavaGuide和《On Java》的集合笔记。 不要使用时代的眼泪Vector、HashTable、Stack。 文章目录 1 泛型与类型安全的集合2 基本概念3 添加一组元素★4 集合的打印5 ListtoArray的使用 ★Collection.sort的使用 6 ArrayList6.1 ArrayList成员变量6.2 ArrayList构造函数6.3 A…

没有公网IP,如何实现数据共享?

数据共享就是让在不同地方使用不同计算机、不同软件的用户能够读取他人数据并进行各种操作、运算和分析。不同层次、不同部门信息系统间,信息和信息产品的交流与共用,就是把信息这一种在互联网时代中重要性越趋明显的资源与其他人共同分享。 数据共享有…