软件工程实践 课件 单元5 软件测试概述_第1页
已阅读1页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

软件测试概述软件工程

造成各类损失的新闻层出不穷,有些甚至带来灾难性的后果,软件质量问题已经成为所有使用软件的人和开发软件功能的人共同关注的焦点问题。“”软件缺陷或者软件故障软件测试,贯穿软件开发的整个过程,得到了越来越多的重视。IT行业中不可缺少得一环软件测试软件测试日益被重视的行业软件开发软件测试软件质量保证测试工程师软件测试发展历程软件调试独立的软件测试定义软件测试成为专门学科开发与测试的融合软件开发与软件测试关系软件测试与开发各阶段关系人们常常不把软件当回事,没有真正意识到它已经深入渗透到我们的日常生活中,软件在电子信息领域里无处不在。现在有许多人如果每天不上网查看电子邮件,简直就没法过下去。我们已经离不开24小时包裹投递服务、长途电话服务和最先进的医疗服务了。软件缺陷软件缺陷问题在哪里BECDA测试不够结构复杂设计错误技术本身编码错误软件缺陷产生原因软件本身团队工作缺陷产生原因项目管理问题技术问题需求不清晰结构太复杂数据备份通信问题新技术需求理解不一致开发水平不一致算法错误语法错误时间管理文档管理质量管理缺陷产生原因软件缺陷严重性致命的致命的错误,造成系统或应用程序崩溃、死机、数据丢失,主功能完全丧失等。严重的严重错误,功能或特性没有实现、主要功能丧失、会导致严重的问题等。一般的不太严重的错误,不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果微小的一些小问题,对功能几乎没有影响.古人云:“说不出则做不到”为什么软件需求说明书引起缺陷最多?软件缺陷的构成测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例=输入输出测试环境++什么是测试用例输入:实际上输入有两类,即前置条件和用某些测试方法所构建的实际输入。期望输出:即软件或程序的实际输出和后置条件。经济性有效性可仿效性独立性可跟踪性可修改性测试用例评价标准按是否需要执行被测软件的角度静态测试动态测试按测试方法划分白盒测试黑盒测试灰盒测试软件测试的分类按阶段划分单元测试集成测试系统测试验收测试回归测试Alpha测试Beta测试软件测试的分类谢谢大家!theend黑盒测试软件工程什么是黑盒测试黑盒测试方法黑盒测试概述黑盒测试等价类边界值决策表因果图正交试验法黑盒测试方法

等价类方法等价类是输入域的某个子集合,而所有的等价类的并集是整个输入域。在子集合中,各个输入数据对于揭露程序中的错误是等效的。等价类的特点完备性无冗余等价性等价类定义有效等价类

——是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。无效等价类

——是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。检验正常功能检验异常功能划分等价类从对等价类的覆盖程度从是否对无效数据进行检测弱组合形式强组合形式一般等价类测试健壮等价类测试弱一般强一般弱健壮强健壮在有多个输入的情形等价类划分原则

边界值方法单边界值取值分析:在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值表示方法min、min+、nom、max-、和max边界值分析边界值组合分析:

一个有两个变量x1和x2的程序F,其中x1∈[a,b]和x2∈[c,d]。程序F的输入空间(定义域)如图所示。带阴影矩形中的任何点都是程序F的有效输入。基于“单故障”的假设使所有变量取正常值,只使一个变量分别取最小值、略高于最小值、略低于最大值和最大值。边界值分析测试方法决策表的构成决策表的化简决策表方法

条件桩:列出了问题的所有条件。条件项:针对条件桩给出的条件列出所有可能的取值。28动作桩:给出了问题规定的可能采取的操作。动作项:和条件项紧密相关,指出在条件项的各组取值情况下应采取的动作。决策表的构成规则任何一个条件组合的特定取值及其相应要执行的操作称为规则;在决策表中贯穿条件项和动作项的一列就是一条规则;决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。决策表的构成(续)规则合并就是决策表的简化。有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,就可以将规则合并。条件项“—”表示与取值无关决策表的化简

因果图方法32原因与结果之间的关系恒等、非、或、与原因与原因之间的约束关系异、或、唯一、要求结果与结果之间的关系M约束因果图33

恒等c1

e1

e1=1

c1=1

e1=0

c1=0

非c1

e1

e1=0

c1=1

e1=1

c1=0

若c1是1,则e1也为1,否则e1为0。若c1是1,则e1为0,否则e1为1。4种基本符号(一)34

或c1e1c2c3e1=1c1=1或c2=1或c3=1否则e1=0与e1c2e1=1c1=1且c2=1否则e1=0c14种基本符号(二)E约束(异):原因a和原因b不会同时成立,两个中最多有一个可能成立。I约束(或):a、b、c这三个原因中至少有一个必须成立。O约束(惟一):原因a和b中必须有一个,且仅有一个成立。4种约束(一)R约束(要求):原因a出现时,原因b也必须出现,a出现时,不可能b不出现。输出条件的约束只有M约束,如果a为1,则结果b为0。当a为0,b的值不确定。4种基本符号(二)

正交表方法行数(Runs):正交表中的行的个数,即试验的次数。因子数(Factors):正交表中列的个数。水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”正交表是一个二维数字表格。其形式为:式中L表示正交表,其余术语如下:L行数(水平数因子数)正交表概念和特征网址:http://www.york.ac.uk/depts/maths/tables/orthogonal.htm(单一)/techsup/technote/ts723_Designs.txt(混合水平正交表)如何查找正交表构造要因表:有哪些因素(变量)每个因素有哪几个水平(变量的取值)选择一个合适的正交表把变量的值映射到表中编写测试用例,并补充测试用例正交试验法设计测试用例的步骤谢谢大家!theend白盒测试软件工程白盒测试:White-boxTesting又称逻辑驱动测试或者结构测试把测试对象看作一个打开的盒子利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。白盒测试定义白盒测试分类(1)白盒测试分类静态白盒测试代码检查法静态结构分析法静态质量度量法动态白盒测试基于逻辑覆盖的测试,尽可能覆盖程序的结构特性和逻辑路径保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试true和false;对程序进行边界检查;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。白盒测试的动态测试要根据程序的控制结构设计测试用例,其原则是:白盒测试原则分类:根据覆盖目标的不同和覆盖源程序语句的详尽程度,逻辑覆盖又可分为:1.语句覆盖(StatementCoverage,SC):可执行语句2.判定覆盖(DecisionCoverage,DC):每个判定true、false3.条件覆盖(ConditionCoverage,CC):每个逻辑条件4.条件判定覆盖(Condition/DecisionCoverage,C/DC):每个判定的每个条件的所有可能5.条件组合覆盖(ConditionCombinationCoverage,CCC)几种逻辑覆盖标准发现错误的能力呈由弱至强的变化逻辑覆盖定义语句覆盖是白盒测试的一种。语句覆盖SC(StatementCoverage),就是设计尽可能少的测试用例,运行被测程序使得程序中每一可执行语句至少执行一次。语句覆盖在测试中主要发现缺陷或错误语句。可执行语句:不包含空白行【语句覆盖率计算】语句覆盖率=被评价到的语句数量/可执行的语句总数x100%【缺点】对程序执行逻辑的覆盖很低语句覆盖语句覆盖判定覆盖是白盒测试的一种。判定覆盖SC(Decisioncoverage),就是设计尽可能少的测试用例,运行被测程序使得程序中每个判定节点的取真和取假分支至少执行一次。【判定节点】菱形框【判定覆盖率计算】被评价到的判定路径数量/判定路径的总数X100%【缺点】判定覆盖虽然把程序所有分支均覆盖到了,但其主要对整个表达式最终取值进行度量,忽略了表达式内部取值。定义:判定覆盖判定覆盖比语句覆盖有更强的测试能力单分支条件结构:判定覆盖比语句覆盖会增加几乎一倍的测试路径。双分支或多分支条:判定覆盖和语句覆盖测试路径类似或相同。判定覆盖不需要仔细分析每个判定节点。并未深入到测试符合判定表达式的细节,并未测试到每个简单逻辑判定条件的正确性判定覆盖能够避免语句覆盖的第3个缺点(对隐式分支无效)。但仍然不能避免其余的2个缺点。判定覆盖与语句覆盖分析条件覆盖是白盒测试的一种。条件覆盖CC(ConditionCoverage),设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。逻辑条件【条件覆盖率计算】条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%【缺点】只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖定义:条件覆盖条件判定覆盖是白盒测试的一种。条件判定覆盖CDC(Condition/DecisionCoverage),设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果也至少出现一次。【条件判定覆盖率计算】条件判定覆盖率=被评价到的条件取值和判定分支的数量/(条件取值总数+判定分支总数)【缺点】没有考虑单个判定对整体结果的影响,无法发现逻辑错误。定义:判定语句逻辑条件条件/判定覆盖条件/判定覆盖仍有缺陷。从表面上看,它测试了所有条件的所有可能结果,但事实上并不是这样。因为某些条件掩盖了另一些条件。例如,在逻辑表达式中,如果“与”表达式中某一条件为“假”,则整个表达式的值为“假”,这个表达式中另外的几个条件就不起作用了。同样地,如果在“或”表达式中,某一条件为“真”,则整个表达式的值为“真”,其它条件也就不起作用了。因此,采用判定/条件覆盖时,逻辑表达式中的错误不一定能测试出来。条件/判定覆盖测试分析【条件判定覆盖率计算】条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数【缺点】判定语句较多时,条件组合值比较多。定义:多个逻辑条件条件组合覆盖,是白盒测试的一种。条件组合覆盖,也称多条件覆盖MCC(MultipleConditionCoverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次满足条件覆盖一定满足判定覆盖、条件覆盖、条件判定覆盖。条件组合覆盖设计足够的测试用例,使得每条可能的路径都至少执行一次。Testcases:①A=1,B=1,X=1FF②A=1,B=1,X=2FT③A=3,B=0,X=1TF④A=2,B=0,X=4TT路径覆盖白盒测试——基本路径测试法

路径测试:从广义的角度讲,任何有关路径分析的测试都可以称为路径测试。理想情况:完成路径测试的理想情况是做到路径覆盖。实际情况:对于比较简单的程序实现路径覆盖是可能做到的,而对于程序中出现较多的判定和较多的循环时,路径数目将急剧增加,不可能实现路径覆盖。解决方法:基本路径测试法。路径分析测试程序流程图:用于描述程序的结构性,采用不同图形符号表明条件或者处理的有向图,为了突出控制流结构,将其简化为控制流图。控制流图:由许多结点和连接结点的边组成,其中一个结点代表一条语句或数条语句,边代表结点间控制流向,用于显示函数的内部逻辑结构。包含条件的结点被称为判断结点,由判断结点发出的边必须终止于某一个结点。可以将一个程序的流程图转化为控制流图,转化的过程如图所示。控制流图概念给定一个控制流图G,设其环形复杂度为V(G),在这里介绍3种常见的计算方法来求解V(G)。方法1V(G)=E-N+2,其中E是控制流图G中边的数量,N是控制流图中结点的数目。方法2V(G)=P+1,其中P是控制流图G中判断结点的数目方法3V(G)=A,其中A是控制流图G中区域的数目。由边和结点围成的区域叫做区域,当在控制流图中计算区域的数目时,控制流图外的区域也应记为一个区域。环形复杂度独立路径测试法的步骤:50%100%30%80%步骤3画出程序控制流图计算程序环路复杂性确定独立路径集合编写测试用例步骤2步骤4步骤1独立路径测试法谢谢大家!theend软件测试管理软件工程PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejia

温馨提示

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

最新文档

评论

0/150

提交评论