给你一个购物车模块,你会如何设计测试用例?【测试用例设计】
测试购物车
从使用场景上,把自己想象成一个使用购物车的人,模拟流程,可以主要从两个方面进行考虑:
涉及操作:增(添加商品)删(删除商品)改(编辑、跳转商品)查(检查金额、数目、优惠明细)+商品支付
涉及交互:购物车与用户登录状态的交互,购物车与商品订单的交互,购物车和支付功能的交互,购物车与APP支付系统的交互。
从测试用例的角度,首先是最重要的功能测试,其次可以考虑性能测试、界面/UI测试、安全性、兼容性、易用性、网络测试、中断测试这几个方面。
一、功能测试
购物车基本操作功能(增删改查)
添加商品
1.是否能够添加商品
2.添加单个商品数量是否有上下限
3.添加商品种类是否有上下限
4.添加同类型商品的不同规格商品显示是否分条显示
5.加入购物车商品排序是否合理
删除商品
1.能否删除单类商品
2.是否有快速删除多种商品方式(全选,删除)
3.删除商品是否有确认提示
• 跳转商品详情
1.跳转商品图片显示是否正常
2.跳转商品链接显示内容是否完整,是否过长
3.点击图片或者链接是否能够跳转商品详情
编辑商品、商品跳转
1.是否有通过+ -编辑商品数量方式
2.是否有通过输入直接编辑商品数量方式
3.编辑商品数量是否有上下限
4.编辑商品数量是否考虑库存情况
5.商品链接能否自动跳转
检查商品数量,金额,优惠明细
1.商品加入购物车内是否和原价格一致
2.商品数量显示是否正确
3.选择商品总数是否正确
4.选中商品价格总额是否正确
进入商品购物或结算
1.购物车是否有进入购物链接
2.购物车是否有进入结算链接
购物车交互功能
购物车与用户模块关联
1.未登录用户是否可以添加商品到购物车
2.未登录用户添加商品到购物车,登录后是否将商品合并到用户购物车
3.若不允许未登录用户添加商品到购物车,点击加购物车后是否有登录提示
4.用户有会员折扣时,购物车内商品价格是否对应
购物车与商品订单模块关联
1.加入购物车商品有价格调整,购物车内商品价格是否跟随变化
2.加入购物车商品,库存变化时购物车是否有对应调整
3.购物车商品确认订单后是否会从购物车清除
4.订单价格是否与购物车内一致
购物车与优惠活动模块关联
1.商家发放用户优惠券购物车对应变化
2.商品满减活动,购物车价格对应变化
购物车和支付功能的交互
1.进行结算支付,选择微信付款,此时需要考虑金额>零钱,金额<零钱,金额=零钱三种情况
2.进行结算支付,选择已添加的银行卡付款,此时同样需要考虑金额>银行卡余额,金额<银行卡余额,金额=银行卡余额三种情况
3.进行结算支付,选择使用新卡付款,按照流程添加新卡,此时同样需要考虑金额>新卡余额,金额<新卡余额,金额=新卡余额三种情况
3.进行结算支付,选择好友代付,测试好友能否收到代付请求,好友能否代付,代付能否成功
4.使用指纹确认付款(正确的/不正确的指纹)
5.使用密码确认付款(正确的/不正确的密码 )
6.支付成功,对应的途径会减少相应的金额,也会生成相应的订单
一些补充
1.删除商品是否有提示;
2.是否支持快捷键功能;
3.是否有回到顶部的功能;
4.商品过多时结算按钮是否可以浮动显示;
4.购物车有多个商品时,能不能只对单个商品结算;
二、性能测试
进入购物车页面消耗时长
添加商品到购物车时长
进入购物车结算时长
对购物车页面内容变更,页面内容更新速度。(增加某个购买数量,页面对应显示更新速度)
耗电量
消耗流量的多少
所占内存等
三、界面/UI测试
1)界面的设计风格是否统一
2)界面中文字是否简洁,没有错别字
四、安全性测试
1)支付过程中是否有个人信息/密码丢失的风险
2)是否有金额被盗刷的风险
3)金额加密
五、兼容性测试
苹果手机和安卓手机
苹果手机的不同版本
安卓手机不同的机型
网页版测试,五大浏览器
不同分辨率
六、易用性测试
1)是否易操作,易学习,易理解
七、网络测试
1)网络兼容性:2g/3g/4g,WiFi,热点,移动/联通/电信
2)无网测试
3)弱网:延时&丢包
八、中断测试
1)前后台切换,网络异常,低电量,断电,来电,短信等
相关文章:
给你一个购物车模块,你会如何设计测试用例?【测试用例设计】
测试购物车 从使用场景上,把自己想象成一个使用购物车的人,模拟流程,可以主要从两个方面进行考虑: 涉及操作:增(添加商品)删(删除商品)改(编辑、跳转商品&a…...
【wps】【毕业论文】三线表的绘制
目录 一、三线表 二、制作步骤 (1)点击“插入”——点击“表格”创建一个表格 (2)选中整个表格——鼠标右键选择“边框和底纹”,“表格属性”再点击“边框和底纹”——点击“自定义”——选择表格的边的宽度——如图…...
Spring Cloud Alibaba 多租户saas企业开发架构技术选型和设计方案
基于Spring Cloud Alibaba 分布式微服务高并发数据平台化(中台)思想多租户saas设计的企业开发架构,支持源码二次开发、支持其他业务系统集成、集中式应用权限管理、支持拓展其他任意子项目。 一、架构技术选型 核心框架 Spring Boot SOA Spring Cloud …...
Unity IL2CPP 游戏分析入门
一、目标 很多时候App加密本身并不难,难得是他用了一套新玩意,天生自带加密光环。例如PC时代的VB,直接ida的话,汇编代码能把你看懵。 但是要是搞明白了他的玩法,VB Decompiler一上,那妥妥的就是源码。 U…...
Python的23种设计模式(完整版带源码实例)
作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Python的23种设计模式 一 什么是设计模式 设计模式是面对各种问题进行提炼和抽象而形成的解决方案。这些设计方案是前人不断试验&…...
OAuth2协议
OAuth2协议流程图协议角色和流程授权所需信息授权方式授权码模式(authorization code)参数简化模式密码模式客户端模式授权方式小结流程图 协议角色和流程 user-agent:浏览器或者手机App平台 资源所有者(resourc owner࿰…...
LeetCode-115. 不同的子序列
目录动态规划题目来源 115. 不同的子序列 动态规划 1.确定dp数组(dp table)以及下标的含义 dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。 2.确定递推公式 这一类问题,基本是要分析两种情况 t[i - 1…...
kubernetes scheduler 源码解析及自定义资源调度算法实践
kubernetes scheduler 浅析 什么是kubernetes scheduler? 小到运行着几十个工作负载的 kubernetes 集群,大到运行成千上万个工作负载 kubernetes 集群,每个工作负载到底应该在哪里运行,这需要一个聪明的大脑进行指挥,…...
MySQL插入数据
目录 一、怎么样插入数据 二、通过命令提示窗口插入数据 三、使用PHP脚本插入数据 一、怎么样插入数据 在MySQL 表中可以使用 INSERT INTO SQL语句来插入数据。 可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。 下面是向MyS…...
从GPT-4、文心一言再到Copilot,AIGC卷出新赛道?
业内人都知道,上一周是戏剧性的,每一天,都是颠覆各个行业,不断 AI 化的新闻。 OpenAI发布GPT-4、百度发布文心一言、微软发布Microsoft 365 Copilot 三重buff叠加,打工人的命运可以说是跌宕起伏,命途多舛了…...
1.2 从0开始学Unity游戏开发--运行原理
在我开始学习游戏开发的时候,有了好多年的客户端开发经验,并且刚毕业那会还使用cocos2dx做过一点小的2d横版过关游戏,因此对我来说做游戏开发到底是做什么还是比较清晰的,但是如果从来没做过游戏开发,甚至连客户端开发也没怎么做过的人可能没那么好理解游戏到底是怎么运作…...
【微信小程序】如何获得自己当前的定位呢?本文利用逆地址解析、uni-app带你实现
目录 前言 效果展示 一、在腾讯定位服务配置微信小程序JavaScript SDK 二、使用uni-app获取定位的经纬度 三、 逆地址解析,获取精确定位 四、小提示 前言 效果展示 一、在腾讯定位服务配置微信小程序JavaScript SDK 在浏览器搜索腾讯定位服务,找…...
92年程序员发帖晒薪资称自己很迷茫,网友:老弟你可以了
当下,是一个“向钱看,向厚赚”的社会。快节奏的生活下,家庭、工作各方面压力很容易使年轻人陷入迷茫和焦虑。 与其他行业相比,程序员的高薪让人羡慕。那么,对于那些真正达到这么多收入的人来说,他们是怎么…...
阿里四面,居然栽在一道排序算法上
前言 算法是程序的灵魂,一个优秀的程序是可以在海量的数据中,仍保持高效计算。目前各大厂的面试要求也越来越高,算法肯定会要去。如果你不想去大厂,只想去小公司,或许并不需要要求算法。但是你永远只能当一个代码工人&…...
macOS 13.3(22E252)/12.6.4/11.7.5正式版发布
系统介绍 3 月 28 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.3 更新(内部版本号:22E252)苹果今天还发布了macOS Monterey 12.6.4和macOS Big Sur 11.7.5,本次更新距离上次发布隔了 42 天。 macOS Ventura 带来…...
MPP数据库简介及架构分析
目录什么是MPP?特性并行处理超大规模数据仓库真正适合什么典型的分析工作量数据集中化线性可伸缩性MPP架构技术特性数据库架构分析Shared EverythingShared DiskShare MemoryShared NothingShared Nothing数据库架构优势什么是MPP? MPP (Massively Paral…...
centos7配置pytorch和tensorflow
1、安装anaconda 1.1镜像源下载对应anaconda版本后传到服务器上 1.2进入对应文件夹 首先赋权再执行安装程序 chmod x Anaconda3-2022.10-Linux-x86_64.sh ./Anaconda3-2022.10-Linux-x86_64.sh chmod x Anaconda3-2022.10-Linux-x86_64.sh 1.3交互确认 确认许可协议&…...
Kafka在Mac下的安装与使用
mac 安装kafka安装kafka的原因安装kafka启动Zookeeper启动Kafka创建topic查看topic生产数据消费数据关闭zookeeper关闭kafka测试安装kafka的原因 用户微服务登录后需要向广告微服务中发送用户登录的信息以获取用户画像(这个过程是异步的),故…...
AndroidStudio相对布局
目录 RelativeLayout常用属性(它们可以几个结合在一起使用): 相对于父容器居中 相对于父容器对齐 相对于其它控件位置 相对于其它控件对齐 标识符问题 实例演示 RelativeLayout类是ViewGroup的子类也就是相对布局 RelativeLayout常用属…...
如何用iOS自带摄像头进行拍摄获取视频流以及OpenCV图像处理实时显示
目录概述一、如何用Swift调用OpenCV库1.项目引入OpenCV库2.桥接OpenCV及Swift二、运用AVFoundation获取实时图像数据1.建立视频流数据捕获框架2.建立 Capture Session3.取得并配置 Capture Devices4.设定 Device Inputs5.配置Video Data Output输出6.工程隐私权限配置7.处理相机…...
智安网络|为什么说防火墙是我们信息安全的第一道防线?
网络安全现状: ①攻击者需要的技术水平逐渐降低,手段更加灵活,联合攻击急你的剧增多:网络蠕虫具有隐蔽性、传染性、破坏性、自主攻击能力,新一代网络蠕虫和黑客攻击、计算机病毒之间的界限越来越模糊 ②网络攻击趋利…...
Android多媒体功能开发(8)——使用VideoView控件播放视频
Android播放视频类主要有两种方式: VideoView控件SurfaceView控件MediaPlayer VideoView是SurfaceView的子类,实际上VideoView相当于SurfaceView MediaPlayer。SurfaceView支持的功能VideoView都支持。也可用VideoViewMediaPlayer的方式播放。 视频播放…...
python调用CC++
python调用C程序 一般来说在python调用C/C程序主要可以分为3步: 1、编写C/C实现程序。2、将C/C程序编译成动态库。-3、在Python中调用编译生成的库。Python在调用C/C程序时有一些不同,需要注意。 Python调用C语言程序比较简单,将C语言程序…...
[golang gin框架] 10.Gin 商城项目介绍
一.商城项目介绍 1.详细功能介绍图 2.数据库 ER 图 需要用到的数据表举例 二.MVC架构搭建以及执行流程分析 1.关于 MVC 模式的简单介绍 Gin 不是一个 MVC 的框架,所有的代码都可以写在 main.go 中。当我们的项目比较大的时候, 所有代码写在一个文件里面…...
Endor Labs:2023年十大开源安全风险
近日,Endor Labs发布了一份新报告,确定了2023年的十大开源安全风险。报告显示,许多软件公司依赖于开源软件代码,但在如何衡量和处理与开源软件相关的风险和漏洞方面缺乏一致性。调查发现,在应用程序中超过80%的代码可能…...
关于Error和Exception的一些思考 小结
目录 1. ERROR 2. Exception 2.1 checked Exception 2.2 unchecked Exception 2.3 区别 3. 内存溢出 3.1 堆溢出 3.2 永久代/元空间溢出 3.3 方法栈溢出 Java中,所有的异常都有一个共同的父类:Throwable类。 Throwable类有两个重要的子类&#…...
Mac环境变量配置(Java)
1.打开终端: 2.输入命令:【/usr/libexec/java_home -V】,查看默认的jdk下载地址(绿色下划线的就是jdk默认路径)(注意⚠️:命令行终端是区分大小写的【-v 是不对的,必须是大写 -V】) …...
通过这三个文件彻底搞懂rocketmq的存储原理
前言 RocketMQ是阿里开发的一个高性能的消息队列,支持各种消息类型,而且支持事务消息,可以说是现在的很多系统中的香饽饽了,所以呢,怎么使用大家肯定是要学习的 我们作为一个有梦想的程序员,在学习一门技…...
Linux安装Nvidia显卡驱动
使用的Linux系统为 Ubuntu 18.04,显卡为GeForce RTX 3060 。 查看ubuntu版本号命令:sudo lsb_release -a 查看显卡型号命令:lspci | grep -i vga (详细查看方法: 查看显卡型号)。 下面是安装显卡驱动步…...
GPT-4 介绍
1 简介 本文根据openAI的2023年3月的《GPT-4 Technical Report 》翻译总结的。 原文地址:https://arxiv.org/pdf/2303.08774.pdf 原文确实没有GPT-4 具体的模型结构,openAI向盈利组织、非公开方向发展了。也没透露硬件、训练成本、训练数据、训练方法等…...
小榄网站/万网
每周一、五晚8:00-11:00学习计算机体系结构,每周三、日8:00-11:00学习操作系统。 计算机体系结构: Computer Organization and Design: The Hardware/Software Interface, 3ed 计算机体系结构:量化研究方法 3ed操作系统: 操作系统…...
做外贸没有网站需要什么条件/2024新闻热点摘抄
><!-- 声明改变request的拦截器 --> <mvc:interceptors><mvc:interceptor><!-- 声明request的拦截器拦截的url --> <mvc:mapping path"/origin/**/*"/><!-- 声明改变request的拦截器不拦截的url --> <mvc:exclude-mapping…...
开发移动网站/sem公司
计算机应用基础评课稿范本篇一:计算机应用基础评课稿今天听了杨老师的一节高三复习课,感受颇深。下面就这堂课谈谈我个人的体会,不妥之处请各位领导、老师批评指正。一、教学设计思路清晰,教学内容整合合理、教学目标明确一节好课…...
深圳返利网站开发/百度新闻搜索
关于元素寻找: 如果要寻找元素的位置,可以使用函数which,类似于matlab中的find函数,用法为indexwhich(bool1),可以找到bool数组里面所有等于1的元素的位置。 如果是单纯要找到数组里面的某一些元素,可以考…...
自已如何做网站/百度竞价推广代运营
这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党 为什么要学习Shardingsphere spi 之前我们都简单研究过 java spi和 dubbo 的spi机制。那么可能有小伙伴会问既然我们都知道了duboo 的spi机制为什么还要研究Shar…...
网站空间服务器排名/手机网页链接制作
win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法1.APMServ程序所在路径不能含有汉字和空格。例子:D:\r\APMServ5.2.6\2.去掉如图的ssl :3.80端口被占用,关闭占用端口服务,或者改端口。4.如果发现上面的…...