资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,软件保障概论,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,复习与回顾,为配置管理设计的,软件,的,集合,,它在配置管理过程中作为,单个实体,对待。,配置项,(Configuration Item),软件配置项,计算机程序,文档,数据与环境,复习与回顾,基线,(Baseline),已经过,正式审核与同意,,可用作下一步开发的基础,并且只有通过,正式的修改管理过程,方能加以修改的规格说明或产品。,复习与回顾,软件配置管理,(Configuration Management),主要内容:,标识,和,确定,系统中,配置项,的过程。,版本控制,变更控制,配置控制,状态报告,配置审核,复习与回顾,SCM,CI,基线,管理,正式标识,里程碑,软件配置管理、配置项、基线之间关系:,复习与回顾,开发库,受控库,产品库,软件“三库”,软件“三库”管理中的“三库”指什么,?,配置库,引入,计划阶段,开发阶段,运行维,护阶段,可行性研究与计划,需求分析,概要设计,详细设计,编码实现,测 试,运行与维护,质量工作抓两头,2026/1/29 周四,惯性制导系统,(SRI),软件设计错误。,没有对,SRI,或完整的飞行控制系统进行充分地分析和测试,而事实上,测试,能查出该潜在故障。,事故原因:,测试不充分导致,阿丽亚娜5,坠毁,第三讲 软件测试技术,教学目的,(,1,)理解软件测试目的;,(,2,)了解软件测试分类;,(,3,)掌握黑盒测试等价类划分法;,(,4,)了解白盒测试方法。,重点,(,1,)理解软件测试目的;,难点,(,1,)掌握黑盒测试等价类划分法;,一、软件测试概述,1.,概念与目的,目的:,概念,:,由,人工,或,自动,方法来,执行,或,评价,系统或系统部件的过程,以,验证,它是否满足规定的,需求,;或,识别,出期望的结果和实际结果之间有无,差别,。,(,GB-T 11457-89,计算机软件工程术语),验证软件是否满足规定的需求;,证明软件存在缺陷(,识别,差别)。,适于对象:,软件单元、部件、配置项的,源代码,。,进入时机:,代码无错误地通过编译或汇编。,测试内容:,(,a,)代码和设计规格说明一致性;,(,b,)代码标准性,可读性;,(,c,)代码逻辑表达的正确性;,(,d,)代码结构的合理性。,2.,测试分类,是,不执行,程序,而寻找文档、源代码中可能存在的错误的过程。,(1),静态测试,静态测试约可找出3070%的逻辑设计错误。,2.,测试分类,在,抽样,测试数据基础上,执行程序,,并,分析,输出以发现错误的过程。包括三部分核心内容:,生成测试数据,,,执行程序,与,验证程序的输出结果,。,(2),动态测试,测试用例包含,测试数据,和与之对应的,预期输出结果,。,测试用例,(test-case),:,测试数据,(test data),:,是输入到被测试的软件中、以驱动被测软件运行的,输入数据,。,假设一个比较大小的程序,P,:输入量,X,、,Y,,输出量,Z,皆为整数;在字长为,32,位的计算机上运行。,穷举测试所需测试用例数为:,2,32,2,32,2,64,如果测试一个用例需要,1,毫秒,完成所有测试需,5,亿年,!,抽样的必要性,2.,测试分类,被测软件,黑盒测试,白盒测试,(2),动态测试,动态测试如何开展呢?,2.,测试分类,(2),动态测试,黑盒测试,白盒测试,两种测试方法从不同的角度出,发,反映了软件的不同侧面,也,适用于不同的开发环境。,2.,测试分类,软件测试,静态测试,动态测试,黑盒测试,白盒测试,二、黑盒测试,1,、黑盒测试概念,黑盒测试:,忽略,系统或部件的,内部机制,只集中于,响应,所选择的,输入,和执行,条件,产生的,输出,的一种测试。又称功能测试。,输入,输出,执行条件,1,、黑盒测试概念,依据,软件需求规格说明书,设计测试用例;,特征:,针对软件,功能,进行测试;,需要设计,测试用例,(测试数据预期输出结果);,一般用于测试后期。,输入,输出,执行条件,例:某学分统计程序的软件需求规格说明书中描述了下列功能,:,(,1,),对学分从高到低排序功能,;,(,2,)计算平均成绩;(,3,)打印输出功能。,第一个测试用例,测试数据,:,预期输出结果,:,第二个测试用例:,测试数据,:(0,,,60);,预期输出结果(,,60,,,0,),(,100,,,89,,,43,),(89,,,43,,,100),2,、黑盒测试过程,2,、黑盒测试过程,测试数据,:(89,43,100),实际结果,:(100,43,89),设计测试用例,执行被测软件,比较分析结果,“成绩排序”功能,测试用例,预期结果,:,(,100,89,43,),错误,2,、黑盒测试过程,实际结果,设计测试用例,执行被测软件,预期结果,比较分析结果,正确,/,错误,软件需求规格说明,测试数据,设计测试用例,测试用例,i,f,(,X,Y,),max=,X,;,else max=,X,;,Z=max;,测试用例,实际结果,测试数据,预期输出结果,(x=3,y=2),(x=4,y=3)(x=,6,y=1),3,4,6,3,4,6,测试用例是关键,3,、黑盒测试等价类划分法,(,1,)基本原理,将程序所有可能的输入数据(即输入空间)划分成若干类(子集);然后从每一个类中选取少数具有代表性的数据作为测试数据,.,A,B,C,D,等价类,含义:,某些具有,共同特征,的数据构成的子集,,各个数据对于,揭露程序中的错误都是等效,的。,注意:,设计测试用例时,要,同时,考虑这两种等价类。,等价类,有效等价类;,无效等价类,;,3,、黑盒测试等价类划分法,对于程序的规格说明,是合理的、有意义的输入数据构成的集合。,对于程序的规格说明,是不合理的、没有意义的输入数据构成的集合。,A,1,A,2,A,n,=A,A,i,A,j,=(i!=j),将输入空间划分为互不相交的一组子集,且子集的并是整个输入空间。,A,1,A,2,A,3,A,n,(,完备性,),(无冗余性),(,2,)等价类划分要求,A,1,A,2,A,n,是输入空间,A,的一个划分,3、黑盒测试等价类划分法,在规定了输入值取值范围的情况下,一般可以确立一个有效等价类和两个无效等价类。,0 100,有效,等价类,0,成绩,100,无效等价类,成绩,100,无效等价类,成绩,0,例:某成绩统计软件正常输入值是,0,100,内的数字,如何划分等价类?,3、黑盒测试等价类划分法,白盒测试中的逻辑覆盖要求,例1:某档案管理系统,要求用户输入以年月表示的日期。,如果A=60或A=90呢?,在规定了输入值取值范围的情况下,一般可以确立一个有效等价类和两个无效等价类。,测试数据(test data):,测试数据:,或识别出期望的结果和实际结果之间有无差别。,一种按照程序内部结构设计测试用例的测试技术。,任务:利用等价类划分法设计测试用例,来测试该系统的“日期检查功能”。,例:某学分统计程序的软件需求规格说明书中描述了下列功能:,软件配置管理、配置项、基线之间关系:,需要设计测试用例(测试数据预期输出结果);,实际结果:(100,43,89),“三角形面积计算程序”测试用例设计分析表,该系统需求规格说明中规定日期由6位数字字符组成,前4位表示年,后2位表示月;且日期限定在1900年1月-2000年12月。,软件“三库”管理中的“三库”指什么?,在规定了输入值的集合或“必须如何”的情况下,可确立一个有效等价类和一个无效等价类。,例:某程序正常输入值为集合,:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,,如何划分等价类?,3、黑盒测试等价类划分法,有效等价类:,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,;,无效等价类:,monddd,周二,3,在知道已划分的等价类中各元素在程序中处理的方式不同时,应将该等价类进一步划分为更小的等价类。,例:某成绩统计软件,正常输入值是,0,100,内的数字;且分为不及格,(100,0 100,有效,等价类,0,成绩,100,无效等价类,成绩,0,3、黑盒测试等价类划分法,(,3,),设计测试用例步骤,分析输入(输出)条件,划分等价类并编号,;,设计一个新的测试用例,使其,尽可能多地覆盖,尚未覆盖的,有效等价类,。重复这一步,最后使得所有有效等价类均被测试用例所覆盖,;,设计一个新的测试用例,使其,只覆盖一个无效等价类,。重复这一步使所有无效等价类均被覆盖。,该系统需求规格说明中规定日期由,6,位数字字符,组成,前,4,位表示年,后,2,位表示月,;,且日期限定在,1900,年,1,月,-2000,年,12,月,。,任务:,利用等价类划分法设计测试用例,来测试该系统的“日期检查功能”。,?,例,1,:某档案管理系统,要求用户输入以年月表示的日期。,3、黑盒测试等价类划分法,证明软件存在缺陷(识别差别)。,假设一个比较大小的程序P:输入量X、Y,输出量Z,皆为整数;,else max=X;,(1)理解软件测试目的;,(c)代码逻辑表达的正确性;,procedure Test(A:Real);,(x=3,y=2),任务:利用等价类划分法设计测试用例,来测试该系统的“日期检查功能”。,设计测试用例,覆盖尽可能多的有效等价类,需要设计测试用例(测试数据预期输出结果);,任务:利用等价类划分法设计测试用例,来测试该系统的“日期检查功能”。,实际结果:(100,43,89),procedure Test(A:Real);,3、黑盒测试等价类划分法,且分为不及格(60,then X=“,及格”,If A90,then X=“,优秀”,end;,2,、逻辑覆盖测试,2,、逻辑覆盖测试,procedure Test(A:Real),;,Begin,X=“,不及格”,If A60,then X=“,及格”,If A90,then X=“,优秀”,end;,函数设计说明:,0-59,分:不及格,60-89,分:及格,90-100,分:优秀,测试数据:,A=95,预期结果:,X=,优秀,实际结果:,X=,优秀,覆盖:所有语句,缺陷,设计若干测试用例,运行被测程序,使得程序中,每个判断,的,取真,分支和,取假,分支至少经历一次,即,判断的真假值均曾被满足,。,(,2,)分支覆盖,判断,T,F,2,、逻辑覆盖测试,测试数据,预期结果,实际结果,覆盖,1,A,95,X=,优秀,X=,优秀,1:T,2:T,2,A,60,X=,及格,X=,不及格,1:F,2:F,缺陷,2,、逻辑覆盖测试,procedure Test(A:Real),;,Begin,X=“,不及格”,If A60,then X=“,及格”,If A90,then X=“,优秀”,end;,如果,A=60,或,A=90,呢?,路径覆盖,类别,级别,工程上要求的覆盖率,语句覆盖,最低,100%,分支覆盖,较高,85%,(,95%-100%,),两类覆盖要求的简单对比:,黑盒测试,VS,白盒测试,Specified,Programmed,Test,Cases,黑盒测试,VS,白盒测试,Specified,Programmed,Test,Cases,小结,软件测试目的:,验证软件是否满足规定的需求;,证明软件存在缺陷(,识别,差别)。,软件测试,静态测试,动态测试,黑盒测试,白盒测试,软件测试分类:,过程,小结,黑盒测试,设计,测试用例,执行,被测程序,比较与分析,等价类,划分法,软件需求,规格说明,定义,设计,测试用例,软件,内部结构,小结,语句覆盖,分支覆盖,白盒测试,增强,定义,白盒测试中的逻辑覆盖要求,思考题,软件黑盒测试中等价类划分法设计测试用例的基本要求和一般过程是什么?,软件白盒测试中逻辑覆盖率测试中语句覆盖和分支覆盖的差别是什么?,周四,课安排,“软件测试”上机实验,。,要求:,1,、各组上课带电脑(至少每组保证有,2,台电脑);,2,、提前分析“三角形面积处理程序”的可能输入条件,考虑测试用例如何设计。,“三角形面积计算”,输入,3,条边,分析输入(输出)条件,,划分等价类并编号,测试用例设计:,“三角形面积计算程序”测试用例设计分析表,设计测试用例,覆盖尽可能多的有效等价类,依次为每一个无效等价类设计一个测试用例,谢谢观看,
展开阅读全文