当前位置: 首页 > news >正文

给你一个购物车模块,你会如何设计测试用例?【测试用例设计】

测试购物车

从使用场景上,把自己想象成一个使用购物车的人,模拟流程,可以主要从两个方面进行考虑:

涉及操作:增(添加商品)删(删除商品)改(编辑、跳转商品)查(检查金额、数目、优惠明细)+商品支付

涉及交互:购物车与用户登录状态的交互,购物车与商品订单的交互,购物车和支付功能的交互,购物车与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)前后台切换,网络异常,低电量,断电,来电,短信等

相关文章:

  • steam搬砖汇率差项目详解
  • NodeJS 环境准备
  • RestFul风格
  • git提交代码版本冲突问题
  • 交换机与路由技术-29-OSPF虚链路
  • Centos6普通用户获取最高权限方法
  • 极致CMS1.7 另一处前台SQL注入
  • 基于javaweb,ssm鲜花销售系统
  • 数据结构与算法:大小根堆和快速排序 解决TopK问题
  • 【ArkUI】对于Flex布局与基础组件声明式UI-组件封装父子组件相互绑定的运用【OpenHarmony/HarmonyOS】
  • java基于ssm+vue的企业通用进销存管理系统 element
  • K8S搭建
  • Python之简单飞机行李托运计费系统
  • React项目 浏览器控制台上的 WDS HMR 全称是什么
  • Java · 认识 String 类(上)· 创建字符串 · 字符串比较相等 · 字符串常量池 · 字符串不可变 · 字符字节与字符串
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • CEF与代理
  • dva中组件的懒加载
  • java 多线程基础, 我觉得还是有必要看看的
  • Java 网络编程(2):UDP 的使用
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Laravel核心解读--Facades
  • Mac转Windows的拯救指南
  • Node + FFmpeg 实现Canvas动画导出视频
  • React-redux的原理以及使用
  • SpiderData 2019年2月23日 DApp数据排行榜
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 笨办法学C 练习34:动态数组
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 给新手的新浪微博 SDK 集成教程【一】
  • 和 || 运算
  • 前言-如何学习区块链
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 数组大概知多少
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 异步
  • 译有关态射的一切
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​用户画像从0到100的构建思路
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (1)STL算法之遍历容器
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (AngularJS)Angular 控制器之间通信初探
  • (二)fiber的基本认识
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (已解决)什么是vue导航守卫
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .bat批处理(一):@echo off
  • .FileZilla的使用和主动模式被动模式介绍
  • .form文件_SSM框架文件上传篇
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net 4.0发布后不能正常显示图片问题
  • .Net core 6.0 升8.0
  • .Net Core缓存组件(MemoryCache)源码解析