> ### 订单怎么测试?(主要测试订单的状态变化)
我们系统的订单生成的流程是这样子的,用户下单后,系统会在用户端和卖家端生成一个待付款的订单,同时在数据库也会生成一个待付款的订单;当用户付款之后,用户端显示待发货状态,卖家端显示已付款待发货状态,订单在数据库的状态为待发货,产品相应的库存量会减少,用户的账户金额减少相应的金额;当卖家发货后,用户端和卖家端的订单状态都显示为配送中,数据库中的订单状态也同时发生变化;当用户确认收货后,订单状态会显示为已完成,待评价状态,数据库中的订单状态也同时发生变化,买家支付的款项会打入到卖家的账户;当用户评论完后,订单状态显示为已结束,数据库中的订单状态也同时发生变化。这是一个正常的流程,我们测试的时候,要优先把这个流程测试通过。
然后再考虑用户的其他使用场景,比如:
1. 用户下单后,取消订单;
2. 下单后,一直不付款,检查订单超时不付款的场景下,会不会自动取消订单;
3. 在订单快超时时,付款;
4. 下单后,在不同的终端登录,一端取消订单,同时一端对该订单进行付款;
5. 弱网状态下,多次点击提交订单按钮,检查是否会生成多个订单;
6. 用户付款后,申请退款,买家端的订单状态为退款申请中,卖家端显示为退款审核;申请退款通过后,订单状态为已关闭状态,买家收到退还的金额;卖家拒绝退款,订单状态为待发货状态;卖家超时不处理退款申请,自动退款,订单自动设置为已退款状态,买家收到退还的金额;
7. 当卖家发货后,买家申请退款,买家端的订单状态为退款申请中,卖家端显示为退款审核;申请退款通过后,订单状态为已关闭状态,买家收到退还的金额;卖家拒绝退款,订单状态为待发货状态;卖家超时不处理退款申请,自动退款,订单自动设置为已退款状态,买家收到退还的金额;
8. 买家收货后,买家申请退款/退货,买家端的订单状态为退款申请中,卖家端显示为退款审核;申请退款通过后,订单状态为已关闭状态,买家收到退还的金额;卖家拒绝款/退货,订单状态为已确认收货状态;卖家超时不处理退款/退货申请,自动退款,订单自动设置为已退款状态,买家收到退还的金额;
9. 买家长时间不确认收货,系统自动确认收货,系统自动设为好评,订单状态为已结束,卖家收到买家的货款;
10. 收货后,超时不评论,系统自动设为好评,订单状态为已结束。
这些是功能测试的场景,每个场景,我们都要检查数据库对应订单的数据变化。
> * 用户体验:
1. 订单界面是否整洁,清晰,文字大小是否适中,订单编号是否能复制;
2. 下单,取消订单,申请退款等功能是否有响应的提示,提示是否合理;
3. 超时时长是否有倒计时提示;
4. 只对订单的部分商品进行发货,订单里的商品发货状态是否分开展示;
5. 是否支持Enter,tab等快捷键。
> * 安全性:
1. 使用Fiddler,检查是否能拦截篡改修改订单的信息。
> * 兼容性:
1. web端,在不同的浏览器,比如:谷歌,IE,火狐,360上测试;
2. app端,在主流的不同的机型,不同的分辨率,不同的操作系统的手机上进行测试,比如:xxx;
> * 性能:
1. 多用户并发下单;
2. 提交订单,取消订单,申请退款的响应时间。
> * 可靠性:
1. 多用户长时间运行提交订单功能。
- 总章
- Oracle数据库
- 常见的Linux命令
- 理论内容整理
- 给你如下功能怎么测试
- 支付怎么测试
- 购物车怎么测试?
- 搜索功能怎么测试?
- 文件上传功能怎么测试?
- 登录功能怎么测试?
- 还款功能怎么测试?
- 订单功能怎么测试?
- 自动化测试篇
- 必记代码
- 接口测试篇
- 性能测试篇
- app测试篇
- 面试篇
- 项目篇
- 职业素养篇
- 真实案列分析
- 如何预防冷场
- redis
- 琪琪
- 禅道搭建手册
- 禅道搭建手册1
- 禅道的基本使用
- 基于Python3_Selenium的自动化
- Python3安装
- Python3基础
- 列表_元组_集合
- 函数_模块_类
- Python代码
- selenium环境
- selenium定位方式
- Selenium常见操作
- toast读取代码
- 添加用户代码
- 隐式等待与显式等待
- 循环添加用户
- 测试用例练习
- 测试用例优化
- Fiddler抓包工具
- 安装
- Fiddler使用
- 接口测试
- Jmeter的安装
- Jmeter使用
- jmeter+ant+jenkins接口自动化测试框架
- 接口安全测试
- 性能测试
- Nmon监控LInux系统
- Jmeter分布式
- 性能测试-具体案例
- Monkey
- 安装1
- Monkey使用
- appium自动化
- appium的安装
- appium基本使用
- 真机USB连接
- 问题排查
- Jenkins持续集成
- Jenkins安装
- Jenkins配置任务
- Python扩展内容
- Python连接数据库
- Python进行接口测试
- 开启服务