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

2023-11-01

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在相关项目中也更充分地可以参与到各个环节,为提升项目收益、保证项目质量、提升测试效率贡献自己的力量。


-事必有法,然后有成- 最后祝大家早日达到测试的天花板!

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我的Q:321255410,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

今天主要是和大家分享一些我的学习经验和网盘学习资源,后续我会继续分享一些相关测试资料,有被帮助到的朋友,大家可以点赞支持一下~

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运营活动类项目测试方案设计 的相关文章

  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关

随机推荐

  • js Dom事件

    1 onclick 点击事件 2 ondbclick 双击事件 3 onmousedown 鼠标按下事件 4 onmouseup 鼠标松开事件 5 onmouseenter 鼠标移入事件 不支持冒泡 只触发一次 6 onmouseover
  • xml实体小实例

    如何定义和使用实体 一下是实体的一个小实例 gt
  • C++里仿函数是什么

    一 什么是仿函数 仿函数的意思是 它不是函数 其实是个类 但用法和函数一样 既然是个类 就可以存储很多变量和其他的信息 然后实现纯函数实现不了的功能 所以在一些需要函数作为参数的地方可以用仿函数代替 在STL里很多地方用到了仿函数 二 仿函
  • Java 密码复杂度校验

    1 需求 复杂性 用户的密码中必须包含的字符类型 默认为中 弱 必须包含小写字母 中 必须包含小写字母 数字 强 必须包含小写字母 数字 大写字母 特殊字符 鼠标移入的提示文字相同 注 检查密码复杂度 仅新增账户 重置密码时生效 已有账户密
  • 揭示OLED透明屏数据:探索未来显示技术的潜力

    OLED透明屏作为一项颇具吸引力的显示技术 以其独特的特点和卓越的画质在市场上引起了广泛关注 在这篇文章中 尼伽将和大家一起深入探索OLED透明屏的数据 通过具体的市场趋势分析 技术指标解析 应用领域探讨和未来前景展望 为读者提供全面了解和
  • wish虚拟服务器,云服务器操作wish

    云服务器操作wish 内容精选 换一换 按需计费 按需计费是后付费模式 按弹性云服务器的实际使用时长计费 可以随时开通 删除弹性云服务器 包年 包月 包年 包月是预付费模式 按订单的购买周期计费 适用于可预估资源使用周期的场景 价格比按需计
  • [开发

    ModelMapper是一个用于对象之间转换的Java库 它能够自动映射一个Java对象的属性到另一个Java对象 依赖安装
  • C/C++

    文章目录 空间的读写 作用 实现strlen 实现strcpy 非字符空间 void 返回值 返回连续空间类型 示例 函数内部实现 示例 参考 麦子学院 嵌入式C语言高级 C语言函数的使用 空间的读写 void fun char p con
  • VUE enement-ui之table表格隐藏滚动条

    只需修改样式即可 deep el table body wrapper webkit scrollbar width 0 注意 element ui表格很多样式修改都需要加深度穿透才能生效 效果图
  • 深度神经网络的matlab实现,深度神经网络代码matlab

    为什么不用matlab做深度学习 matlab可以做深度学习 但是从实用性的角度来讲matlab的实现效率相对较低 训练耗时较长 初次学习计算机语言就选择matlab不是一个明智的选择 最好选用C或者Basic作为入门语言 matlab是一
  • 初探C语言链表(一)

    初探链表 一 静态链表 二 动态链表 初始化链表 1 尾插法建立链表 2 头插法建立链表 三 动态链表的基本操作 1 遍历 2 查找 3 插入 4 清空 5 删除 6 销毁 四 链表的综合应用 什么是链表 链表是由一系列节点组成 每个节点包
  • 面试经验:阿里Java后台开发

    最近原来实习时候的Boss联系我 说他跳槽到了阿里 问我有没有兴趣面一个Java后台开发岗位 考虑到我只工作了一年 现在去阿里肯定要降薪 因此也没有太强烈的意愿 但出于提升自我的角度考虑 参加了面试 一面 电话面试一小时 首先做一个简单的自
  • 09虚幻4【UE4】中模型沿着轨道运动

    目录 一 创建Track蓝图类 轨道 并添加一个Spline样条曲线 二 创建TrackCar 移动车 蓝图类并添加一个Mesh 车 方块都可以 三 编写TrackCar的蓝图逻辑 3 1 设置自定义事件MoveCar 3 2 添加时间轴
  • Python全栈开发【基础-04】一文彻底理解Python变量

    专栏介绍 本专栏为Python全栈开发系列文章 技术包括Python基础 函数 文件 面向对象 网络编程 并发编程 MySQL数据库 HTML JavaScript CSS JQuery bootstrap WSGI Django Flas
  • Android手写占位式插件化框架之apk解析原理系统源码分析

    前些天发现了一个蛮有意思的人工智能学习网站 8个字形容一下 通俗易懂 风趣幽默 感觉非常有意思 忍不住分享一下给大家 点击跳转到教程 前言 上一篇文章 Android手写占位式插件化框架之Activity通信 Service通信和Broad
  • JAVA--不同包类的相互访问

    1 不同包之间的访问在定义类之前使用import 加导入的类名 2 不同包没有任何关系的两个类 只有public的类中的public成员才能被另一个包访问 package yi 第一个包 public class A public void
  • sqlserver数据库触发器,对当前的表数据插入时,根据条件防止数据重复插入。

    这是一个之前做项目用的 以下是触发器sql语句 直接执行即可 如果需求不一样需要修改对应的语句就行 USE NetCoreWebApi GO Object Trigger dbo testInsertTrigger Script Date
  • git clone 遇到问题:fatal: unable to access

    git clone 遇到问题 fatal unable to access https github com ros planning navigation git Failed to connect to 127 0 0 1 port 4
  • LeNET的学习以及代码实现

    根据李沐老师的动手深度学习的书进行学习 import torch from torch import nn net nn Sequential nn Conv2d 1 6 kernel size 5 padding 2 nn Sigmoid
  • 运营活动类项目测试方案设计

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