牛亦喜 发表于 2010-1-12 11:30:56

【bug】逻辑实现的时机有误

bug注入:

    战争策略类游戏。设计为:

      1.玩家在外的部队可有多支。

      2.某副本每天可攻打n次,超过n次则不可攻打。

      3.一支部队在副本发生一场战斗,记为攻打该副本1次。

      4.玩家操作派出部队攻打副本后,部队有行进时间。行进到达后再进行战斗。

    程序实现为:

      玩家操作派出部队时判断已攻打次数m<n,是则部队派出成功,否则部队派出失败。部队行进到达时未判断m<n即生成战斗。



bug发现:

    玩家已攻打该副本n-1次,然后在最快的部队到达前接续向该副本派出k支部队。最终生成了n+k-1次战斗。(k>1)



bug预防:

    测试经验。用例覆盖。时序逻辑图(程序和QC)。

    根据设计,判断m<n是在生成战斗时判断的;程序原先实现在玩家操作时判断,能增强玩家体验,但保证不了功能的正确性。

    一般游戏开发,较好的做法是在生成战斗和玩家操作时均要判断。



遗留问题:

    设计对逻辑实现的时机交代不明,如何获取测试标准?

    以测试的经验弥补之,文档分析时反馈给策划,要求明确。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiaoanlu/archive/2010/01/06/5141235.aspx
页: [1]
查看完整版本: 【bug】逻辑实现的时机有误