资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2024/11/19,软件测试方法,2023/10/10软件测试方法,黑盒测试和白盒测试,2024/11/19,2,功能测试,数据驱动测试,结构测试,逻辑驱动测试,客户需求,事件驱动,输入,输出,黑盒测试和白盒测试2023/10/102功能测试结构测试客户,2024/11/19,3,黑盒测试,是从用户观点出发的测试,它又称功能测试、数据驱动测试或基于规格说明书或用户手册的测试。它所依据的是程序的外部特性。,规格,说明,产生,被测程序,测试结果,输出,比较,测试用例,黑盒测试,2023/10/103黑盒测试是从用户观点出发的测试,它又称,黑盒测试的设计方法,等,价,分,类,法,边,值,分,析,法,错,误,推,测,法,因,果,图,法,不考虑程序的内部结构与特性,只根据程序功能或程序的外部特性设计测试用例。,2024/11/19,4,黑盒测试的设计方法等边错因 不考虑程序的内部结构与特性,,1.,等价类划分,2024/11/19,5,基本思想:,把所有可能的输入数据,即程序的输入域划分成若干部分“,等价类,”,然后从每一部分中选取少数有“,代表性,”的数据做为测试用例。,分为两步:,划分等价类(列出等价类表),选取测试用例,1.等价类划分2023/10/105基本思想:,2024/11/19,6,等价类的分类:,有效等价类,:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。,无效等价类,:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。,1.,等价类划分,2023/10/106等价类的分类:1.等价类划分,2024/11/19,7,数学含义,A=X=B,C=Y=D,等价类划分的原则,2023/10/107数学含义等价类划分的原则,例如:,每个学生可选修1-3门课程,可以划分一个有效等价类:选修1-3门课程。,可以划分两个无效等价类:未选修课,选修课超过3门。,8,例如:每个学生可选修1-3门课程8,确立等价类测试用例,2024/11/19,9,确立了等价类之后,建立等价类表,列出所有划分出的等价类。,确立等价类测试用例2023/10/109确立了等价类之后,建,确立等价类测试用例,2024/11/19,10,再从划分出的等价类中按以下原则选择测试用例:,为每一个等价类规定一个唯一编号;,设计一个新的测试用例,使其,尽可能多地,覆盖尚未被覆盖的,有效,等价类,重复这一步,直到所有的有效等价类都被覆盖为止;,设计一个新的测试用例,使其,仅覆盖一个,尚未被覆盖的,无效,等价类,重复这一步,直到所有的无效等价类都被覆盖为止。,确立等价类测试用例2023/10/1010再从划分出的等价类,2024/11/19,11,在某一,PASCAL,语言版本中规定:,“标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为,8,个,最大字符数为,80,个。”,并且规定:,“标识符必须先说明,再使用。”“在同一说明语句中,标识符至少必须有一个。”,举例,2023/10/1011在某一PASCAL语言版本中规定:,2024/11/19,12,建立输入等价类表,举例,2023/10/1012建立输入等价类表举例,2024/11/19,13,下面选取了,9,个测试用例,它们覆盖了所有的等价类。,VAR x,,,T1234567,:,REAL,;,BEGIN x:=3.414,;,T1234567:=2.732,;,.,(1),(2),(4),(8),(9),(12),(14),VAR,:,REAL,;,(3),VAR x,,:,REAL;,(5),举例,2023/10/1013下面选取了9个测试用例,它们覆盖了所,2024/11/19,14,VAR T12345678 REAL,;,(6),VAR T12345.REAL,;,(7),多于,80,个字符,VAR T$,:,CHAR,;,(10),VAR GOTO,:,INTEGER,;,(11),VAR 2T,:,REAL,;,(13),VAR PAR,:,REAL,;,(15),BEGIN .,PAP:=SIN(3.14*0.8)/6,;,举例,2023/10/1014 VAR T12345678,2.,边界值分析,2024/11/19,15,基本思想:,选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑,输入,亦考虑,输出,。,分析步骤:,A,、先划分等价类。,B,、选择测试用例,测试等价类边界。,使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取,正好等于,,,刚刚大于,,或,刚刚小于,边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,2.边界值分析2023/10/1015基本思想:选择等价类的,2.,边界值分析,2024/11/19,16,数学含义,A=X=B,C=Y 1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,满足语句覆盖的情况:,执行路径:ace,选择用例:,(2,0,4),(2,0,3),ace,用例格式:,输入(A,B,X),输出(A,B,X),Y,N,Y,N,31,1、语句覆盖使得程序中每个语句至少都能被执行一次。A1X:,2,、判定覆盖,使得程序中每个判定至少为,TRUE,或,FALSE,各一次。,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,覆盖情况:,应执行路径,ace,abd,或:,acd,abe,选择用例(其一):,(2,0,4),(2,0,3)ace,(1,1,1),(1,1,1)abd,(2,1,1),(2,1,2)abe,(3,0,3),(3,1,1)acd,Y,Y,N,N,32,2、判定覆盖使得程序中每个判定至少为TRUE 或FALSE各,3,、条件覆盖,使得判定中的每个条件获得各种可能的结果。,应满足以下覆盖情况:,判定一:A1,A,1,B=0,B,0,判定二:A=2,A,2,X1,X1,选择用例:,(2,0,4),(2,0,3),ace,(1,1,1),(1,1,1),abd,注意:,(1,0,3),(1,0,4),abd,(2,1,1),(2,1,2),abe,满足条件覆盖,但不满足判定覆盖。,A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,Y,N,N,33,3、条件覆盖使得判定中的每个条件获得各种可能的结果。应满足以,4,、判定,/,条件覆盖,同时满足判断覆盖和条件覆盖。,应满足以下覆盖情况:,条件:A1,A,1,B=0,B,0,A=2,A,2,X1,X1,应执行路径,ace,abd,或:,acd,abe,选择用例:,(2,0,4),(2,0,3)(ace),(1,1,1),(1,1,1)(abd),A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,Y,N,N,34,4、判定/条件覆盖同时满足判断覆盖和条件覆盖。应满足以下覆,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,B,0,A,1,B=0 ,A,1,B0,A=2,X1,A=2,X1,A,2,X1,A,2,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),35,5、条件组合覆盖使得每个判定中条件的各种可能组合都至少出现一,6.,路径测试,36,路径测试就是设计足够的测试用例,,覆盖程序中所有可能的路径,。,测 试 用 例,通过路径,覆盖条件,【(2,0,4),(2,0,3)】,ace(L1),【(1,1,1),(1,1,1)】,abd,(L2),【(1,1,2),(1,1,3)】,abe,(L3),【(3,0,3),(3,0,1)】,acd,(L3),A1,AND,B=0,X:=X/A,A=2,OR,X1,X:=X+1,a,b,c,d,e,Y,N,Y,N,6.路径测试36路径测试就是设计足够的测试用例,覆盖程序中所,
展开阅读全文