软件测试技术-测试的设计及测试用例_第1页
软件测试技术-测试的设计及测试用例_第2页
软件测试技术-测试的设计及测试用例_第3页
软件测试技术-测试的设计及测试用例_第4页
软件测试技术-测试的设计及测试用例_第5页
已阅读5页,还剩52页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

测试的设计及测试用例黑盒测试用例的设计测试用例的作用交付给顾客的产品一部分,提高产品可信度做内部使用,在代码未完成前,准备好,在代码开发或结束后可以快速投入测试基于需求的测试用例设计验证需求是否正确,完整性,无二义性,并且逻辑一致从“黑盒”角度设计出充分并且必要的测试集基于需求的测试需要工具支持,比如QC(QualityCenter)测试用例设计等价类划分法边界值分析法因果图法基本路径分析法场景设计法错误猜测试正交分解法......黑盒测试的基本概念黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。黑盒测试的基本概念黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。在已知软件产品功能的基础上,检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;检测行为、性能等特性是否满足要求等;检测程序初始化和终止方面的错误等。黑盒测试的基本概念黑盒测试着眼于软件的外部特征,通过上述方面的检测,确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作.两个显著的优点:①黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用;②设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。黑盒测试的基本概念穷举输入测试是不现实的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。常用的黑盒测试方法有等价类划分、边界值分析、决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。

等价类划分等价类划分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。等价类划分等价类划分方法所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并便是整个输入域。1.划分等价类(1)有效等价类检验程序是否实现了规格说明预先规定的功能和性能。(2)无效等价类检查软件功能和性能的实现是否有不符合规格说明要求的地方。等价类划分方法2.常用的等价类划分原则(1)按区间划分(2)按数值划分(3)按数值集合划分(4)按限制条件或规则划分(5)细分等价类等价类划分方法在确立了等价类之后,可按下表的形式列出所有划分出的等价类表:等价类表同样,也可按照输出条件,将输出域划分为若干个等价类。输入条件有效等价类无效等价类等价类划分方法3.等价类划分测试用例设计在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下:(1)为每个等价类规定一个唯一的编号。(2)设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。(3)设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。等价类划分等价类划分法的测试运用1.三角形问题的等价类测试【例】三角形问题是软件测试文献中使用最广泛的一个例子。输入三个整数a、b和c分别作为三角形的3条边,通过程序判断由这3条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。

等价类划分法的测试运用三角形问题可以更详细地描述为:

输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c必须满足以下条件:Con1.1≤a≤10Con2.1≤b≤100Con3.1≤c≤100

Con4.a<b+cCon5.b<a+c

Con6.c<a+b如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一:①.如果不满足条件Con4、Con5和Con6中有一个,则程序输出为“非三角形”。②.如果三条边相等,则程序输出为“等边三角形”。③.如果恰好有两条边相等,则程序输出为“等腰三角形”。④.如果三条边都不相等,则程序输出为“一般三角形”。等价类划分法的测试运用2.保险公司人寿保险保费计算程序的等价类测试【例2】某保险公司人寿保险的保费计算方式为:

保费=投保额×保险费率其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则见表。年龄性别婚姻状况抚养人数20~3940~59其它MF已婚未婚1人扣0.5点,最多扣3点6点4点2点4点3点3点5点等价类划分法的测试运用分析程序规格说明中给出和隐含的对输入数据的要求,可以得出:①年龄:一位或两位非零整数,取值的有效范围为1~99。②性别:一位英文字符,只能取‘M’或’F’值。③婚姻:字符,只能取‘已婚’或‘未婚’。④抚养人数:空白或字符‘无’或一位非零整数(1~9)⑤点数:一位或两位非零整数,取值范围为8~19通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险保费计算程序的等价类。等价类划分法的测试运用等价类测试存在两个问题:

一是规格说明往往没有定义无效测试用例的期望输出应该是什么样的。因此,测试人员需要花费大量时间来定义这些测试用例的期望输出。二是强类型语言没有必要考虑无效输入。传统等价类测试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产物,那时这种无效输入的故障很常见。事实上,正是由于经常出现这种错误,才促使人们使用强类型语言。

边界值分析法大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。

边界值分析法1.边界条件边界条件就是软件计划的操作界限所在的边缘条件。一些可能与边界有关的数据类型有:数值,速度,字符,地址,位置,尺寸,数量等。同时,考虑这些数据类型的下述特征:第一个/最后一个,最小值/最大值,开始/完成,超过/在内,空/满,最短/最长,最慢/最快,最早/最迟,最高/最低,相邻/最远等。常见的边界值

对16-bit的整数而言32767和-32768是边界

屏幕上光标在最左上、最右下位置

报表的第一行和最后一行

数组元素的第一个和最后一个

循环的第0次、第1次和倒数第2次、最后一次边界值分析法其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。边界值分析法2.边界值分析测试这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1和x2在下列范围内取值:

a≤x1≤b,c≤x2≤d边界值分析利用输入变量的最小值(min),稍大于最小值(min+),域内任意值(nom),稍小于最大值(max-),最大值(max)来设计测试用例。边界值分析法对于一个n变量的程序,边界值分析测试会产生4n+1个测试用例。边界值分析法3.健壮性边界值测试

健壮性测试是边界值分析的一种扩展。

变量除了取min,min+,nom,max-,max五个边界值外,还要考虑采用一个略超过最大值(max+)以及一个略小于最小值(min-)的取值边界值分析法健壮性边界值测试将产生6n+1个测试用例.健壮性测试最有意义的部分不是输人,而是预期的输出,观察例外情况如何处理。边界值举例[250-500]边界值:249、250、251、499、500、501边界值分析法边界值分析法的测试运用1.三角形问题的边界值分析测试用例设计

边界值分析测试用例测试用例abc预期输出Test1Test2Test3Test4Test560606050506060605050126099100等腰三角形等腰三角形等边三角形等腰三角形非三角形Test6Test7Test8Test960605050129910060605050等腰三角形等腰三角形等腰三角形非三角形Test10Test11Test12Test1312991006060505060605050等腰三角形等腰三角形等腰三角形非三角形

边界值分析法的测试运用加法器边界值测试用例设计【例】加法器程序计算两个1~100之间整数的和。对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即1个有效等价类(1~100之间),两个无效等价类(<1,>100)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。边界值分析法的测试运用为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。

加法器等价类编号输入条件所属类别编号输入条件所属类别11~100之间整数有效等价类5非数值(字母)无效等价类2<1整数无效等价类6非数值(特殊字符)无效等价类3>100整数无效等价类7非数值(空格)无效等价类4小数无效等价类8非数值(空白)无效等价类

边界值分析法的测试运用加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test115051Test225052Test39950149Test410050150Test550151Test650252Test75099149Test850100150Test9050提示“请输入1~100间的整数”Test10500提示“请输入1~100间的整数”Test1110150提示“请输入1~100间的整数”Test1250101提示“请输入1~100间的整数”Test130.250提示“请输入1~100间的整数”边界值分析法的测试运用加法器边界测试用例测试用例输入数据预期输出加数1加数2和Test14500.2提示“请输入1~100间的整数”Test15A50提示“请输入1~100间的整数”Test1650A提示“请输入1~100间的整数”Test17@50提示“请输入1~100间的整数”Test1850@提示“请输入1~100间的整数”Test19空格50提示“请输入1~100间的整数”Test2050空格提示“请输入1~100间的整数”Test2150提示“请输入1~100间的整数”Test2250提示“请输入1~100间的整数”边界值分析法的测试运用应用边界值分析法进行测试用例设计时,应遵循以下一些原则:(1)如果输入条件对取值范围进行了限定,则应以边界内部以及刚超出范围边界外的值作为测试用例。(2)如果对取值的个数进行了界定,则应分别以MAX、MAX-、MAX+、MIN、MIN-、MIN+个数作为测试用例。(3)对于输出条件,同样可以应用上面提到的两条原则来进行测试用例设计。(4)如果程序规格说明书中指明输入或者输出域是一个有序的集合,如顺序文件、表格等,则应注意选取有序集合中的第一个和最后一个元素作为测试用例。

因果图法等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。但如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。进行因果图法处理某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

因果图法因果图法的原理1.因果图

因果图法的原理

因果图法的原理2.因果图法测试用例的设计步骤:(1)确定软件规格中的原因和结果。分析规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)确定原因和结果之间的逻辑关系。分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(3)确定因果图中的各个约束。由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表设计测试用例。因果图法的测试运用有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币

投入1元5角硬币投入2元硬币按“可乐”按钮按“雪碧”按钮按“红茶”按钮退还5角硬币送出“可乐”饮料送出“雪碧”饮料送出“红茶”饮料已投币已按钮因果图

决策表法在所有的黑盒测试方法中,基于决策表的测试是最严格,最具有逻辑性的测试方法。决策表法决策表法1.决策表决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。

它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

决策表法决策表通常由条件桩、条件项、动作桩和动作项4部分组成。

条件桩

条件项动作桩动作项规则决策表的组成

动作项和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。决策表法2.决策表的构造及化简构造决策表可采用以下5个步骤:(1)列出所有的条件桩和动作桩。(2)确定规则的个数。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。因果图生成决策表因果+决策案例中国象棋中走马的实际情况如果落点在棋盘外,则不移动棋子;如果落点与起点不构成日字型,则不移动棋子;如果落点处有自己方棋子,则不移动棋子;如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;如果不属于1-4条,且落点处无棋子,则移动棋子;如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束设计测试用例的方法原因:1.落点在棋盘上2.落点与起点构成日字3.落点处不为自己方棋子4.落点方向的邻近交叉点有棋子5.落点处无棋子6.落点处为对方棋子(非老将)7.落点处为对方老将结果:21不移动棋子22移动棋子23移动棋子,并除去对方棋子24移动棋子,并提示战胜对方,结束游戏设计测试用例的方法决策表的例子因果图法+决策表作业某软件规格说明书规定:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。

黑盒测试方法的比较与选择上面讨论了几种典型的黑盒测试方法,这些测试方法的共同特点是,它们都把程序看作是一个打不开的黑盒,只知道输入到输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论