交易模块向来是游戏众多功能模块中的重要功能,因为它直接关系到游戏的经济系统。笔者其实没有真正测试过交易模块,因为大部分页游和手游直接省去了交易模块,一方面是为了避免这个模块出问题,造成经济系统的崩溃(比如刷钱,刷装备等);二是加剧单机化,也防止了一些玩家通过申请一大堆小号来刷钱刷装备。我参考了一般游戏里交易的流程,写了下大概的测试功能点和框架,如果有不对或者需要补充的地方,大家可以在下面提出。
1.交易前
- 申请交易
- 申请人状态
- 申请人在战斗中
- 申请人在和他人交易中
- 申请人在跑动中
- 申请人发出交易后,继续对其他玩家发出交易请求;
- 申请人发出交易后,继续对该玩家发出交易请求
- 申请人收到的回应
- 被交易人接受交易后,系统响应
- 被交易人拒绝交易后,系统提示
- 被交易人接受交易的同时,申请人飞走/传送/切换区域(大于交易距离限制)
- 被交易人接受交易后,申请人下线
- 申请人状态
- 收到交易请求
- 被交易人状态
- 被交易人在战斗中
- 被交易人在和其他玩家交易中
- 被交易人和交易人不在同区域内/同地图内
- 被交易人下线
- 被交易人在挂机中
- 被交易人跟交易人不是同一阵营/种族/服务器
- 被交易人收到请求后
- 接受请求后的响应
- 拒绝请求后的响应
- 不理会请求后的响应
- 收到多个玩家的交易请求,能否接受多个请求
- 收到请求后下线
- 接受请求后下线
- 先切换频道/切换区域(大于交易距离限制),再接受交易
- 请求的样式相关
- 被交易人状态
2.交易中
- 需要同步的信息是否正确
- 交易栏的信息,包括物品,金币,锁定信息等
- 交易栏中的物品
- 放入已绑定的物品
- 放入不可交易的物品
- 放入一般物品,可交易
- 放入物品直到物品栏满,能否继续放入物品
- 放入已绑定的物品
- 放入若干金币/最大数量的金币
- 交易中玩家行为
- 一方玩家取消交易
- 一方玩家下线/传送出区域
- 一方玩家死亡/被攻击/移动出交易范围
- 一方玩家掉线
- 一方玩家做出其他行为,如向其他玩家发起交易/向NPC发起交易等等
- 移动/取出交易栏中的物品
- 快速放入/取出交易栏中的物品(有必要配置高延迟环境)
- 点击锁定交易栏
- 锁定交易栏后下线/传送出区域/取消交易
- 锁定交易栏后继续放入物品/金币
- 锁定交易栏后,用任务管理器结束游戏
- 锁定交易栏后点击取消锁定
- 锁定交易栏后点击交易
- 其中一方玩家物品栏剩余空间不足
- 丢掉一些物品,空出空间后能否交易成功
- 使用扩展背包道具,空出空间后能否交易成功
- 其中一方玩家金币已达上限,提示信息
- 丢掉一些金币,空出空间后能否交易成功
3.交易完成
- 双方都锁定物品栏后,都点击交易按钮,交易成功
- 核对交易的物品和金币
- 再次进行交易
4.其他异常情况
- 高延迟
- 回档刷装备/金币(暗黑3)
- ..待续