本文接上篇介绍黑盒测试用例设计方法中的因果图法、正交实验设计法、状态迁移设计法、场景设计法。
因果图设计法
因果图是一种描述输入条件的组合及每种组合对应的输出的图形化工具。在因果图的基础上可以设计测试用例。因果图的绘制过程,可以理解为用例设计者针对因果关系业务的建模过程。
//输入及输出关系
输入及输出间的关系主要有恒等、非、与、或等4种。
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
非:若原因出现,则结果不出现;若原因不出现,则结果出现。
或:若几个原因中有一个出现,则结果出现;若几个原因均不出现,则结果不出现。
与:若几个原因都出现,结果才出现;若几个原因中有一个不出现,则结果不出现。
//输入与输入关系
输入与输入之间同样存在异、或、唯一、要求等4种关系。
异:所有输入条件中至多一个输入条件发生,可以一个条件都不成立。
或:所有输入条件中至少一个输入条件发生,当然也可以多个条件共存。
唯一:所有输入中有且只有一个输入条件发生。
要求:所有输入中只要有一个输入条件发生,则其他输入也会发生。
// 用例设计步骤
利用因果图设计测试用例应遵循的步骤:
分析程序的规格说明书中哪些事原因,哪些是结果。所谓原因,是指输入条件或输入条件的等价类,而结果是指输出条件。给每一个原因和结果赋一个标识符。
分析程序规格说明书中的语义,确定原因与原因,原因与结果之间的关系,画出因果图。
由于语法环境的限制,一些原因与原因之间,原因与结果之间的组合不能出现。对于这些特殊情况,在因果图中用一些记号标明约束或限制条件。
将因果图转化为判定表。
根据判定表的每一列设计测试用例。
正交实验法
正交实验用例设计法,是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法。正交实验方法,根据迦罗瓦理论导出的“正交表”,合理安排试验的一种科学试验设计方法,是研究多因子(因素)多水平(状态)的一种试验设计方法。它是根据试验数据的正交性从全面试验数据中挑选出部分有代表性的点进行试验,这些点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。
状态迁移设计法
状态迁移设计法是关注被测对象的状态变化,在需求规格说明中是否有不可达的状态和非法的状态,是否可能产生非法的状态迁移等。状态,即被测对象在特定输入条件下所保持的响应形式。对于被测对象而言,如果根据需求规格抽象出它的若干状态,以及这些状态之间的迁移条件和迁移路径,那么可以从其状态迁移路径覆盖的角度来设计测试用例。
许多需求用状态机的方式来描述,状态机的测试主要关注状态转移是否正确。对于一个有限状态机,通过测试验证其在给定的条件内是否能够产生需要的状态变化,有没有不可达的状态和非法的状态,是否可能产生非法的状态转移等。通过构造能导致状态迁移的事件来测试状态之间的转换,多用于协议测试,使用这种方法可以设计逆向的测试用例,如状态和事件的非法组合。
状态迁移图测试用例设计方法的步骤如下:
画出状态迁移图;
列出状态-事件表;
画出状态转换树,并从状态转换树推导出测试路径;
根据测试路径编写测试用例。
场景设计法
目前软件行业内的大多数业务软件基本都由用户管理、角色管理、权限管理、工作流等几个部分构成。作为被测对象的终端用户,期望被测对象能够实现他们的业务需求,而不是简单的功能组合。涉及业务流程的软件系统,采用场景设计法是比较恰当的。
针对场景业务流,通常可分为基本流、备选流及异常流3种业务流向。
下图中经过用例的每条不同路径都反映了基本流和备选流,都用箭头来表示。基本流用直黑线来表示,是经过用例的最简单的路径。每个备选流自基本流开始,之后,备选流会在某个特定条件下执行。备选流可能会重新加入基本流中(备选流 1 和 3),还可能起源于另一个备选流(备选流 2),或者终止用例而不再重新加入某个流(备选流 2 和 4)。
说明
参考书目《软件测试技术基础教程:理论、方法、面试》/刘德宝,杨鹏编著 -- 北京:人民邮电出版社,2015.1
部分内容来自博客、知乎等,如侵犯到权利人权益,请联系本公众号删除。