正巧要给新人培训,顺便自己总结下设计测试用例的方法,欢迎指正交流
茹炳晟老师举得例子十分形象,可以帮你更好地理解什么是“好的”测试用例。如果把被测试软件看作一个池塘,软件缺陷是池塘中的鱼,建立测试用例集的过程就像是在编织一张捕渔网。“好的”测试用例集就是一张能够覆盖整个池塘的大渔网,只要池塘里有鱼,这个大渔网就一定能把鱼给捞上来。如果渔网本身是完整的且合格的,那么捞不到鱼,就证明池塘中没有鱼,而渔网的好坏与池塘中是否有鱼无关。
以下为具体设计思路
1、深入了解需求,最好知道功能的实现原理
例:比如某个判断是根据数据库布尔值/还是根据本地缓存的值
如果是通过布尔值,则升级时是否有默认值,是否存在此字段为null情况导致判断无效
2、熟练掌握设计测试用例方法
1)等价类-拆分有效和无效,组成一个完备集合
2)边界值
不再赘述,经常用来完善等价类
3)错误推测
例:如果是读取缓存数据A,那么系统更新/重启后能否根据已有关联数据B更新缓存数据A
4)场景-模拟自己为用户,可能存在哪些业务操作,功能是否合理
不合理可以讨论或者确认需求,不要敷衍了事
3、设计用例
1)将功能需求拆分模块,根据模块拆分功能点
2)明确功能点的测试需求,比如需要功能测试、性能测试、接口测试
3)根据测试需求结合测试用例方法设计测试用例,如果测试用例很多,可以进行测试点分组
4、巧借外力
与开发、同事讨论需求实现
测试用例简洁明了是有效评审的必备条件