软件测试用例的几种设计方法

如题所述

一、等价类划分法

所谓「等价」,就是具有相同属性或者方法的集合,这个集合中某个个体所表现的特征与其他个体完全一致。

由此可知,等价类划分就是将所有可能的输入数据,划分成若干个等价类,然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,分为有效等价类和无效等价类。

例如,规定的用户名长度区间为4~8个字,那么它的有效等价类是用户名长度在[4,8],无效等价类为用户名长度大于8位,或用户名长度小于4位。

二、边界值

测试经验告诉我们,在测试有时会涉及到大量的数据,遍历所有数据会使测试效率低下,如果是手工执行,更加难以覆盖所有数据。这时更有效率的做法是,先划分等价类,再从等价类中选择部分参数测试,边界值是等价类所有可选参数中最容易出问题的地方,所以我们一般会选择边界值作为测试的重点,边界值法的应用步骤如下:

1.先根据等价类法划分有效等价类和无效等价类,确定上点、离点及内点。上点是边界上的点,离点是离上点最近的点,内点则是边界有效范围内的任意一点。同样以用户名长度为4~8位为例,4和8为上点,3和9为离点,6则为内点。

2.设计一个新的测试用例,使其尽可能地覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖。

3.设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类都被覆盖。

三、判定表法

判定表又称策略表、决策表,能表示输入条件的组合,以及与每一输入组合对应的动作组合。判定表法适合逻辑判断比较复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,具体又明确地表达复杂地逻辑关系和多种条件组合情况。

判定表主要由条件桩和动作桩两部分组成。条件桩是功能要满足地所有条件,动作桩则是所有可能的操作以及产生的结果。

判定表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。其缺点是判定表的建立过程较烦杂,当条件过多时,需要分析的逻辑组合呈2的倍数增长。测试工程师可根据实际情况与等价类划分法、边界值法结合使用。

四、正交试验法

正交试验法是研究多因素、多水平组合的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面实验。正交表中所有参与试验的、影响试验结果的条件成为因子,影响试验因子的取值或输入的成为水平。

在设计测试用例时,采用正交试验法能够有效地、合理地减少测试的工作量与和成本。正交试验的一般流程包括以下几个步骤:

1)分析测试需求,获取因子和水平

2)根据因子和水平选择合适的正交表

3)替换正交表中的因子和水平,获取试验次数

4)根据经验或者其他因素补充试验次数

5)细化输出获得测试用例

以上是一些常见的测试用例设计方法,希望能够解答你的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-11
1. 边界值分析法:
指对输入的边界条件进行分析,设计出针对边界值的测试用例。
数值的边界值检验
字符的边界值检验
如: ASCII和 Unicode编码方式
其他边界值检验
选上所有选项(最大值)
不选上任何一项(空,零)
只选一项 (最小值)
2. 等价类划分法:
有效等价类:指输入完全满足程序输入的规格说明,是由有效且有意义的输入数据所构成的集合,利用有效等价类可以检验程序是否满足规格说明所规定的功能和 性能 。
无效等价类:和有效等价类相反,即不满足程序输入要求或者由无效的输入数据构成的集合。
3. 因果图法:
就是利用图解法分析软件输入(原因)和输出条件(结果)之间的关系,以设计测试用例的方法。因果图法适合于检查程序输入条件的多种情况的组合,并最终生成判定表,来获得对应的测试用例。
4. 功能图法
功能图是描述程序状态变化、转移的过程,因为软件运行或操作的过程可以看作是其状态不断发生变化的过程。测试用例的设计就是如何覆盖所有软件表现出来的状态,即在满足输入/输出的一组条件下,软件运行是一系列有次序的、受控制的状态变化过程。
5. 错误推测法:
推测法主要依赖经验、直觉来作出简单的判断甚至是猜测,给出可能存在 缺陷 的条件、场景等,在找到缺陷后,设计出相应的测试用例。
6. 正交实验设计方法:
主要步骤是:
(1) 对软件 需求 规格说明中的功能要求进行划分(层层分解与展开),分解成具体的、相对独立的基本功能。
(2) 根据基本功能的 质量 需求,找出影响其功能实现的操作对象和外部因素,每个因素的取值可以看作水平,多个取值就存在多个水平。
(3) 确定待测试软件中所有因素及其权值,这是 测试用例设计 的关键,确保全面、准确。
权值是依据各因素的影响范围、发生的频率和质量的需求来确定的。
(4) 加权筛选,生成因素分析表。
(5) 利用正交表构造测试数据集,正交表的每一行,就是一条测试用例。考虑交互作用不可忽略的处理因素和不可混杂的原则,有交互作用的组合优先安排。本回答被网友采纳
相似回答