测试用例设计 - 抽奖功能
测试思维
要分析测试点之前,我们先来梳理一下测试思维。
总结来说,任何事物的测试思路都可以总结如下:
第一步:
梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?
这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;
如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。
第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。这个单个功能的测试点提取要覆盖一下几个方面:
-
正常功能验证:
优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。 -
异常功能验证:
为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。
因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。 -
针对具体功能,寻找每个输入项和步骤
从以下三个角度来分析测试点 。
长度,数据类型,必填项,重复需求的约束条件 + 隐形需求功能之间的交互这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等第
- 考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力
所以抽奖功能的测试用例分析:
1.UI
首页banner
活动页面(显示剩余次数,抽一次少一次,立即刷新),抽奖次数用完后的页面展示。
支付后获得抽奖机会页面(转盘,跑马灯)
倒计时
倒计时时长为多长时间(10秒,5秒)
倒计时需要什么条件去触发
倒计时显示的为1.23秒是否会出现毫秒
结束时是归零还是变成倒计时的提示
倒计时是否会出现用户点击抽奖是否能正常开始进入运行状态
2. 活动时间
时间未到,能不能看到活动页面,如果看得到,点击抽奖,应提示时间未到,提交订单也是无法获取抽奖机会的
3. 获得抽奖次数的入口
订单类型:
1.普通
2.满减
3.优惠券
4.满减+优惠券
5.第一次下单
6.满足多少给机会
7.积分+金额
8.推荐好友下单
4. 获得抽奖次数的限制
同一userId每天最多获得多少次,抽奖次数用完之后不能再点击抽奖
5. 奖品发放
虚拟直接发到账户。(记录,通知)
实体,就要弹框提示(订单记录,物流记录,甚至数据库都可以,看需求,最起码数据得有)
6. 兼容性
各个主流浏览器,手机的兼容(系统以及屏幕大小等)
7. 性能
同一时间,大并发抽奖,服务器能不能及时响应
8. 安全
session过期,点击抽奖;
未登陆,进入活动页面;
9. 概率
普通:设置的概率不是100%,那么就手动点点,保证不是100%就可以了,再让开发协助设置100%,手动测试每一次测试都能保证100%中奖就OK。
接口:jmeter,大并发(500并发)
计算实际中奖概率=中奖次数/抽奖总次数
可以抽一百次来大概计算出得奖的概率(代码或者后台可以设置获奖的概率的)
1、用户要先注册 登录 完善资料等
2、用户已参与抽奖
3、时间到才能抽奖(在抽奖时间内)
4、抽奖次数(3次)
概率的问题
开发会把概率的设置放在 一个 配置文件中
首先把概率设计成 百分百,抽奖的时候肯定会中
比如一等奖 概率是 百分之一
这里就要借助工具进行测试,比如使用 jmeter 工具 ,进行循环抽奖 两百次 看看响应中中奖几次
大概会知道准确性能
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现