测试用例的设计策略
测试用例的设计方法有很多,一般常用的测试用例设计方法有以下几种。
等价类划分法。
边界值分析法。
基本路径分析法。
因果图法。
场景设计法。
错误猜测法。
另外,还有以下几种测试用例设计方法是用于有效减少测试用例个数的。
正交表法。
均匀试验法。
组合覆盖法。
注:关于这些测试用例设计的具体方法,可参考我写的《软件测试技术大全》一书中的第7章。
测试人员为什么要掌握这么多的测试用例设计方法呢?这是因为每一种测试用例设计方法都有其最适合的地方,需要综合应用才能让测试用例的设计省时省力而且能有效发现尽可能多的BUG,另外,交叉使用各种测试用例的设计方法,有助于避免“思维死角”,让BUG“无处遁形”。
最近,日本的测试界比较流行使用思维导图(Mind Maps)工具进行测试用例设计,原因是传统的测试用例设计方法都比较局限在某个区域,缺乏整体业务建模和整体测试逻辑的考虑。而通过“头脑风暴”工具,则可以协助测试人员更全面、更清晰都思考测试涉及的软件功能和业务模型,从而设计和构建出更加完善合理的测试用例。
测试人员通过画出一些关系图、测试对象的相关信息,帮助整理思路,组织内容、想法、创意等。例如,如图3所示的是FreeMind的编辑界面。
图3 FreeMind的编辑界面
类似的还有分类树方法设计测试用例,也是一种测试用例的辅助设计方法。分类树方法的基本原理是:首先把测试对象的可能输入按照不同的分类方式进行分类,每一种分类要考虑的是测试对象的不同的方面。然后把各种分开的输入组合在一起产生不冗余的测试用例,同时又能覆盖测试对象的整个输入域。
因此,可以把使用分类树方法设计测试用例的过程分为3大步骤:
(1)识别出测试对象并分析输入空间。
(2)对测试对象的输入空间进行分类。
(3)画出分类树、组合成测试用例。
图4所示的是利用CTE XL设计分类树并自动产生测试用例的效果。
图4 利用CTE XL设计分类树
不管采用什么样的测试用例设计方法,最重要的是要体现测试人员的逻辑思维,测试用例的设计是测试人员智慧的集中体现,它代表了测试人员对软件的理解,代表了测试人员的测试思路。测试用例的设计是测试人员与软件BUG进行一次歼灭战之前的战略部署,没有一场战争是在毫无准备和计划的情况下赢得胜利的,软件测试也无例外。