测试用例只能说尽可能的覆盖全面,这个覆盖全面可能需要很久的积累来做的。简单一点的可以按照下面几个步骤做。
第一,确认用例是否完全覆盖了需求说明书所描述的所有功能点及逻辑。可以使用各种用例的设计方法来满足,边界值,等价类,判定表,因果图,正交分析,场景法等等。别看这些东西大家都在说,真正用好很难。
第二,尽可能的考虑及补充需求说明书并未描述但是实际存在的功能及逻辑。这个可以通过需求评审,用例评审来做。
第三,尽可能考虑异常情况,可以从可靠性,安全性等方面入手。
第四,可以通过平时的积累来达到,比如建立用例库,经验库等。
第五,就是要靠自己的经验和第六感了,呵呵~这个不靠谱,但是确实可以利用。
做到完全覆盖基本不可能,但是我们可以尽可能覆盖。注意,在尽可能覆盖的同时也要考虑测试周期及项目时间的分配。
几点经验:
——输入——
[凡可以输入字符的地方]
(如角色名称、召唤兽名称、队伍名称、聊天输入、数量输入)
* 检查长度限制(上限&下限)
* 留空会怎样
* 不合法的取值范围(尤其注意负号)
* 不合法的字符集(特殊符号、外语字符)
* 合法但可能引起问题的符号(如空格、逗号、“\n”、“\t”等)
* 敏感字词过滤(最好各系统共用一套过滤规则)
* 全角半角混合时尾字符的截断问题(若限长8字符输入“Hello羊驼”)
* 尝试各种转义字符(如表情、颜色、频道)
* 尝试物品链接(如物品名、BB名、人名、任务名)
* 获得输入焦点时关掉或做其他事(如激活聊天输入框后隐藏聊天界面再用键盘移动)
* 重复取值问题(如人物、帮派重名)
* 默认值(最好每个输入框都设置默认值)
* 普通文本操作(复制剪切、回车换行、鼠标拖动选择、输入法切换) ——列表——
[凡列表形式的地方]
(如角色选择列表、组队申请列表、队伍成员列表)
* 列表为空/达到下限时,进行删除操作
* 达到上限时,进行添加操作
* 剩一个元素时,进行删除
* 剩一个空位时,进行添加
* 正常添加一个元素时,插入位置以后的元素往后移动,不会丢失
* 正常删除一个元素是,删除位置以后的元素往前移动,不会重复
* 排序功能正确实现,排序效率可接受
* 列表空/满/剩一个元素时的排序不出异常
——物品——
[测试特定物品]
* 买入/获得时,相应代价确实被扣除
* 道具栏满时,不能买入/获得物品,也不能接受任何系统退回/奖励物品
* 使用时,有效果,且物品被正确消耗
* 拖到装备栏/召唤兽栏/扩展包裹栏/任务物品栏,不出异常
* 一堆拆分成多堆后,对其中一堆进行操作/买卖不影响其他几堆
* 两堆叠加成一堆,超出叠加上限的部分自成一堆,功能正常
* 上锁/绑定后,物品功能/属性不变
* 丢弃后,物品确实消失
* 离线/重登后,物品功能/属性不变
* 卖给NPC再购回后,物品功能/属性/价格不变
* 存入银行再取出,物品功能/属性不变
* 交易/邮寄/摆摊售出/商店售出后,物品确实转移,且功能/属性不变
* 摆摊/商店上架物品下架后,功能/属性/价格不变