04测试用例设计

上传人:ning****hua 文档编号:243079992 上传时间:2024-09-15 格式:PPT 页数:56 大小:678.50KB
返回 下载 相关 举报
04测试用例设计_第1页
第1页 / 共56页
04测试用例设计_第2页
第2页 / 共56页
04测试用例设计_第3页
第3页 / 共56页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,测试的设计及测试用例,黑盒测试用例的设计,测试用例的作用,交付给顾客的产品一部分,提高产品可信度,做内部使用,在代码未完成前,准备好,在代码开发或结束后可以快速投入测试,基于需求的测试用例设计,验证需求是否正确,完整性,无二义性,并且逻辑一致,从“黑盒”角度设计出充分并且必要的测试集,基于需求的测试需要工具支持,比如,QC,(,QualityCenter,),测试用例设计,等价类划分法,边界值分析法,因果图法,基本路径分析法,场景设计法,错误猜测试,正交分解法,.,黑盒测试的基本概念,黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点,将被测程序看作一个打不开的黑盒,黑盒里面的内容,(,实现,),是完全不知道的,只知道软件要做什么,。因无法看到盒子中的内容,所以,不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果,。,黑盒测试的基本概念,黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。在已知软件产品功能的基础上,,检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;,检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;,检测行为、性能等特性是否满足要求等;,检测程序初始化和终止方面的错误等。,黑盒测试的基本概念,黑盒测试着眼于软件的外部特征,通过上述方面的检测,确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作,.,两个显著的优点:,黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用;,设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。,黑盒测试的基本概念,穷举输入测试是不现实的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。,常用的黑盒测试方法有等价类划分、边界值分析、决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。,等价类划分,等价类划分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。,等价类划分,等价类划分方法,所谓等价类是指输入域的某个互不相交的子集合,所有等价类的并便是整个输入域。,1,划分等价类,(,1,)有效等价类,检验程序是否实现了规格说明预先规定的功能和性能。,(,2,)无效等价类,检查软件功能和性能的实现是否有不符合规格说明要求的地方。,等价类划分方法,2,常用的等价类划分原则,(,1,)按区间划分,(,2,)按数值划分,(,3,)按数值集合划分,(,4,)按限制条件或规则划分,(,5,)细分等价类,等价类划分方法,在确立了等价类之后,可按下表的形式列出所有划分出的等价类表:,等价类表,同样,也可按照输出条件,将输出域划分为若干个等价类。,输入条件,有效等价类,无效等价类,等价类划分方法,3,等价类划分测试用例设计,在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下:,(,1,)为每个等价类规定一个唯一的编号。,(,2),设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。,(,3),设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。,等价类划分,等价类划分法的测试运用,三角形问题的等价类测试,【,例,】,三角形问题是软件测试文献中使用最广泛的一个例子。输入三个整数,a,、,b,和,c,分别作为三角形的,3,条边,通过程序判断由这,3,条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。,等价类划分法的测试运用,三角形问题可以更详细地描述为:,输入,3,个整数,a,、,b,和,c,分别作为三角形的三条边,要求,a,、,b,和,c,必须满足以下条件:,Con1,1,a,10 Con 2,1,b,100,Con 3,1,c,100,Con 4,ab+c,Con 5,ba+c,Con 6,ca+b,如果,a,、,b,和,c,满足,Con1,、,Con2,和,Con3,,则输出为,4,种情况之一:,如果不满足条件,Con 4,、,Con 5,和,Con 6,中有一个,则程序输出为“非三角形”。,如果三条边相等,则程序输出为“等边三角形”。,如果恰好有两条边相等,则程序输出为“等腰三角形”。,如果三条边都不相等,则程序输出为“一般三角形”。,等价类划分法的测试运用,2,保险公司人寿保险保费计算程序的等价类测试,【,例,2,】,某保险公司人寿保险的保费计算方式为:,保费投保额,保险费率,其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同,,10,点及,10,点以上保险费率为,0.6%,,,10,点以下保险费率为,0.1%,;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则见表。,年龄,性别,婚姻状况,抚养人数,2039,4059,其它,M,F,已婚,未婚,1,人扣,0.5,点,,最多扣,3,点,6,点,4,点,2,点,4,点,3,点,3,点,5,点,等价类划分法的测试运用,分析程序规格说明中给出和隐含的对输入数据的要求,可以得出:, 年龄:一位或两位非零整数,取值的有效范围为,199,。, 性别:一位英文字符,只能取 ,M,或,F, 值。, 婚姻:字符,只能取已婚或未婚。, 抚养人数:空白或字符无或一位非零整数(,19,), 点数 :一位或两位非零整数,取值范围为,819,通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险保费计算程序的等价类。,等价类划分法的测试运用,等价类测试存在两个问题:,一是规格说明往往没有定义无效测试用例的期望输出应该是什么样的。因此,测试人员需要花费大量时间来定义这些测试用例的期望输出。,二是强类型语言没有必要考虑无效输入。传统等价类测试是诸如,FORTRAN,和,COBOL,这样的语言占统治地位年代的产物,那时这种无效输入的故障很常见。事实上,正是由于经常出现这种错误,才促使人们使用强类型语言。,边界值分析法,大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。,为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。,边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。,边界值分析法,1,边界条件,边界条件就是软件计划的操作界限所在的边缘条件。,一些可能与边界有关的数据类型有:数值,速度,字符,地址,位置,尺寸,数量等。同时,考虑这些数据类型的下述特征:,第一个,/,最后一个,最小值最大值,开始完成,超过,/,在内,空满,最短最长,最慢,/,最快,最早,/,最迟,最高最低,相邻最远等。,边界值分析法,其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。,在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,边界值分析法,2,边界值分析测试,这里讨论一个有两个变量,x,1,和,x,2,的程序,P,。假设输入变量,x,1,和,x,2,在下列范围内取值,:,ax,1,b, cx,2,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.,三角形问题的边界值分析测试用例设计,边界值分析测试用例,测试用例,a,b,c,预期输出,Test 1,Test2,Test3,Test4,Test5,60,60,60,50,50,60,60,60,50,50,1,2,60,99,100,等腰三角形,等腰三角形,等边三角形,等腰三角形,非三角形,Test6,Test7,Test8,Test9,60,60,50,50,1,2,99,100,60,60,50,50,等腰三角形,等腰三角形,等腰三角形,非三角形,Test10,Test11,Test12,Test13,1,2,99,100,60,60,50,50,60,60,50,50,等腰三角形,等腰三角形,等腰三角形,非三角形,边界值分析法的测试运用,加法器边界值测试用例设计,【,例,】,加法器程序计算两个,1,100,之间整数的和。,对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即,1,个有效等价类(,1,100,之间),两个无效等价类(,100,)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。,边界值分析法的测试运用,为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。,加法器等价类,编号,输入条件,所属类别,编号,输入条件,所属类别,1,1,100,之间整数,有效等价类,5,非数值(字母),无效等价类,2,100,整数,无效等价类,7,非数值(空格),无效等价类,4,小数,无效等价类,8,非数值(空白),无效等价类,边界值分析法的测试运用,加法器边界测试用例,测试用例,输入数据,预期输出,加数,1,加数,2,和,Test1,1,50,51,Test 2,2,50,52,Test 3,99,50,149,Test 4,100,50,150,Test 5,50,1,51,Test 6,50,2,52,Test 7,50,99,149,Test 8,50,100,150,Test 9,0,50,提示“请输入,1,100,间的整数”,Test 10,50,0,提示“请输入,1,100,间的整数”,Test11,101,50,提示“请输入,1,100,间的整数”,Test12,50,101,提示“请输入,1,100,间的整数”,Test13,0.2,50,提示“请输入,1,100,间的整数”,边界值分析法的测试运用,加法器边界测试用例,测试用例,输入数据,预期输出,加数,1,加数,2,和,Test14,50,0.2,提示“请输入,1,100,间的整数”,Test15,A,50,提示“请输入,1,100,间的整数”,Test16,50,A,提示“请输入,1,100,间的整数”,Test17,50,提示“请输入,1,100,间的整数”,Test18,50,提示“请输入,1,100,间的整数”,Test19,空格,50,提示“请输入,1,100,间的整数”,Test20,50,空格,提示“请输入,1,100,间的整数”,Test21,50,提示“请输入,1,100,间的整数”,Test22,50,提示“请输入,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,测试工作量,以边界值分析、等价类划分和决策表测试方法来讨论它们的测试工作量,即生成测试用例的数量与开发这些测试用例所需的工作量,。,每种测试方法的测试用例数量,黑盒测试方法的比较与选择,由每种方法设计测试用例的工作量曲线,:,每种方法设计测试用例的工作量趋势,测试方法研究的目的就是在开发测试用例工作量和测试执行工作量之间做一个令人满意的折中。,黑盒测试方法的比较与选择,2,测试有效性,解释测试有效性是很困难的。因为我们不知道程序中的所有故障,因此我们也不可能知道给定方法所产生的测试用例是否能够发现这些。,所能够做的,只是根据不同类型的故障,选择最有可能发现这种缺陷的测试方法,(,包括白盒测试,),。根据最可能出现的故障种类,分析得到可提高测试有效性的实用方法。通过跟踪所开发软件中的故障的种类和密度,也可以改进这种方法。,黑盒测试方法的比较与选择,利用程序的已知属性,选择处理这种属性的方法,在选择黑盒测试方法时一些经常用到的属性有:,变量表示物理量还是逻辑量,?,在变量之间是否存在依赖关系,?,是否有大量的例外处理,?,黑盒测试方法的比较与选择,下面给出一些黑盒测试方法选取的初步的,“,专家系统,”,:,如果变量引用的是物理量,可采用边界值分析测试和等价类测试。,如果变量是独立的,可采用边界值分析测试和等价类测试。,如果变量不是独立的,可采用决策表测试。,如果可保证是单缺陷假设,可采用边界值分析和健壮性测试。,如果可保证是多缺陷假设,可采用边界值分析测试和决策表测试,如果程序包含大量例外处理,可采用健壮性测试和决策表测试。,如果变量引用的是逻辑量,可采用等价类测试用例和决策表测试。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!