第3章 白盒测试黑盒测试课件_第1页
第3章 白盒测试黑盒测试课件_第2页
第3章 白盒测试黑盒测试课件_第3页
第3章 白盒测试黑盒测试课件_第4页
第3章 白盒测试黑盒测试课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

1,软件测试方法和技术 - Ch.3测试基本方法白盒测试与黑盒测试,计算机工程系,杨晓花,2,第三章 软件测试的基本方法,1 测试用例设计概述 2 白盒测试 3 黑盒测试,3,1.1 测试用例的定义和特征,测试用例的定义: (1)测试用例是为特定的目的而设计的一组测试输入、 执行条件和预期的结果。 (2)测试用例是执行的最小实体。 测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。,4,1.2 设计测试用例的基本准则,测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。,5,1.3 设计测试用例的着眼点,根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如FAX和上网可能要用到MODEM,测试中考虑对设备的共享); 考虑特殊情况(如内存和硬件的冲突等); 设计极端情况(如内存泄漏、破坏性测试等); 好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。,6,1.4 测试用例设计书写标准,在ANSI/IEEE829-1983标准中列出了和测试设计相关的测试用例编写规范和模板。标准模板中主要元素如下: 标识符惟一标识每一个测试用例 测试项准确的描述所需要测试的项及其特征 测试环境要求表征执行该测试用例需要的测试环境 输入标准执行测试用例的输入需求(这些输入可能包括数据、文件或者操作) 输出标准按照指定的环境和输入标准得到的期望输出结果 测试用例之间的关联标识该测试用例与其它的测试(或其它测试用例)之间的依赖关系,范 例,7,软件测试方法,软件测试方法分为两类:静态分析、动态测试,一、静态分析方法 指以人工的、非形式化的方法对程序进行分析和测试。 二、动态分析方法 通过选择适当的测试用例,执行程序。 包括黑盒测试,白盒测试。,8,静态和动态测试,9,静态测试方法,静态测试方法的基本特征是在对软件进行分析、检查和审阅,但并不实际运行被测试的软件。 如: 对需求规格说明书、软件设计说明书、源程序做检查和审阅,包括: 是否符合标准和规范; 通过结构分析、流图分析、符号执行指出软件缺陷。,10,静态测试方法,人工测试:通过人工阅读分析以及评审软件的文档、程序资料等。一些设计上的逻辑错误在机器上不易发现,需要人工复查。好的人工复查,可找出3070%的编码和逻辑设计错误。 计算机辅佐分析:设计一些分析工具对被测程序进行静态分析,从中提取信息。如检查局部变量和全局变量、参数匹配、判断与循环的嵌套匹配、潜在的死循环、不执行的代码、过程调用层次等。,11,动态测试方法,动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。 动态测试的两个基本要素: 被测试程序 测试数据(测试用例),12,软件动态测试方法,软件测试方法,黑盒测试 不考虑程序的内部结构与特性,只根据程序功能或程序 的外部特性设计测试用例。 白盒测试 分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。,13,白盒法,白盒测试测试用例一般采用逻辑覆盖法进行设计。,语 句 覆 盖,判 定 覆 盖,条 件 覆 盖,判 定 条 件 覆 盖,条 件 组 合 覆 盖,弱,强,软件测试方法,路 径 覆 盖,14, 语句覆盖: 选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 判定覆盖: 执行足够的测试用例,使得程序中每个判定至少都获得一次“真”值和“假”值。 条件覆盖: 执行足够的测试用例,使得所有判定中的每个条件至少都获得一次“真”值和“假”值。,白盒法常用的覆盖标准,软件测试方法,15, 判定/条件覆盖: 执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 条件组合覆盖: 执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。 路径覆盖: 路径覆盖是相当强的逻辑覆盖,它保证程序中每条可能的路径都至少执行一次。,白盒法常用的覆盖标准,软件测试方法,16,白盒法步骤:,1)选择逻辑覆盖标准。 2)按照覆盖标准列出所有情况。 3)选择确定测试用例。 4)验证分析运行结果与预期结果。,17,白盒法举例,Procedure (VAR A,B,X:REAL); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;,18,1、语句覆盖,使得程序中每个语句至少都能被执行一次。,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,满足语句覆盖的情况: 执行路径:sacbed,选择用例: (2,0,4),(2,0,3),用例格式: 输入(A,B,X),输出(A,B,X),Y,N,Y,N,开始,结束,s,19,2、判定覆盖,使得程序中每个判定至少为TRUE和FALSE各一次。,覆盖情况:应执行路径 sabd sacbed 或: sacbd sabed,选择用例(其一): (2,0,4),(2,0,3) sacbed (1,1,1),(1,1,1) sabd (2,1,1),(2,1,2) sabed (3,0,3),(3,1,1) sacbd,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,20,3、条件覆盖,使得判定中的每个条件至少都获得一次“真”值和“假”值。,应满足以下覆盖情况: 判定一: A1, A1, B=0, B0 判定二: A=2, A2, X1, X1,选择用例: (2,0,4),(2,0,3) (1,1,1),(1,1,1),2,A1,A2,0,B=0,4,X1,1,A1,A=2,1,B0,1,X1,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,21,4、判定/条件覆盖,同时满足判定覆盖和 条件覆盖。,应满足以下覆盖情况: 条件: A1, A1, B=0, B0 A=2, A2, X1, X1 应执行路径 sacbed sabd,选择用例: (2,0,4),(2,0,3)(sacbed ) (1,1,1),(1,1,1) (sabd),A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,22,5、条件组合覆盖,使得每个判定中条件的各种“真”“假”可能组合都至少出现一次,A1,X:=X/A,A=2,X:=X+1,a,b,c,d,e,B=0,X1,Y,N,Y,N,Y,N,Y,N,编译系统下的执行情况: 部分路径未被执行。,满足以下覆盖情况: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1,选择用例: (2,0,4),(2,0,3) (2,1,1),(2,1,2) (1,0,3),(1,0,4) (1,1,1),(1,1,1),c,结束, , , , ,23,6、路径覆盖法,A1 AND B=0,X:=X/A,A=2 OR X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,开始,结束,s,每条可能的路径都至少执行一次,24,例题:三角形问题,输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出“不能构成三角形”。 要求:1、用程序流程图表示该问题的算法; 2、设计路径覆盖的测试用例。,25,解法1:,覆盖路径: 1 2,26,解法2:,覆盖路径: 测试用例 1 (3,4,5) 2 (2,2,5) 3 (2,5,2) 4 (5,2,2),27,解法2:路径覆盖法测试用例设计,28,思考,解法1与解法2有何不同?哪一种设计得更合理?,29,基本路径测试,1,画出流程图,30,基本路径测试,1,2,3,4,5,10,11,2,简化流程图,31,V(G) = 区域数量(由节点、连线包围的区域,包括图形外部区域) V(G) = 连线数量 - 节点数量 + 2 V(G) = 简单可预测节点数量 + 1,环路复杂度(Cyclomatic complexity):代码逻辑复杂度的 度量。用V(G) 表示。通过V(G) 确定基本路径数。,基本路径测试,3,计算环路复杂度,32,V(G)=4,Region 4,基本路径测试,33,基本路径集合: 由独立路径构成的集合 由基本路劲集合导出的测试用例,保证被测程序的每条可执行语句至少被执行一次。 基本集合不一定唯一,基本路径测试,3,确定基本路径集合,34,Path1: 1-2-3-6-7-9-10-1-11,示例:基本路径测试用例,Path2: 1-2-3-6-8-9-10-1-11,Path3: 1-2-3-4-5-10-1-11,Path4: 1-11,还有其它路径集合吗?,35,基本路径测试:练习,A,E,C,D,B,Path1: A-C-E,Path2: A-B-C-E,Path3: A-B-C-D-E,V(G)= ?,还有其它路径集合吗?,3,另外两组路径集合?,36,方法: 在循环内部及边界上执行测试,循环测试 1,1.简单循环(迭代次数n) 完全跳过循环 只经过循环一次 经过循环两次 经过循环m( m n )次 分别经过循环n-1, n, n+1 次,37,循环测试 2,2. 嵌套(Nested)循环 在最里面的循环完成前面所述的简单循环测试,同时设定外部循环的最小迭代次数 逐步向外循环进行 直到所有循环被测试,38,循环测试 3,3. 串行连接的循环 如果是独立的循环,可以分别看为简单循环测试。,39,等 价 分 类 法,边 值 分 析 法,错 误 推 测 法,因 果 图 法,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。,黑盒法,判 定 表 法,40,1、等价分类法,基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 “等价类”,从等价类中选择出的用例,具有“代表性”。,等价类分为: 有效等价类 对于程序的规格说明是合理的、有意义的输入数据构成的集合。 无效等价类 对于程序的规格说明,是不合理的,是没有意义的输入数据构成的集合。,41,等价分类法步骤,显然,关键是 如何划分等价类,应按照输入条件(如输入值的范围,值的个数,值的集合,输入条件必须如何)划分为有效等价类和无效等价类。 例如:每个学生可选修1-3门课程 可以划分一个有效等价类:选修1-3门课程。 可以划分两个无效等价类:未选修课,选修课超过3门。 又如:标识符的第一个字符必须是字母。 可以划分为一个有效等价类:第一个字符是字母。 可以划分一个无效等价类:第一个字符不是字母。,A、为每个等价类编号; B、使一个测试用例尽可能覆盖多个有效等价类 C、特别要注意的是:一个测试用例只能覆盖一个无效等价类。,划分等价类,选择测试用例,42,2、边值分析法,基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。,分析步骤: A、先划分等价类。 B、选择测试用例,测试等价类边界。,边界选择原则: A、按照输入值范围的边界。 B、按照输入/输出值个数的边界。 C、输出值域的边界。 D、输入/输出有序集的边界。,43,A、按照输入值范围的边界。 例如:输入值的范围是-1.0至1.0,则可选择用例 1.0、1.0、-1.001、1.001。 B、按照输入/输出值个数的边界。 例如:输入文件可有1-255个记录,则 设计用例:文件的记录数为 0个、1个、255个、256个。 C、输出值域的边界。 例如:检索文献摘要,最多4篇。设计用例:可检索0篇、1篇、4篇,和5篇(错误)。 D、输入/输出有序集(如顺序文件、线性表)的边界。 应选择第一个元素和最后一个元素。,边值分析法举例,44,等价类划分法举例,等价分类法步骤,程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。 (1)按等价分类法设计测试用例(要求列出设计过程) (2)按边缘值分析法设计测试用例。,45,黑盒测试举例,等价分类法步骤,答:等价类法 (1)列出等价类表,设输入选修课数目为X:,(2)设计测试用例: 测试用例1: 输入X=2,覆盖等价类(1) 测试用例2: 输入X=5,覆盖等价类(2) 测试用例3: 输入X=0,覆盖等价类(3) 边界值法:X=0,X=1,X=3,X=4,46,例: 某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。 系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例,来测试程序的日期检查功能?,用等价类划分法设计测试用例,47,第一步:等价类划分,“报表日期”输入条件的等价类表,48,第二步:为有效等价类设计测试用例,对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖:,(1) 6位数字字符 (2) 年在20032008之间 (3) 月在112之间,49,第三步:为每一个无效等价类 至少设计一个测试用例,本例的10个等价类至 少需要8个测试用例,50,习题,某城市电话号码由三部分组成,分别是: 地区码 空白或三位数字; 前 缀 非0且非1开头的三位数字; 后 缀 4位数字。 假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求: (1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。 (2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。,51,3,4,1 2,5 6 7,8 9 10 11 12,13 14 15,等价类划分法,52,53,习题:三角形问题,一个程序输入三个数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及是否构成三角形。 问题:设三角形3条边分别为a、b、c。试用等价分类法设计测试用例,写出设计过程。,54,在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。 在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = : 边为a,b,c的等边三角形 R2 = : 边为a,b,c的等腰三角形 R3 = : 边为a,b,c的一般三角形 R4 = : 边为a,b,c不能组成三角形 ,分析: 三角形问题,55,解:输入条件等价类划分,56,57,三角形问题,加入条件a、b、c在1,100之间。 输入三个数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。 现在要求输入三个整数a、b、c,必须满足以下条件: 条件1 1a100 条件4 ab+ c 条件2 1b100 条件5 ba+ c 条件3 1c100 条件6 ca+ b,习题:,题目:结合所学的黑盒测试用例设计方法,设计出合理的测试用例。要求列出设计过程。如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。,58,等价类划分:,59,等价类测试用例,与上题分析有何不同呢?,60,边界值法继续设计无效等价类测试用例:,还可以设计哪些测试用例呢?,61,继续设计无效等价类测试用例:,输入非法字符:,62,决策表,在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。 决策表(也称判定表),最适合描述在多逻辑条件取值的组合所构成的复杂情况下,分别执行哪些不同的动作。,决策表实例,63,规则,选项,“阅读指南”决策表,64,决策表的组成,决策表通常由以下4部分组成: 条件桩左上部分,列出各种可能的单个条件 动作桩左下部分,列出可能采取的单个动作 条件项右上部分,针对各种条件给出多组条件取值的组合 动作项右下部分,指出在条件项的各组取值情况下应采取的动作,将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。,65,决策表分类,有限条目决策表 所有条件都是二元条件的决策表。 扩展条目决策表 若条件可以有多个值,则对应的决策表称扩展条目决策表。,66,决策表的生成,构造决策表的5个步骤: (1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。,三角形问题的决策表,67,三角形问题的决策表,规则,选项,68,决策表应用,例题:NextDate函数的决策表测试用例设计 NextDate函数要求函数的输出是输入日期后一天的日期。 例如:若输入为2011年3月7日,则函数输出应为2011年3月8日。 问题:对上述函数采用判定表方法设计测试用例。,69,决策表应用,问题分析:NextDate函数的三个变量之间在输入定义域中存在一定的逻辑依赖关系,由于等价类划分和边界值分析测试都假设了变量是独立的,如果采用上述两种方法设计测试用例,那么这些依赖关系在机械的选取输入值时可能会丢失。而采用决策表法则可以通过使用“不可能动作”的概念表示条件的不可能组合,来强调这种依赖关系。 说明:当决策表规模(指规则的数目,n个条件的决策表有2n个规则)较大时,可以通过扩展条目决策表(条件使用等价类)、代数简化表、将大表“分解”为小表等方法。,实例分析,70,NextDate函数,为了获得下一个日期,NextDate函数执行如下操作: 如果输入日期不是当月最后一天,则把day变量的值加1; 如果输入日期是111月份中某月的最后一天,则把day变量的值复位为1,month变量的值加1; 如果输入日期是12月的最后一天,则day变量和month变量的值都复位为1,year变量的值加1。 关于最后一天的判断: 如果是有31天的月份(1,3,5,7,8,10,12),day变量值为31; 如果是有30天的月份(4,6,9,11), day变量值为30; 如果是有29天的月份(闰年的2月),day变量值为29; 如果是有28天的月份(非闰年的2月),day变量值为28。,71,NextDate函数的条件桩,考虑到决策表的规模,条件使用month、day、year变量的等价类,在以下等价类集合上建立决策表: (1)对于month变量的取值 M1: month : month共有30天; M2: month : month共有31天,12月除外; M3: month : month是12月; M4: month : month是2月; (2)对于day变量的取值 D1:day:1day27; D2: day:day=28; D3: day:day=29; D4: day:day=30; D5: day:day=31;,(3)对于year变量的取值 Y1:year:year是闰年; Y2: year:year不是闰年,决策表,72,NextDate函数的动作桩,根据所执行的操作,可列出NextDate函数的动作桩: a1: 不可能; a2: day加1; a3: day复位; a4: month加1; a5: month复位; a6: year加1,决策表,73,NextDate函数的决策表,back,74,简化后的函数决策表,75,测试用例,76,作业:,1、某软件的一个模块的需求规格说明书中描述: 在供应商业务处理中,有一个“检查订货单”的功能;档客户订货款项大于5000元时,如果客户拖欠款超过60天,向客户发一份拒绝供货备忘录,在客户没有还清货款前不发供货单;如果客户拖欠款没有超过60天,可以发供货单。 如果客户订款没有超过5000元,而客户拖欠款超过60元,仍可以发供货单,但还要发一份催款通知单;如果客户拖欠款没有超过60天,可以发供货单。 要求:画出决策表,77,因果图法的简介,因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。,78,因果图法的简介(续),因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。 因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 采用因果图法设计测试用例的步骤: (1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。 (2)将得到的因果图转换为判定表。 (3)为判定表中每一列所表示的情况设计一个测试用例。,79,因果图法的简介(续),使用因果图法的优点: (1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。,80,因果图,因果图中用来表示4种因果关系的基本符号:,81,因果图(续),因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。 恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。 非:若 c1 是1,则 e1 为0,否则e1为1。 或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。 与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。,82,因果图(续),因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。 E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。 I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。 O约束(唯一):a和b必须有一个且仅有一个为1。 R约束(要求):a是1时,b必须是1。 M约束(强制):若结果a为1,则结果b强制为0。,83,因果图(续),因果图中用来表示约束关系的约束符号:,84,因果图(续)利用因果图生成测试用例,因果图法最终生成的是决策表。基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系, 根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。,85,因果图法测试举例,程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。 解题步骤: (1)分析程序的规格说明,列出原因和结果。 (2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。 (3)将因果图转换成决策表。 (4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。,86,因果图法测试举例(续),(1)分析程序规格说明中的原因和结果: (2)画出因果图(编号为10的中间结点是导出结果的进一步原因):,87,因果图法测试举例(续),(3)将因果图转换成如下所示的决策表:,规则,选项,88,因果图法测试举例(续),(4)根据决策表中的每一列设计测试用例:,89,错误推测法,错误推测法的概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。 例如: 在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。 还有,输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。,90,测试方法的选择,通常,在确定测试方法时,应遵循以下原则: 根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。 认真选择测试策略,以便能尽可能少的使用测试用例,发现尽可能多的程序错误。因为一次完整的软件测

温馨提示

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

评论

0/150

提交评论