你能说说“淘宝购物车”怎么测试么?

前言

今天我给大家整理一篇面试高频问到的问题“淘宝购物车”怎么测试。

测试思维

依然附上测试任何事物的测试思路:

第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?

这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。

第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。

这个单个功能的测试点提取要覆盖一下几个方面:

正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
异常功能验证:为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。

因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。所以就到了第三步:

第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点 。
  1. 长度,数据类型,必填项,重复
  2. 需求的约束条件 + 隐形需求
  3. 功能之间的交互

这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等

 

第四步:考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力

淘宝购物车功能的测试点

基于上面的测试思路,我们可以分析得出淘宝购物车的测试点如下:

一、梳理淘宝购物车的业务流程如下:

进入购物车---> 加商品到购物车 ---> 编辑购物车---> 选择商品---> 提交订单

**冒烟测试:**加入商品到购物车,并进入购物车,可以选择商品提交订单,跳转到订单页面。

然后我们再来细化每个模块的测试点:

进入购物车入口

  1. 底部菜单栏,点击跳转购物车
  2. 商品详情页顶部去购物车结算,点击跳转到购物车

用户购物车的权限

  1. 已经登录的用户,点击进入购物车,可以进行购物车相关的操作;
  2. 未登录的用户,点击进入购物车,提示未登录,并弹出登录界面。

购物车相关的操作

添加商品到购物车,查看购物车显示
  1. 添加一件商品到购物车,观察购物车显示,规则、信息描述等都正常
  2. 添加同一个商家的多件商品到购物车,观察购物车显示正常
  3. 添加同不同商家的多件商品到购物车,观察购物车显示正常
  4. 商品、商家名称和描述太长,UI 显示正常
  5. 点击商品链接可以打开商品详情页
  6. 货物状态:

a、有货,并显示商品的数量

b、无货,无法勾选选择,并调试重新选择商品的规格

c、下架,移到失效宝贝,可以找相似的商品

购买数量增减操作
  1. 数量范围:

有效:1/后台最低限购梳理~ 库存/最大限购数量

无效:0,大于库存,大于最大限购数量,小于最低限购数量,检查是否有友好的报错信息

  1. 数据类型:

有效:整数字

无效:非数字,可以是从字母、字符、中文里选择一个代表测试;还有小数,负数,检查书否有提示信息

  1. 必填项:输入数量为空/或者空格,检查是否有报错信息并友好
商品支持删除
  1. 点击删除是否有提示信息,可以确认和取消按钮可用
  2. 删除后,商品不显示在购物车列表;商品总件数减 1,总价检查更新正确
商品支持移入收藏夹
  1. 点击移入收藏夹后,购物车里不显示商品
  2. 收藏夹里增加商品显示正常
选择功能
  1. 单选商品,合计里的统计数据正确,并可以取消勾选
  2. 多选商品,合计里的统计数据正确,并可以取消勾选
  3. 全选,合计里的统计数据正确,并可以取消勾选;反勾选一个商品,全选框状态变化

 

点击去结算

点击结算,可以跳转到下一个页面,金额和数量都是正确的

空购物页面

空购物车检查页面显示,可以点击”去购物“跳转首页进行购物

功能交互

  1. 优惠券,有优惠券的使用规则,价格和限制是否正确
  2. 订单处理,跟订单功能模块的交互
  3. 登录功能模块的交互(见上面的登录用户和未登录用户)

APP 专项测试

如果是 Web 端的购物车功能,此处可以忽略;

如果是移动端的淘宝购物车,除了覆盖了基本业务功能测试之后,我们一定还要考虑到 APP 的专项测试,比如 APP 自身的安装、卸载、升级,消息的推送等;特别要关注一下“中断测试”和“网络测试”!

支付中断:

购物车操作过程中如果出现一些手机的中断行为,是否会受到影响以及是否可以正常继续。常见的中断类型有:

电话中断

网络中断

闹钟中断

插拔耳机中断

保证这些中断发生的时候,购物车的跳转和操作不会影响,更加不会导致一些异常情况发生,比如 APP 突然 crash 和 ANR 的情况;

网络测试:

验证各种网络类型:2G、3G, 4G,5G,wifi 下都可以正常操作;

进行网络切换,功能正常;

弱网测试下功能正常:

  1. 购物车结算的时候,不会重复提交订单;
  2. APP 不会闪退 崩溃,而且页面提示友好;

淘宝购物车的非功能测试点

测试完以上的功能测试点之后,我们还需要验证一些非功能测试点,主要包括以下几个方面:

1)界面

验证界面的美观,排版和错别字等。

2)兼容性

移动端的淘宝购物车:

a、考虑测试手机移动端的兼容,比如手机型号

b、考虑系统版本的兼容,主流的系统版本需要测试覆盖

c、考虑不同屏幕大小及分辨率的兼容性测试

Web 端的淘宝购物车:

a、考虑浏览器的兼容性,不同的内核版本的浏览器

b、从同一个内核版本的浏览器里选择主流的浏览器进行测试

3)易用性

测试站在用户的角度考虑用户体验,使用是否方便等。

4)性能

比如大量用户同时操作等,一般需要借助工具或者代码进行测试。

5)安全

验证敏感信息是否加密,是否可以篡改;通过一些工具进行安全扫描,检查是否有安全漏洞;或者采用一些其他的手段进行专门的安全测试。

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家评论区留言333免费领取,千万不要错过哦。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从Vue层面 - 解析发布订阅模式和观察者模式区别

目录 前言一、发布订阅模式什么是发布订阅模式?应用场景 二、观察者模式1)什么是观察者模式?2)应用场景3)vue中的观察者模式观察者(订阅者) - Watcher目标者(发布者) - D…

STM32 串口实验(学习一)

本章将实现如下功能:STM32通过串口和上位机对话,STM32在收到上位机发过来的字符串后,原原本本返回给上位机。 STM32 串口简介 串口作为MCU的重要外部接口,同时也是软件开发重要的调试手段,其重要性不言而喻。现在基本…

Fiddler使用说明及中文绿化版

Fiddler是最常用的Web调试工具之一。 对于开发来说,前端可以通过fiddler代理来调试JS、CSS、HTML样式。后端可以通过fiddler查看请求和相应,定位问题。 对于测试来说,可以通过抓包方式修改前端请求参数和模拟后端返回,快速定位缺…

如何创建vue2,vue3项目

前提需安装node.js和Vue CLI node.js:https://nodejs.org/zh-cn Vue CLI: npm install -g vue/cli 如何创建一个vue2项目 (1) 使用cmd终端直接创建 进入到vue项目所创建的目录里(我是直接创建在桌面上) 选择vue2 …

STL中的string类的模拟实现【C++】

文章目录 默认成员函数构造函数拷贝构造函数 赋值运算符重载函数析构函数beginendsizecapacityreserveeraseresizepush_backappendoperatorinsertswapsubstrc_stroperator[ ]findcleargetline>>运算符的重载<<运算符的重载 默认成员函数 构造函数 构造函数设置为…

现代控制理论

B站学习视频https://space.bilibili.com/230105574/channel/seriesdetail?sid1569601 一.引入状态-空间表达 &#xff08;本质上是使用一组向量的线性组合来表示整个系统任意物理量&#xff0c;也就是一个特征分解的过程&#xff09; 现代控制理论的基础是 状态-空间表达方…

IDEA以服务列表的形式展示

IDEA以服务列表的形式展示 要是没有要显示的服务列表的话就右键将启动的全部添加进去。正常是懒加载的形式&#xff0c;正常启动了就会添加进去。

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)(A-G)

Contest Duration: 2023-07-22(Sat) 20:00 - 2023-07-22(Sat) 21:40 (local time) (100 minutes) 头文件和宏 #include<iostream> #include<string> #include<vector> using namespace std; #define int long long #define fer(i,a,b) for(int ia;i<b;i…

【时间复杂度】

旋转数组 题目 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 /* 解题思路&#xff1a;使用三次逆转法&#xff0c;让数组旋转k次 1. 先整体逆转 // 1,2,3,4,5,6,7 // 7 6 5 4 3 2 1 2. 逆转子数组[0, k - 1] // 5 6 7 4 3…

Pytorch个人学习记录总结 03

目录 Transeforms的使用 常见的transforms Transeforms的使用 torchvision中的transeforms&#xff0c;主要是对图像进行变换&#xff08;预处理&#xff09;。from torchvision import transforms transeforms中常用的就是以下几种方法&#xff1a;&#xff08;Alt7可唤出…

多源BFS-- 矩阵距离

关于多源BFS&#xff0c;基本上就是单源BFS的简单升级了一下&#xff0c;比如在queue中队头开始时只有一个&#xff0c;我们通过这一个队头去推导其他的东西。而多源最短路就是队头一开始有1-n个可能的数&#xff0c;一个一个去BFS。 题目思路&#xff1a; 这个题就直接把所有的…

0成本搭建自己的云数据库

第一步&#xff0c;租免费的云服务器 www.aliyun.com 阿里云的&#xff0c;可以免费租三个月 进入主页后选择云服务器ESC 选择这款&#xff0c;点击试用就行 第二步&#xff0c;配置服务器 在配置服务器系统的时候选择centos&#xff0c;省事&#xff0c;别选ubuntu&#x…

[Spring] 三级缓存解决循环依赖详解

什么是循环依赖 注册一个bean对象的过程&#xff1a; Spring扫描class得到BeanDefinition – 根据得到的BeanDefinition去生成bean – 现根据class推断构造方法 – 根据推断出来的构造方法&#xff0c;反射&#xff0c;得到一个对象 – 填充初始对象中的属性(依赖注入) – 如果…

服务器中了360后缀勒索病毒,360后缀勒索病毒介绍解密数据恢复

360后缀勒索病毒&#xff0c;是BeijingCrypt勒索家族中的一种勒索软件病毒&#xff0c;这种恶意软件一旦攻击了企业的服务器就会利用自身独特的加密技术来全盘扫描系统文件&#xff0c;并对用户的全部文件进行加密&#xff0c;并要求用户支付赎金以解锁文件。近期&#xff0c;我…

C# 数据结构】Heap 堆

【C# 数据结构】Heap 堆 先看看C#中有那些常用的结构堆的介绍完全二叉树最大堆 Heap对类进行排序实现 IComparable<T> 接口 对CompareTo的一点解释 参考资料 先看看C#中有那些常用的结构 作为 数据结构系类文章 的开篇文章&#xff0c;我们先了解一下C# 有哪些常用的数据…

CNNdebug尝试

这算是啥问题&#xff1f;&#xff1f; 接着根据群里大佬提供的指示&#xff0c;将train和validate中的nums_work改成0即可 此处因为数据已经打乱了&#xff0c;所以在这里就不用打乱数据&#xff0c;把shuffle True修改成为False 后面查看指定目录下&#xff0c;竟然没有这个…

性能测试工具 Jmeter 引入 jar 包踩过的坑

目录 前言&#xff1a; Jmeter 中调用自己编写 jar 中的类出错 错误日志&#xff1a; 出现以上错误的原因&#xff1a; 解决方法&#xff1a; 前言&#xff1a; JMeter 是一种开源的性能测试工具&#xff0c;可以帮助我们快速地进行网站、应用程序等的性能测试和压力测试…

20230720在ubuntu22.04系统下载+解密+合并ts切片的步骤(STEP-BY-STEP版本)

20230720在ubuntu22.04系统下载解密合并ts切片的步骤&#xff08;STEP-BY-STEP版本&#xff09; 2023/7/20 23:06 https://app1ce7glfm1187.h5.xiaoeknow.com/v2/course/alive/l_64af6130e4b03e4b54da1681?type2&app_idapp1cE7gLFM1187&pro_idterm_645c69388953e_Nhew…

C# List 详解七

目录 42.Sort() 43.ToArray() 44.ToString() 45.TrimExcess() 46.TrueForAll(Predicate) C# List 详解一 1.Add(T)&#xff0c;2.AddRange(IEnumerable)&#xff0c;3.AsReadOnly()&#xff0c;4.BinarySearch(T)&#xff0c; C# List 详解二 5.Cl…

TEE GP(Global Platform)认证规范

TEE之GP(Global Platform)认证汇总 一、GP认证规范库 二、TEE GP认证规范文档 如果需要TEE对应的GP认证规范文档&#xff0c;请按照下方选择框选择TEE&#xff0c;然后Search&#xff0c;共查询到31个相关规范文档。 参考&#xff1a; GlobalPlatform Certification - Global…