【软件工程】软件测试及软件质量控制.pptx

【软件工程】软件测试及软件质量控制.pptx

ID:67994762

大小:272.65 KB

页数:103页

时间:2021-09-29

【软件工程】软件测试及软件质量控制.pptx_第1页
【软件工程】软件测试及软件质量控制.pptx_第2页
【软件工程】软件测试及软件质量控制.pptx_第3页
【软件工程】软件测试及软件质量控制.pptx_第4页
【软件工程】软件测试及软件质量控制.pptx_第5页
【软件工程】软件测试及软件质量控制.pptx_第6页
【软件工程】软件测试及软件质量控制.pptx_第7页
【软件工程】软件测试及软件质量控制.pptx_第8页
【软件工程】软件测试及软件质量控制.pptx_第9页
【软件工程】软件测试及软件质量控制.pptx_第10页
资源描述:

《【软件工程】软件测试及软件质量控制.pptx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件测试及软件质量控制第六章软件系统的开发过程中,软件测试占据着重要地位。尽管人们采取了多种保证软件质量的措施,由于软件系统的客观复杂性,人们的主观认识不可能完全符合客观实际,完美无缺,每个阶段的技术审查也不可能毫无遗漏地查出和纠正所有的设计和分析上的错误,在软件生命周期的各个阶段,都不可避免地会产生差错,这些差错迟早会在软件的生产和使用过程中暴露出来。软件工程实践的经验表明,发现软件的时刻越晚,改正这些错误所花费的代价也越高,如果在软件投入使用之前没有发现和纠正软件的大部分错误,人们付出的代价会更高,往往会

2、造成恶劣的后果。从广义上来说,软件测试工作散布在软件生命周期的各个开发阶段,人们认识到,软件测试是保证软件质量的主要手段,各阶段的评审工作和验证工作,均是广义概念上的测试工作。而主要的测试是在编码和测试这两个阶段进行的。因此,狭义的软件测试就是程序测试。6.1软件测试基本概念G.J.Myers给出了关于测试的一些规则,被软件工程领域认可:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案极有可能发现迄今为止尚未发现的错误;(3)成功的测试是发现了至今为止尚未发现的错误。6.1软件测试基本概念

3、这些规则,实际上是软件测试的狭义概念——程序测试。狭义的软件测试:测试是为了发现错误而执行程序的过程。是根据软件开发的各个阶段的说明和程序的内部结构而精心设计的一批测试用例(有输入数据及预期的结果),并利用这些测试用例执行程序及发现错误的过程。6.1软件测试基本概念广义的软件测试是对软件计划、软件系统分析、软件设计、软件编码进行的查错活动,包括代码执行和人工审查活动,测试的目的是找出软件生命周期的各个阶段的错误,有利于以后进行修改和纠正。但测试本身不修正错误,调试才会修正错误。即找错的活动是测试;分析错误的性

4、质与位置,进行纠错的活动是调试,保证算法的正确实现。软件测试与程序测试都是查找错误的活动,差别在于查找错误的范围不同。6.1软件测试基本概念由于测试的目标是暴露程序的错误,从心理学角度看,由设计者自己进行测试是不恰当的,设计小组和测试小组应该分别设立,有利于进行客观和公正的软件测试。测试是有限的,由于通常的测试过程不可能穷尽一切情况,即使经过了严格的测试之后,仍然可能存在没有被发现的错误隐藏在程序中,不能证明程序中没有错误。6.1软件测试基本概念因此,测试仅仅有可能找出程序的错误,测试不能证明程序是正确的。软

5、件工程中所有其它阶段都是“建设性”的,软件工程师力图从抽象概念出发,逐步设计出具体的软件系统,而测试人员的工作表面上看却是“破坏性”的,竭力证明软件中含有错误,不能按预定要求正确工作。凡是进行对比的方式均可理解为测试验证。6.1.2软件测试的对象软件测试应该贯穿于软件生命期的各个阶段,各阶段的工作是相互衔接、相互影响的,前一阶段发生的问题自然要影响到下一阶段的工作。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。软件确认是广义上的软件测试,它是企图证明软件在一个给定的外部环境中软件的逻辑正确性的一系

6、列活动和过程,如需求说明书的确认、程序的确认等。6.1.2软件测试的对象程序的确认又分为静态确认与动态确认。静态确认一般不在计算机上执行程序,而是通过程序正确性证明、静态分析或人工分析来确认程序的正确性;动态确认主要通过动态分析和动态测试,用执行程序的过程来检查执行的状态,确认程序是否有问题;6.1.2软件测试的对象正确性证明主要是企图绕过复杂的测试,直接证明程序的正确性。如程序的输入输出断言法。设程序段为S,其前断言为P,后断言为R。如果执行S以前P为真,则执行S后R也为真,则证明S是正确的,记为{P}S{

7、R}。6.1.2软件测试的对象任何程序总可以分成S1、S2、…Sn个结点,对应的断言为R1、R2、…、Rn,起初R1为输入断言,R2为输出断言,也是下一个输入断言,…Rn为最后的输出断言,我们总可以,将S1、S2、…Sn逐个证明,自顶向下或自底向上都可证明程序的正确性,该分支已发展为计算机代数学;6.1.2软件测试的对象软件验证也属于广义上的软件测试,它试图证明在软件生命期的各个阶段、各阶段的逻辑协调性、完备性和正确性。包括系统分析员理解用户要求的正确性、表达的正确性、设计人员对需求规格说明理解的正确性、设计

8、与设计表达的正确性、程序编码的正确性和运行软件程序时输入的正确性、运行结果的正确性等,运行结果与用户预期的结果是否一致等,这说明任何一个环节上发生了问题都可能在软件测试中表现出来。6.1.3测试信息流将测试的过程用数据流图表示,可得测试信息流如图6-1所示。(至软件配置)软件配置1测试结果2错误3修正的软件测试配置测试结果测试工具测试评价调试正确预测结果出错率4数据可靠性分析图6-1测试信息流6.1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。