你能说说“淘宝购物车”怎么测试么?
前言
今天我再给大家整理一篇面试高频问到的问题“淘宝购物车”怎么测试。
测试思维
依然附上测试任何事物的测试思路:
第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的?
这个步骤一般是参考公司的需求文档来的,如果产品提供需求文档的同时提供了业务流程图,可以遵循流程图来梳理;如果产品没有提供流程图,就需要测试人员根据需求的理解自己画出流程图,达到梳理业务的目的。
第二步:根据流程进行模块细分,然后针对每个功能模块进行详细的测试点设计和提取。
这个单个功能的测试点提取要覆盖一下几个方面:
正常功能验证:优先覆盖正常的业务流程和功能验证,这其实也是单个功能的冒烟测试。冒烟测试先行,如果不通过,可以直接停止测试等开发修复后继续测试。
异常功能验证:为了更加贴近用户的使用产经,我们也要验证各种异常的场景,故意操作导致出错,检查系统的反馈和提示,保证用户操作失误的情况能够得到系统的友好指示。
因为有很多地方的操作都有可能会导致系统异常和抛错,所以为了不漏测,我们需要找出所有可能导致异常的输入项和选项。所以就到了第三步:
第三步:针对具体功能,寻找每个输入项和步骤,从以下三个角度来分析测试点 。
- 长度,数据类型,必填项,重复
- 需求的约束条件 + 隐形需求
- 功能之间的交互
这其中就需要用到一些用例的具体设计方法了,比如场景法,等价类法,边界值法,错误推测法等等
第四步:考虑非功能测试点,包括界面、易用性、兼容性、安全性、性能压力
淘宝购物车功能的测试点
基于上面的测试思路,我们可以分析得出淘宝购物车的测试点如下:
一、梳理淘宝购物车的业务流程如下:
进入购物车---> 加商品到购物车 ---> 编辑购物车---> 选择商品---> 提交订单
**冒烟测试:**加入商品到购物车,并进入购物车,可以选择商品提交订单,跳转到订单页面。
然后我们再来细化每个模块的测试点:
进入购物车入口
- 底部菜单栏,点击跳转购物车
- 商品详情页顶部去购物车结算,点击跳转到购物车
用户购物车的权限
- 已经登录的用户,点击进入购物车,可以进行购物车相关的操作;
- 未登录的用户,点击进入购物车,提示未登录,并弹出登录界面。
购物车相关的操作
添加商品到购物车,查看购物车显示
- 添加一件商品到购物车,观察购物车显示,规则、信息描述等都正常
- 添加同一个商家的多件商品到购物车,观察购物车显示正常
- 添加同不同商家的多件商品到购物车,观察购物车显示正常
- 商品、商家名称和描述太长,UI 显示正常
- 点击商品链接可以打开商品详情页
- 货物状态:
a、有货,并显示商品的数量
b、无货,无法勾选选择,并调试重新选择商品的规格
c、下架,移到失效宝贝,可以找相似的商品
购买数量增减操作
- 数量范围:
有效:1/后台最低限购梳理~ 库存/最大限购数量
无效:0,大于库存,大于最大限购数量,小于最低限购数量,检查是否有友好的报错信息
- 数据类型:
有效:整数字
无效:非数字,可以是从字母、字符、中文里选择一个代表测试;还有小数,负数,检查书否有提示信息
- 必填项:输入数量为空/或者空格,检查是否有报错信息并友好
商品支持删除
- 点击删除是否有提示信息,可以确认和取消按钮可用
- 删除后,商品不显示在购物车列表;商品总件数减 1,总价检查更新正确
商品支持移入收藏夹
- 点击移入收藏夹后,购物车里不显示商品
- 收藏夹里增加商品显示正常
选择功能
- 单选商品,合计里的统计数据正确,并可以取消勾选
- 多选商品,合计里的统计数据正确,并可以取消勾选
- 全选,合计里的统计数据正确,并可以取消勾选;反勾选一个商品,全选框状态变化
点击去结算
点击结算,可以跳转到下一个页面,金额和数量都是正确的
空购物页面
空购物车检查页面显示,可以点击”去购物“跳转首页进行购物
功能交互
- 优惠券,有优惠券的使用规则,价格和限制是否正确
- 订单处理,跟订单功能模块的交互
- 登录功能模块的交互(见上面的登录用户和未登录用户)
APP 专项测试
如果是 Web 端的购物车功能,此处可以忽略;
如果是移动端的淘宝购物车,除了覆盖了基本业务功能测试之后,我们一定还要考虑到 APP 的专项测试,比如 APP 自身的安装、卸载、升级,消息的推送等;特别要关注一下“中断测试”和“网络测试”!
支付中断:
购物车操作过程中如果出现一些手机的中断行为,是否会受到影响以及是否可以正常继续。常见的中断类型有:
电话中断
网络中断
闹钟中断
插拔耳机中断
保证这些中断发生的时候,购物车的跳转和操作不会影响,更加不会导致一些异常情况发生,比如 APP 突然 crash 和 ANR 的情况;
网络测试:
验证各种网络类型:2G、3G, 4G,5G,wifi 下都可以正常操作;
进行网络切换,功能正常;
弱网测试下功能正常:
- 购物车结算的时候,不会重复提交订单;
- APP 不会闪退 崩溃,而且页面提示友好;
淘宝购物车的非功能测试点
测试完以上的功能测试点之后,我们还需要验证一些非功能测试点,主要包括以下几个方面:
1)界面
验证界面的美观,排版和错别字等。
2)兼容性
移动端的淘宝购物车:
a、考虑测试手机移动端的兼容,比如手机型号
b、考虑系统版本的兼容,主流的系统版本需要测试覆盖
c、考虑不同屏幕大小及分辨率的兼容性测试
Web 端的淘宝购物车:
a、考虑浏览器的兼容性,不同的内核版本的浏览器
b、从同一个内核版本的浏览器里选择主流的浏览器进行测试
3)易用性
测试站在用户的角度考虑用户体验,使用是否方便等。
4)性能
比如大量用户同时操作等,一般需要借助工具或者代码进行测试。
5)安全
验证敏感信息是否加密,是否可以篡改;通过一些工具进行安全扫描,检查是否有安全漏洞;或者采用一些其他的手段进行专门的安全测试。