42 lines
970 B
Markdown
42 lines
970 B
Markdown
# 14 测试要求
|
|
|
|
核心业务必须有测试。**没有测试就不要继续堆功能。**
|
|
|
|
## 重点测试
|
|
|
|
- Tenant Isolation
|
|
- RBAC
|
|
- Inventory
|
|
- Concurrent Inventory
|
|
- Inbound
|
|
- Outbound
|
|
- Allocation
|
|
- Picking
|
|
- Stocktake
|
|
- Order Status
|
|
- Queue
|
|
- API Authorization
|
|
|
|
尤其是库存。
|
|
|
|
## 库存并发用例
|
|
|
|
两个请求同时扣减 8 个库存,而实际只有 10 个库存。必须保证:
|
|
|
|
- 不会出现 `available_qty = -6`
|
|
- 不能出现两个订单都成功扣减 8
|
|
|
|
## 租户隔离用例
|
|
|
|
- 租户 A 的用户通过列表、详情、业务编码、批量操作等任何接口都无法读取或修改租户 B 的数据。
|
|
- Queue Job、Scheduler 执行时只处理其所属租户的数据。
|
|
|
|
## 状态机用例
|
|
|
|
- 合法状态转换成功,并记录状态变更日志。
|
|
- 非法状态转换被拒绝(例如 `draft` 直接 `shipped`)。
|
|
|
|
## 库存流水用例
|
|
|
|
- 每一次库存余额变化都有对应流水,且流水累计值与余额一致。
|