资源描述
Arial font(size 24,bold),Arial font(size 18),Arial Font(size 18),Arial Font(size 14),Arial Font(size 10),Arial Font(size 10)154,106,57,*,2005-2006,Saga Technologies.Confidential and Proprietary.Do not duplicate without written permission from Saga Technologies,Inc.,1,软件产品化之后给人们日常生活和工作带来了极大的便利。同样的,也使人们,对,产品的质量重视上升到了更进一步的高度。随着软件危机的不断出现以及人们对,于软件更进一步的认识,测试的地位得到了前所未有的提高,并且人们意识到:,测试开始的时间越早,软件的缺陷将越早被发现,带来整个软件开发中的成本也下,降越多。软件测试是发现软件中缺陷的主要手段和唯一有效的方法。软件质量的重,视度越高,软件测试工作在软件开发过程中就越重要。,软件测试的意义,2,什么是软件测试,软件测试就是在软件投入运行前,对软件需求分析、设计规格,说明和编码的最终复审,是软件质量保证的关键步骤。软件测,试是为了发现错误而执行程序的过程。,3,为什么要使用测试用例,软件测试中永远不可能做到穷举测试,又想使得测试工作的效,率达到最高,那么该如何兼顾工作量和效率的问题,往往成为测,试工作中的瓶颈问题所在。如何测试,用什么方式来测试,在什,么环境和什么样的条件下进行测试,测试的工作量和如何避免重,复的测试,等等各种应该考虑的因素在测试工作中如何协调和同,步,在测试用例中应该充分描述这些问题。,4,为达到最佳的测试效果或高效的揭露系统中隐藏的错误而,精心设计的少量测试数据,称之为测试用例。,一个好的测试用例是在于它能发现至今未发现的错误,。,什么是测试用例,5,在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测,试效率,测试用例的使用令软件测试的实施重点突出、目的明确,在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降,低工作强度,缩短项目周期,使用测试用例的好处,6,黑盒测试用例,白盒测试用例,逻辑覆盖法,基本路径测试法,设计测试用例的方法,7,黑盒测试用例的设计,黑盒测试法是根据被测,程序功能,来进行测试,所以通常,也称为功能测试。用黑盒测试法设计测试用例,有,4,种常用,技术:,等价分类法,边界值分析,错误猜测法,因果图法,8,一、等价分类法,所谓等价分类,就是把输入数据的可能值划分为,若干,等价类,(,等价类是指某个输入域的子集合。在该,集合中,各个输入数据对于揭露程序中的错误都是等,价的,),。因此,可以把全部输入数据合理地划分为若,干等价类,在每一个等价类中取一个数据作为测试的,输入条件,这样就可以用少量的代表性测试数据,来,取得较好的测试结果。,9,是指对于程序的规格说明来说,是,合理的,有意义的输入数据,构成的集合。利用它可以检,验程序是否实现预先规定的功能和性能。在具,体问题中,有效等价类可以是一个,也可以是,多个。,有效等价类,10,是指对于程序的规格说明来说,是,不合理,的,是无意义的输入数据,构成的集合。测试员,主要利用这一类测试用例来检查程序中功能和,性能的实现是否,不符合,规格说明要求。在具体,问题中,无效等价类至少应有一个,也可能有,多个,无效等价类,11,1,、,如果输入条件规定了,取值范围,,,或者是值,的个数,则可以确立,一个有效等价类,和,两个无效,等价类,。,确定等价类的原则,:,例如:,序号值可以从,1,到,999,一个有效等价类,:,1,序号值,999,两个无效等价类,:,序号值,999,12,2,、如果输入条件规定了,输入值的集合,,,或,者是规定了,“,必须如何,”,的条件,这时 可确立,一,个有效等价类,和,一个无效等价类。,例如:在,C,语言中对变量标识符规定为,“,以字母打头的,串,”,。所有以字母打头的构成为有效等价,类;而不在此集合内,(,不以字母打头,),归于无效等,价。,13,3,、如果输入条件是一个,布尔量,,,则可以确,定一个有效等价类和一个无效等价类。,14,4,、如果规定了输入数据是一组值,而且程,序要对每个输入值分别进行处理。这时可为每一,个输入值确立一个有效等价类,此外再针对这组值,确立一个无效等价类,它应是所有不允许输入值,的集合。,例如:在教师分房方案中规定对,教授,、,副教授,、,讲师,和,助教,分别计算分数,做相应的处理。因此可,以确定,4,个有效等价类为教授、副教授、讲师,和助教,以及,1,个无效等价类,它应是所有不,符合以上身份的人员的输入值的集合。,15,5,、如果规定了输入数据必须遵守的规,则,则可以确定,一个,有效等价类,(,符合规则,),,和,若干,个无效等价类,(,从不同角度违反则,),。,例如:在,C,语言中规定了,“,一个语句必须以分号,;,作为结束,”,,这时,可以确定一个有效等价,类,以,“,;,”,结束,和若干个无效等价类应,以,“,:,、,”,等。,16,6,、如果确知,已划分的等价类中各元素,在程序中的处理方式不同,则应将此等价类,进一步划分成更小的等价类。,17,1,、,划分等价类不仅要考虑代表,“,有效,”,输,入值的有效等价类,还需考虑代表,“,无效,”,输入,值的无效等价类。,采用这一技术要注意以下两点,:,2,、,每一无效等价类至少要用一个测试用例,,不然就可能漏掉某一类错误,但允许若干有,效等价类合用同一个测试用例,以便进一步减,少测试的次数。,18,二、确立测试用例,输入条件,有效等价类,无效等价类,等价类划分完以后,可以按下面的形式列出等价类表,19,确立测试,用例原则,为每一个等价类规定一个唯一的编号。,设计一个新的测试用例,使其尽可能,地覆盖尚未被覆盖的,有效等价类,,重,复这一步,直到所有的有效等价类都,被覆盖为止。,设计一个新的测试用例,使其仅覆盖,尚未被覆盖的,无效等价类,,重复这一,步,直到所有的无效等价类都被覆盖,为止。,20,举例,在某一个,PASCAL,语言版本中规定,1,、标识符是由,字母,开头,后跟字母或数字,的任意组合构成。有效字符数为,8,个,最大,字符数为,80,个;,2,、标识符必须先说明,后使用;,3,、在同一个说明语句中,标识符至少必须,有一个。,请利用等价分类法为以下提供的内容设计测试用例,21,输入条件,有效等价类,无效等价类,标识符个数,标识符字符数,标识符组成,第一个字符,标识符使用,1,个,(1),,多个,(2),0,个,(3),1,个,(4),0,个,(5),,,8,个,(6),,,80,个,(7),字母,(8),,数字,(9),非字母数字字符,(10),,,保留字,(11),字母,(12),非字母,(13),先说明后使用,(14),未说明已使用,(15),22,输入条件,有效等价类,无效等价类,标识符个数,1,个,(1),,多个,(2),0,个,(3),标识符字符数,1,个,(4),0,个,(5),,,8,个,(6),,,80,个,(7),标识符组成,字母,(8),,数字,(9),非字母数字字符,(10),,保留字,(11),第一个字符,字母,(12),非字母,(13),标识符使用,先说明后使用,(14),未说明已使用,(15),VAR x,T1234567:REAL;,BEGIN x:=3.414;T1234567:=2.732;,23,输入条件,有效等价类,无效等价类,标识符个数,1,个,(1),,多个,(2),0,个,(3),标识符字符数,1,个,(4),0,个,(5),,,8,个,(6),,,80,个,(7),标识符组成,字母,(8),,数字,(9),非字母数字字符,(10),,保留字,(11),第一个字符,字母,(12),非字母,(13),标识符使用,先说明后使用,(14),未说明已使用,(15),VAR:REAL;,VAR T12345678:REAL;,VAR T$:CHAR;,VAR GOTO:INTEGER;,(11),24,输入条件,有效等价类,无效等价类,标识符个数,1,个,(1),,多个,(2),0,个,(3),标识符字符数,1,个,(4),0,个,(5),,,8,个,(6),,,80,个,(7),标识符组成,字母,(8),,数字,(9),非字母数字字符,(10),,保留字,(11),第一个字符,字母,(12),非字母,(13),标识符使用,先说明后使用,(14),未说明已使用,(15),VAR 2T:REAL;,(13),VAR PAR:REAL;,BEGIN PAR:=SIN(3.14*0.8)/6;,(15),25,二、边界值分析法,采用边界值分析法来选择测试用例,可使,得被测程序能在,边界值及其附近运行,,,从而更,有效地暴露程序中潜藏的错误。这里所说的边,界值是指,相对与输入等价类和输出等价类而,言,稍高于或稍低于其边界值的一些特定情况。,26,针对边界值设计测试用例时,应注意遵循以下几条原则,1.,如果输入条件规定了取值范围,或是规定了值的个数,,则应以该范围的边界内及刚刚超出范围的边界外的值,,或是分别取最大,最小个数及稍小于最小,稍大于最,大个数作为测试用例。例如:某一个问题规格说明规,定:,“,某输入文件可包含,1,至,255,个记录,.,”,则测试用,例可取,1,和,255,,还应取,0,及,256,等。,27,2.,针对规格说明的每个输出条件使用前面的第,1,条原则。,例如:情报检索系统要求每次最多显示,4,条情报摘要,,这时,我们应考虑的测试用例包括,1,和,4,,还应包括,0,和,5,等。,28,3.,如果程序规格说明中提到的输入或输出域是个有序的集,合(如顺序文件,表格等),就应注意选取有序集的第,一个和最后一个元素作为测试用例。,29,1,、等价分类法的测试数据是在各个等价类允许的,值域内,任意选取的,而边界值分析法的测试数据必须在,边界,值附近,选取。,2,、一般来说,用边界值分析法设计的测试用例要比等价分,类法的代表性更广,发现错误的能力也更强。但是对边,界的分析与确定比较复杂,它要求测试人员具有更多的,经验。,等价分类法与边界值分析法的比较,30,三、错误猜测法,所谓猜测,就是猜测被测程序在哪些地方容易,出错,然后针对可能的薄弱环节来设计测试用例。,显然它比前两种方法更多地依靠测试人员的直觉与,经验。所以一般都先用前两种方法设计测试用例然后,再用猜测法去补充一些例子作为辅助的手段。,31,四、因果图法,因果图是借助,图形,来设计测试用例的一种系,统方法。它适用于被测程序具有多种输入条件,,程序的输出又依赖于输入条件的各种组合的情况,因果图是一种简化了的逻辑图,它能直观地,表明程序输入条件(原因)和输出动作(结果),之间的相互关系。,32,使用因果图的好处,考虑了多个输入之间的相互组合、相互制约关系,能够帮助我们按一定步骤,高效率地选择测试用,例,同时还能为我们指出,程序规格说明描述中,存在着什么问题,33,利用因果图导出测试用例需要经过的一般步骤,1.,分析程序规格说明的描述中,哪些是原因,哪些是结果。,2.,分析程序规格说明的描述中语义的内容,并将其表示成连,接各个原因与各个结果的因果图,3.,在因果图上使用若干个特殊的符号标明特定的约束条件,4.,把因果图转换成判定表,5.,把判定表中每一列表示的情况写成测试用例,34,c,1,e,1,c,3,c,2,c,1,c,2,c,1,c,1,e,1,e,1,e,1,(a),恒等,(c),或,(d),与,(b),非,因果图的基本符号,35,a,a,a,a,a,b,b,b,b,b,c,E,R,M,O,I,异,要求,唯一,或,强制,约束符号,36,举例,某软件规格说明中包含这样的要求:,第一列字符必须是,A,或,B,,第二列字符必须是一个,数字,在此情
展开阅读全文