这是一款为学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。
该产品的架构为:
以下列出了系统管理后台较为核心的模块的测试用例:
(1)管理员登录的测试用例
(2)订单管理的测试用例
该项目中有多个重要的业务场景,以下业务场景是最核心的:
用户点餐
-
菜品浏览与选择:用户打开外卖 APP 或进入相关网页后,能够方便地浏览餐厅提供的各种菜品信息,包括菜品名称、图片、价格、详细描述等,从而根据自己的口味和需求进行选择。
-
加入购物车与结算:用户可以将选中的菜品加入购物车,在购物车中对菜品数量、规格等进行修改,确认无误后进行结算,选择支付方式完成订单支付。
商家接单与备餐
-
订单接收与处理:商家登录系统后,能够实时接收到用户提交的订单信息,包括订单菜品、数量、用户地址、联系方式等,然后根据订单详情进行备餐。
-
订单状态更新:商家在备餐过程中,需要及时更新订单状态,如 “商家已接单”“商家正在备餐”“商家已出餐” 等,让用户能够了解订单的进展情况。
用户点餐业务流程图如下:
基于点餐业务流程图可以设计以下几个场景用例:
1. 正常点餐支付场景
-
步骤:
-
用户开始选择商品。
-
将所选商品加入购物车。
-
前往结算。
-
确认有收货地址。
-
提交订单。
-
进行在线支付且支付成功。
-
订单完成。
-
-
场景描述:用户顺利地完成了商品选择、结算、支付等一系列操作,成功购买了商品。
2. 首次支付失败后重新支付场景
-
步骤:
-
用户完成商品选择、加入购物车、结算、确认收货地址、提交订单。
-
进行在线支付,但首次支付失败。
-
系统提示支付失败,询问用户是否重新支付。
-
用户选择重新支付且第二次支付成功。
-
订单完成。
-
-
场景描述:用户在第一次支付时遇到问题,但通过重新支付操作,最终成功购买了商品。
3. 支付超时取消订单场景
-
步骤:
-
用户完成商品选择、加入购物车、结算、确认收货地址、提交订单。
-
进行在线支付,但支付过程超过 15 分钟。
-
系统自动取消订单。
-
-
场景描述:用户在支付过程中花费了过长时间,导致订单被系统自动取消,未能成功购买商品。
4. 添加收货地址场景
-
步骤:
-
用户完成商品选择、加入购物车、结算。
-
系统检测到用户没有设置收货地址。
-
用户添加收货地址后提交订单并进行支付。
-
支付成功,订单完成。
-
-
场景描述:用户在结算时发现没有设置收货地址,添加地址后顺利完成购买。
商家接单业务流程图如下:
基于商家接单业务流程图可以设计以下几个场景用例:
1. 正常接单并完成
-
场景:用户下单成功,商家接单并派送商品,用户成功收到商品,交易完成。
-
步骤:
-
用户下单成功,进入 “待接单” 状态。
-
商家接单,订单状态变为 “商家 - 派送”。
-
商品在派送中,用户收到商品后,订单状态变为 “已完成”。
-
2. 用户取消订单
-
场景:用户下单后,在商家未接单前取消订单。
-
步骤:
-
用户下单成功,进入 “待接单” 状态。
-
用户取消订单,订单取消并退款成功。
-
3. 商家拒单
-
场景:用户下单后,商家拒绝接单。
-
步骤:
-
用户下单成功,进入 “待接单” 状态。
-
商家拒单,订单取消并退款成功。
-
4. 商家取消订单
-
场景:商家接单后,因材料不足等原因取消订单。
-
步骤:
-
用户下单成功,进入 “待接单” 状态。
-
商家接单后,因某些原因取消订单,订单取消并退款成功。
-
5. 用户申请退款(已收到商品)
-
场景:用户收到商品后,因商品质量问题等申请退款。
-
步骤:
-
用户下单成功,经过商家接单、派送,用户收到商品,订单状态变为 “已完成”。
-
用户申请退款,商家同意后,商家 - 退款,订单状态变为 “已取消”。
-
6. 用户申请退款(未收到商品)
-
场景:商品在派送中,用户因某些原因申请退款。
-
步骤:
-
用户下单成功,经过商家接单、派送,商品在派送中。
-
用户申请退款,商家同意后,订单取消并退款成功。
-
7. 商家拒绝退款
-
场景:用户申请退款,但商家拒绝了退款请求。
-
步骤:
-
用户下单成功,经过商家接单、派送,用户收到商品,订单状态变为 “已完成”。
-
用户申请退款,商家拒绝退款,订单状态仍为 “已完成”,用户无法获得退款。
-
或者在商品派送过程中:
-
场景:商品在派送中,用户申请退款,但商家拒绝了退款请求。
-
步骤:
-
用户下单成功,经过商家接单、派送,商品在派送中。
-
用户申请退款,商家拒绝退款,订单继续派送流程,直到用户收到商品,订单状态变为 “已完成”。
-
这些场景用例涵盖了在线点餐支付流程中的常见情况,有助于系统设计和测试时考虑各种用户操作和可能出现的问题。