游戏交易模块的测试

交易模块向来是游戏众多功能模块中的重要功能,因为它直接关系到游戏的经济系统。笔者其实没有真正测试过交易模块,因为大部分页游和手游直接省去了交易模块,一方面是为了避免这个模块出问题,造成经济系统的崩溃(比如刷钱,刷装备等);二是加剧单机化,也防止了一些玩家通过申请一大堆小号来刷钱刷装备。我参考了一般游戏里交易的流程,写了下大概的测试功能点和框架,如果有不对或者需要补充的地方,大家可以在下面提出。

1.交易前

  • 申请交易
    • 申请人状态
      • 申请人在战斗中
      • 申请人在和他人交易中
      • 申请人在跑动中
      • 申请人发出交易后,继续对其他玩家发出交易请求;
      • 申请人发出交易后,继续对该玩家发出交易请求
    • 申请人收到的回应
      • 被交易人接受交易后,系统响应
      • 被交易人拒绝交易后,系统提示
      • 被交易人接受交易的同时,申请人飞走/传送/切换区域(大于交易距离限制)
      • 被交易人接受交易后,申请人下线
  • 收到交易请求
    • 被交易人状态
      • 被交易人在战斗中
      • 被交易人在和其他玩家交易中
      • 被交易人和交易人不在同区域内/同地图内
      • 被交易人下线
      • 被交易人在挂机中
      • 被交易人跟交易人不是同一阵营/种族/服务器
    • 被交易人收到请求后
      • 接受请求后的响应
      • 拒绝请求后的响应
      • 不理会请求后的响应
      • 收到多个玩家的交易请求,能否接受多个请求
      • 收到请求后下线
      • 接受请求后下线
      • 先切换频道/切换区域(大于交易距离限制),再接受交易
      • 请求的样式相关

2.交易中

  • 需要同步的信息是否正确
    • 交易栏的信息,包括物品,金币,锁定信息等
  • 交易栏中的物品
    • 放入已绑定的物品
    • 放入不可交易的物品
    • 放入一般物品,可交易
    • 放入物品直到物品栏满,能否继续放入物品
    • 放入已绑定的物品
    • 放入若干金币/最大数量的金币
  • 交易中玩家行为
    • 一方玩家取消交易
    • 一方玩家下线/传送出区域
    • 一方玩家死亡/被攻击/移动出交易范围
    • 一方玩家掉线
    • 一方玩家做出其他行为,如向其他玩家发起交易/向NPC发起交易等等
    • 移动/取出交易栏中的物品
    • 快速放入/取出交易栏中的物品(有必要配置高延迟环境)
    • 点击锁定交易栏
      • 锁定交易栏后下线/传送出区域/取消交易
      • 锁定交易栏后继续放入物品/金币
      • 锁定交易栏后,用任务管理器结束游戏
      • 锁定交易栏后点击取消锁定
      • 锁定交易栏后点击交易
    • 其中一方玩家物品栏剩余空间不足
      • 丢掉一些物品,空出空间后能否交易成功
      • 使用扩展背包道具,空出空间后能否交易成功
    • 其中一方玩家金币已达上限,提示信息
      • 丢掉一些金币,空出空间后能否交易成功

3.交易完成

  • 双方都锁定物品栏后,都点击交易按钮,交易成功
    • 核对交易的物品和金币
    • 再次进行交易

4.其他异常情况

  • 高延迟
  • 回档刷装备/金币(暗黑3)
  • ..待续