软件制造白盒测试.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 制造 测试
- 资源描述:
-
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 测试工程,测试的基本概念及测试工程概述,各个测试阶段的作业内容及流程,测试方法,软件测试背景,软件是人编的,所以不完美,软件错误原因,交流不够,软件复杂性,程序设计错误,需求变化,时间压力,代码文档贫乏,软件开发工具错误,软件测试背景,软件产品最大的成本是检测软件错误,,,修正软件错误的成本,。,很多软件开发企业花费在测试上的费用是总项目费用的,30%,40%,,,甚至,更多,;,类似飞行控制等软件的测试费用更是占项目其他费用的三至五倍,。,软件测试行业在国内的发展,远比软件开发甚至项目管理缓慢。,软件测试的定义,软件测试是为了发现缺陷而执行程序的过程,测试是为了证明程序中有错误,而不是证明程序中无错误,一个好的测试用例指的是它可能发现至今尚未发现的缺陷,一次成功的测试指的是发现了新的软件缺陷的测试,注:,测试以查找错误为中心,而不是为了演示软件的正确功能。但并不是说查找不出错误的测试就是没有价值的。,软件测试的目的,确认软件的质量,一方面是确认软件做了你所期望的事情,另一方面确认软件以正确的方式来做了这个事件,提供信息,比如提供给开发人员或程序反馈组处,为风险评估所准备的信息,软件测试不仅是在测试软件产品本身,而且还包括软件开发的过程,即保证整个软件开发过程是高质量的。,软件测试的目的,基于不同的立场,存在着两种完全不同的测试目的。,从,用户的角度,出发,普遍希望通过软件测试,暴露软件中隐藏的错误和缺陷,,以考虑是否可接受该产品。,从,软件开发者的角度,出发,则希望测试成为,表明软件产品中不存在错误,的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。,测试观点,软件测试不等于程序测试,软件测试应贯穿于软件定义与开发的整个期间;,据美国一家公司统计,查出的软件错误中,属于,需求分析和软件设计的错误,约占,64%,,属于程序编写的错误仅占,36%,。程序编写的许多错误是,“,先天的,”,。,软件测试的原则,1.,应当把“,尽早地和不断地进行软件测试,”作为软件开发者的座右铭。,2.,测试用例应由,测试输入数据,和对应的,预期输出结果,这两部分组成。,3.,程序员应避免检查自己的程序。,4.,在设计测试用例时,应包括,合理的输入条件,和,不合理的输入条件,。,5.,充分注意测试中的群集现象。经验表明,,测试后,程序中残存的错误数目与该程序中已发现的错误数目成正比,。,6,.,严格执行测试计划,,排除测试的随意性,。,7,.,应当对每一个测试结果做全面检查,。,8,.,妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。,软件测试的原则,4.1,测试工程概要,通过测试工程对软件的测试,验证软件的有效性,发现并修补软件系统的缺陷,以提高软件质量,确保开发出用户满意的软件。,4.1,测试工程概要,测试是一个反复的过程,面向功能的系统和面向对象的系统的测试方法是不一样的,4.1,测试工程概要,测试工程在软件生命周期过程中处于下流工程的位置,测试工程的主要测试阶段:单元测试、组合测试、系统测试、运行测试。,开发工程与测试阶段,需求分析,概要设计,(,外部设计,),详细设计,(,内部设计,),程序设计,运行测试,系统测试,组合测试,单元测试,对,应,工,程,时间流,程序编制,开发工程与测试阶段,需求分析,概要设计,(,外部设计,),详细设计,(,内部设计,),程序设计,运行测试,系统测试,组合测试,单元测试,对,应,工,程,时间流,程序编制,对程序的每个模块进行测试,检验每个模块是否完成各自的功能,开发工程与测试阶段,需求分析,概要设计,(,外部设计,),详细设计,(,内部设计,),程序设计,运行测试,系统测试,组合测试,单元测试,对,应,工,程,时间流,程序编制,把测试过的程序模块组装起来进行功能测试,检验设计阶段对系统的各个功能模块及接口的设计是否正确,开发工程与测试阶段,需求分析,概要设计,(,外部设计,),详细设计,(,内部设计,),程序设计,运行测试,系统测试,组合测试,单元测试,对,应,工,程,时间流,程序编制,根据软件的需求定义和设计检验软件的功能和性能是否满足要求,开发工程与测试阶段,需求分析,概要设计,(,外部设计,),详细设计,(,内部设计,),程序设计,运行测试,系统测试,组合测试,单元测试,对,应,工,程,时间流,程序编制,把经过系统测试的软件系统纳入用户的实际运行环境中,将软件、硬件和实际使用的数据等其他因素综合起来进行全系统的运行检验,4.2,各个测试阶段的作业内容及流程,单元测试,前提:已通过编译程序检查并且改正所有语法错误。,依据:程序设计书,目的:检测确认程序模块的处理逻辑是否正确,要求的功能是否实现。,单元测试作业内容及流程,测试实施,测试准备,1.,准备测试工具,2.,配置测试环境,3.,准备测试数据,1.,按,PCL,测试程序,2.,填写测试记录(,B,票),1.,按程序设计书检查测试结果,2.,填写检查记录(,B,票),测试资料准备,测试环境准备,1.,确认测试方法,2.,确定采用的问题记录表(,B,票)格式,3.,作成单元测试检测清单(,PCL,:,Program Check List,),测试程序,确认测试结果,修正程序、设计书,再测试,按检查结果修正程序、设计书,填写修正记录(,B,票、设计书变更记录表),单元测试报告,1.,根据,PCL,、,B,票、测试结果等确认测试质量,2.,判断是否进入组合测试,确认测试结果,4.2,各个测试阶段的作业内容及流程,从哪几个方面进行单元测试?,(,1,)程序的逻辑处理测试,(,2,)程序的输入,/,输出测试,(,3,)边界条件测试,(,4,)异常处理测试,4.2,各个测试阶段的作业内容及流程,组合测试,目的:将各个程序模块组装起来进行程序之间的连接测试,确认系统的各个功能模块及模块之间的接口是否正确,是否实现详细设计书的功能要求,详细设计是否符合业务处理的要求。,注:组合测试不仅找出程序缺陷,同时还要找出设计缺陷。,组合测试作业内容及流程,测试实施,测试准备,1.,准备测试工具,2.,配置测试环境,3.,准备测试数据,1.,按测试流程和,CCL,测试程序,2.,填写测试记录(,B,票),1.,按详细设计书检查测试结果,2.,填写检查记录(,B,票),测试资料准备,测试环境准备,1.,制定测试方针及流程,2.,确定采用的问题记录表(,B,票)、设计变更记录表格式,3.,作成组合测试检测清单(,CCL:Combining Check List,),测试程序,确认测试结果,修正程序、设计书,再测试,1.,按检查结果修正程序、设计书,2.,填写修正记录(,B,票、设计书变更记录表),3,、修正设计书,1.,按测试方针和,CCL,再测试程序,2.,填写测试记录(,B,票),组合测试报告,1.,根据,CCL,、,B,票、测试结果等确认测试质量,2.,判断是否进入系统测试,确认测试结果,4.2,各个测试阶段的作业内容及流程,组合测试验证哪几方面的内容?,(,1,)数据的输入、窗体之间的迁移、表格的打印输出是否正确。,(,2,)文件、数据库的处理是否合理、正确。,(,3,)功能模块之间的信息、数据的传递、通信接口的处理等是否正确。,(,4,)功能模块之间接口发生的异常处理是否正确,如与外部设备的接口、嵌入软件等的接口发生异常时的处理。,4.2,各个测试阶段的作业内容及流程,系统测试,目的:验证软件系统的功能和性能及其他特性是否与用户期待的要求一致。(即验证软件的可靠性和有效性。),依据:需求定义和概要设计书,系统测试作业内容及流程,测试实施,测试准备,1.,准备测试工具,2.,检查用户配置的测试环境,3.,获取用户的实际数据,1.,按测试流程和,SCL,测试系统,2.,填写测试记录(,B,票),1.,按概要设计书、需求定义检查测试结果,2.,填写检查记录(,B,票),测试资料准备,测试环境准备,1.,制定测试方针和测试流程,2.,确定采用的问题记录表(,B,票)、设计变更记录表格式,3.,作成系统测试检测清单(,SCL,:,System Check List,),测试系统,确认测试结果,修正程序、设计书,再测试,1.,按检查结果修正程序、,设计书,2.,填写修正记录(,B,票、设计书变更记录),1.,按测试流程和,SCL,再测试系统,2.,填写测试记录(,B,票),系统测试报告,1.,根据,SCL,、,B,票、测试结果等确认软件系统质量,2.,判断是否能进入运行测试,确认测试结果,4.2,各个测试阶段的作业内容及流程,运行测试,(又称应用测试或验收测试),目的:由用户确定软件系统是否满足需求定义的要求。,运行测试的主要作业内容及流程,测试实施,测试准备,1.,按用户的实机运行环境准备培训环境和培训用数据,2.,确认培训人员,1.,按测试流程测试系统,2.,填写验收记录,1.,按概要设计书、需求定义检查测试结果,2.,填写验收记录,培训资料准备,培训环境准备,1.,制定测试方针和测试流程,2.,确定采用的验收记录表格式,3.,编制系统运行手册、系统操作手册等培训资料,测试系统,确认测试结果,评审改进方案,改进系统,1.,按用户提出改进意见制定改进方案,2.,组织相关人员对改进方案进行评审,1.,按经过评审的改进方案改进系统,2.,检查改进后系统运行结果,系统改进测试报告,1.,根据改进后的系统运行检查结果确认软件系统质量,2.,判断是否能正式运行,测试环境准备,1.,检查用户的实机运行环境,2.,准备用户的实际应用数据,确认测试结果,4.3,测试方法,软件测试的,策略和方法,静态测,试方法,动态测,试方法,人工测试方法,计算机辅助静,态分析方法,白盒测试方法,黑盒测试方法,4.3,测试方法,从测试的手段分类,常用的测试方法有白盒测试和黑盒测试;,从测试的推进方法分类,又有自顶向下测试和自底向上测试。,4.3,测试方法,注:,选用少量最有效的测试数据,达到尽可能完备的测试效果是设计测试数据的关键。,4.3.1,白盒测试,前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为,结构测试,。,白盒测试的,核心,:,根据程序内部结构设计测试用例。,白盒测试又分为,逻辑覆盖测试和路径测试,。,逻辑覆盖测试法:通常用流程图来设计测试用例,它考察的重点是图中的判定框。因为这些判定若不是与选择结构有关,就是与循环结构有关。,逻辑覆盖测试包括:,语句覆盖、分支(判定)覆盖、条件覆盖、判定,/,条件覆盖、条件组合覆盖,。,路径测试法:主要测试程序的执行路径。,路径测试包括:,点覆盖、边覆盖、路径覆盖。,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,主要目的:,提高测试覆盖率,是覆盖性较高的测试方法,能保证在测试过程中所有的语句都至少执行过一遍。,4.3.1,白盒测试,设计测试用例,1),语句覆盖(又称命令覆盖),使程序中每个语句至少执行一次,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,只需设计一个测试用例,:,输入数据:,A=2,,,B=0,,,X=4,即达到了语句覆盖,;,语句覆盖是,最弱,的逻辑覆盖,4.3.1,白盒测试,设计测试用例,A=2,,,B=0,,,X=4,4.3.1,白盒测试,设计测试用例,(2),判定覆盖,(,分支覆盖,),使每个判定的真假分支都至少执行一次,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,例,:,可设计两组测试用例,:,A=3,,,B=0,,,X=3,可覆盖,sacbd,A=2,,,B=1,,,X=1,可覆盖,sabed,两组测试用例可覆盖所有判定的真假分支,判定覆盖仍是,弱,的逻辑覆盖,4.3.1,白盒测试,设计测试用例,A=3,,,B=0,,,X=3,可覆盖,sacbd,A=2,,,B=1,,,X=1,可覆盖,sabed,4.3.1,白盒测试,设计测试用例,(3),条件覆盖,使判定表达式的每个条件都取到各种可能的结果,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,例中有两个判定表达式,每个表达式有两个条件,为了做到条件覆盖,应该选取测试数据使得,在,a,点有下述结果出现:,A1,,,A1,,,X1,B=0,A1,B!=0,A=1,B=0,A1,A=2,X1,A!=2,X=1,4.3.1,白盒测试,设计测试用例,下面的四组测试数据可使上面列出的八种条件组合每种至少出现一次:,I.A=2,,,B=0,,,X=4,针对,1,,,5,两种组合,覆盖,sacbed,II.A=2,,,B=1,,,X=1,针对,2,,,6,两种组合,覆盖,sabed,III.A=1,,,B=0,,,X=2,针对,3,,,7,两种组合,覆盖,sabed,IV.A=1,,,B=1,,,X=1,针对,4,,,8,两种组合,覆盖,sabd,4.3.1,白盒测试,设计测试用例,I.A=2,,,B=0,,,X=4,针对,1,,,5,两种组合,覆盖,sacbed,4.3.1,白盒测试,设计测试用例,II.A=2,,,B=1,,,X=1,针对,2,,,6,两种组合,覆盖,sabed,4.3.1,白盒测试,设计测试用例,III.A=1,,,B=0,,,X=2,针对,3,,,7,两种组合,覆盖,sabed,4.3.1,白盒测试,设计测试用例,IV.A=1,,,B=1,,,X=1,针对,4,,,8,两种组合,覆盖,sabd,路径测试,路径测试,着眼于程序执行路径,的测试。首先需要将流程图,程序图。程序图实际上是一种简化了的流程图。在路径测试中,程序图是用来考察测试路径的有用工具。,4.3.1,白盒测试,设计测试用例,路径测试,流程图,中各种不同形状的框,在程序图中都被简化为用圆圈表示的一个个结点,。由于程序图中保留了控制流的全部轨迹,舍弃了各框的细节,因而画面简洁,路径清晰,用它来验证各种测试数据对程序执行路径的覆盖情况,比流程图更加方便。,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,从对程序路径的覆盖程度分析,提出下述一些主要的逻辑覆盖标准:,(,6,)点覆盖,程序流程图,程序图,程序流程图,程序图,圆圈,称为控制流图的一个,结点,,表示,一个或多个无分支的语句或源程序语句,流图,只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句,流图中的,箭头,称为边或连接,代表,控制流,程序流程图,程序图,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,在正常情况下,程序图是连通的有向图,,图中每个节点相当于程序流程图的一个框(一个或多个语句)。满足点覆盖标准要求选取足够多的测试数据,使得程序执行路径至少经过程序图中每个节点一次。显然,点覆盖标准和语句覆盖标准是相同的。,4.3.1,白盒测试,设计测试用例,(,7,)边覆盖,要求选取足够多的测试数据,使得程序执行路径至少经过程序图中每条边一次。,通常边覆盖和判定覆盖是一致的。,4.3.1,白盒测试,设计测试用例,(,8,)路径覆盖,选取足够多测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。,在例子中,共有四条可能的执行路径,,1-2-3,;,1-2-6-7,;,1-4-5-3,;,1-4-5-6-7,。因此,为了做到路径覆盖必须设计四组测试数据。,4.3.1,白盒测试,设计测试用例,1-2-3,;,1-2-6-7,;,1-4-5-3,;,1-4-5-6-7,。,4.3.1,白盒测试,设计测试用例,4.3.1,白盒测试,设计测试用例,下面的四组测试数据可以满足路径覆盖的要求:,I.A=1,,,B=1,,,X=1,(执行路径,1-2-3),II.A=1,,,B=1,,,X=2,(执行路径,1-2-6-7),III.A=3,,,B=0,,,X=1,(执行路径,1-4-5-3),IV.A=2,,,B=0,,,X=4,(执行路径,1-4-5-6-7),展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


软件制造白盒测试.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14032079.html