常见的软件测试用例设计方法

2021-12-08 17:21:27下载本文作者:会员上传
简介:写写帮文库小编为你整理了这篇《常见的软件测试用例设计方法》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《常见的软件测试用例设计方法》。

常见的软件测试用例设计方法有以下几种:

一、等价类划分

1)确定等价类

有效等价类代表对程序的有效输入;无效等价类代表的是其他不正确的任何输入。如果需要,我们还可以将一个等价类划分为更小的一些等价类。

比如,规格说明规定了“请输入书籍的数量(1~99)以及书籍的类型(硬皮、软皮或活页)”。它们对应的等价类分别如下:

书籍数量

“"”“

书籍类型

”“”“

2)生成测试用例

1.为每个等价类设置编号。

”“”“

2.编写测试用例,尽可能多的覆盖尚未被覆盖的有效等价类。直到所有的有效等价类都被测试用例覆盖。测试用例及其覆盖的有效等价类如下:

”“”“

3.编写测试用例,覆盖一个且仅一个尚未被覆盖的无效等价类。直到所有的无效等价类都被测试用例所覆盖。测试用例及其覆盖的无效等价类如下:

”“”“

用单个的测试用例覆盖无效等价类,是因为有些输入的错误检查可能会屏蔽或取代其他输入的错误检查。比如②⑦,也许程序提示“非法的书籍数量”后,就不会执行对书籍类型的检查了。

二、边界值分析

经验证明,考虑了边界条件的测试用例比其他没有考虑边界条件的测试用例,具有更高的测试回报率。所谓边界条件,是指输入和输出等价类中恰好处在边界、或超过边界、或在边界以下的状态。

上例中的书籍数量范围是1~99,那么应该针对0,1和99,100的情况分别设计测试用例。

”“”“

从定义可以看出,等价划分只关注输入空间(输入等价类)的不同,边界值分析还需要从输出空间(输出等价类)设计测试用例。

举例来说:

某个程序按月计算个人所得税的速算扣除数,且最小金额是0,最大金额是13,505。使用边界值分析法,应该设计测试用例测试速算扣除数结果为0和13505的情况。此外,还应观察是否可能设计出导致速算扣除数为负数,或者超过13505的测试用例。

”“”“

边界值分析法和等价划分重要的区别是,等价划分是从等价类中挑选任意一个元素作为测试数据;边界值分析法考察正处于等价划分边界或在边界附近的状态。

三、因果图

边界值分析和等价划分的缺点是,未对输入条件的组合情况、输入条件之间的相互制约关系进行分析。

1)因果图的基本关系

    恒等(Identify):若a为1,则b为1;否则b为0。

    非(NOT):若a为1,则b为0;否则b为1。

    或(OR):若a或b或c为1,则d为1;否则d为0。

    与(AND):若a和b和c都为1,则d为1;否则d为0。

”“”“

2)因果图的约束条件

1、对于输入条件的约束有E、I、O、R四种:

    异(E):E必须总为真,而a、b最多只有一个为1。

    或(I):I为真时,a、b和c中至少有一个必须为1。

    唯一(O):a、b中,有且仅有一个必须为1。

    要求(R):如果a为1,b也必须为1。

”“”“

2、对于输出结果的约束只有M一种:

屏蔽(M):如果结果a为0,则b强制为0。

”“”“

一、假设有一规格说明:

“第一列中的字符必须是‘A’或‘B’,第二列中的字符必须是一个数字。在这种情况下,对文件进行更新。如果第一个字符不正确,产生提示信息X12。如果第二个字符不是数字,产生提示信息X13。”

(1)将规格说明分解为可执行的片段,确定“因”和“果”,为每个“因”和“果”都赋予唯一的编号。“因”是条件,是指一个明确的输入条件等价类。“果”是动作,是指一个输出或系统转换(输入对程序或系统状态的延续影响)。

”“”“

(2)分析规格说明的语义,转换为因果图。原因①和原因②不可能同时成立,为因果图添加对应的约束条件,得到右图。

”“”“

因果图和添加了约束条件后的因果图

(3)将因果图转换为判定表,每一列代表一个测试用例。

”“”“

判定表

(4)将判定表中的列转换为测试用例。

”“”“

二、将因果图转换为判定表的思路(以上述的例子来说明)

1.选择一个“果”作为当前状态。例:71。

2.对因果图回溯,找出导致该“果”为1的所有因的组合(需要考虑到约束条件)。例:001,000。

3.在判定表中为每个“因”的组合生成一列。例:(列3)和(列4)。

4.对于每种“因”的组合,判断所有其他“果”的状态,并放置在对应的每一列中。例:已得在001,000两种组合下结点71的结果为1。判断在“因”为001的组合下,得到70和72的结果为0。判断在“因”为000的组合下,得到70的结果为0,72的结果为1。将“果”的状态填入其对应的列。

对因果图进行回溯时,需要做到以下考虑:

1.当回溯经过一个结果为1的OR结点时,不要将OR结点的1个以上的输入同时设为1。

2.当回溯经过一个结果为0的AND结点时,应列举出导致该结果为0的所有输入情况的组合。然而,当该AND结点的一个输入条件为0时,其他输入有一个或更多的1,则不必考虑其他输入为1的所有情况。

3.当回溯经过一个结果为0的AND结点时,所有输入皆为0的这一种情况应当列举出来。

”“”“

找出因果图中,所有导致输出状态为0的输入条件

(1)根据上述第c)条思路,我们只需列出使得结点⑤和结点⑥皆为0的情况。结点①②③④的取值状态为:

0,0,0,0(5=0,6=0)

(2)根据第b)条思路,对于结点⑤为1而结点⑥为0的情况,应该列出导致⑥为0的所有输入情况组合。同时,只需列出一种使得⑤为1的情况即可,不需要列出⑤为1时的所有输入情况组合。又根据第a)条思路,当结点⑤为1时,我们不应将结点①和②同时设为1。于是,得到结点①②③④的取值状态:

1,0,0,0(5=1,6=0)

1,0,0,1(5=1,6=0)

1,0,1,0(5=1,6=0)

同样的,对于⑤为0而⑥为1的情况,也只需要列出⑥为1的一种情况即可(尽管在本例中也只有这一种)。

0,0,1,1(5=0,6=1)

因果图有助于用一个系统的方法选择出高效的测试用例集。它还有一个额外的好处,就是可以指出规格说明的不完整性和二义性。但通常它不能生成全部应该被确定的有效测试用例。

注意:因果图方法没有充分考虑边界条件。建议,最好是单独考虑边界值分析。这不意味着我们要为此增加相应多的测试用例,而是在由因果图生成测试用例时,可以将边界条件分析一并考虑进去。最好的结果是既满足了两方面的目标,又不需要增加新的测试用例。

四、错误推测

错误猜测是一项依赖于直觉的非正规的过程,其基本思想是人们利用直觉和经验猜测可能犯得错误或错误易发情况的清单,然后编写测试用例来暴露这些错误。

例如,程序输入中出现0这个值,就是一种错误易发情况。因此可以编写测试用例检查特定的输入值中有0,或特定的输出值被强制为0的情况。同样,在出现输入或输出数目不定的地方,如,对某个列表进行搜索,结果为“空列表”或“只包含一个”条目的列表,也是错误容易发生的情况。

下载常见的软件测试用例设计方法word格式文档
下载常见的软件测试用例设计方法.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    常见的测试用例设计方法都有哪些

    1 / 6 (常见)测试用例-设计方法-面试题目 常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 1. 等价类划分 常见的软件测试面试......

    软件测试中报表测试用例设计方法总结

    软件测试中报表测试用例设计方法总结 报表的测试主要分为以下几个方面:界面,安全性,准确性,展示速度(性能) 数据统计方面 1、报表统计数据的正确性;2、报表统计数据的完整性;......

    编辑测试用例方法感言

    编辑测试用例方法感言 编辑测试用例方法感言 、一个测试用例要写到什么程度才比较好? 、刚开始做测试的时候,你是怎么学习写测试用例的? 、你对黑盒测试用例的编写的体会是什......

    编写测试用例方法心得体会

    由安博测试空间技术中心http://www.xiexiebang.com/提供 编写测试用例方法心得体会 编写背景: 一直以来都不太想把技术方面的文章写出来给大家看,一个是怕写作功底不好误导哪......

    编写测试用例方法心得体会

    编写测试用例方法心得体会 编写背景: 一直以来都不太想把技术方面的文章写出来给大家看,一个是怕写作功底不好误导哪些刚入门的测试同行,自己的表达能力有限,另一方面怕有的同......

    测试用例设计步骤

    测试用例设计步骤 设计测试案例的时候,需要有清晰的测试思路,对要测试什么,按照什么顺序测试,覆盖哪些需求做到心中有数。测试用例编写者不仅要掌握软件测试的技术和流程,而且要......

    软件测试用例的设计心得(小编整理)

    1、了解软件的原始需求(测试目的) 在编写一个软件或者模块的测试用例时候,一定要明白这个功能的原始需求,也就是软件的使用者(客户)的需求。理解原始需求后,编写的测试用例才更有目......

    业务流程类测试用例的设计

    业务流程类测试用例的设计 最近做的这个系统是强调业务流程的,感觉和以前的纯功能的系统还是有区别,首先要做的是对业务需求的理解,在流程一致的前提下,再确定功能模块的正确与......