软件工程第七章new

软件工程第七章new

ID:39194529

大小:1.40 MB

页数:97页

时间:2019-06-26

软件工程第七章new_第1页
软件工程第七章new_第2页
软件工程第七章new_第3页
软件工程第七章new_第4页
软件工程第七章new_第5页
资源描述:

《软件工程第七章new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章软件测试内容提要7.1软件测试概述7.2软件测试用例的设计7.3软件测试的实施7.4软件测试的面向对象方法简述7.5本章小结软件测试软件系统的开发体现了人们智力劳动的成果。在软件开发过程中,由于人的主观认知能力的局限性和所开发软件的复杂性,尽管人们利用了许多旨在改进、保证软件质量的方法去分析、设计和实现软件,在软件生命周期的每个阶段还是不可避免地会产生错误。因此,在软件正式投入运行之前,必须通过严格的测试,来发现并纠正软件中的错误,从而保证软件的质量。大量的实践证明,测试是一项很艰苦的工作,据统计,软件测试的工作量往往占软件开发总工

2、作量的40%以上。目前,程序的正确性证明在技术上尚未得到根本的解决,软件测试仍然是发现软件中错误和缺陷的主要手段。因此,必须高度重视软件测试工作。软件测试软件测试是软件质量保证的关键步骤,它包括分析、设计和编码的最终检查。软件测试的结果也是分析软件可靠性的重要依据。本章着重讨论软件测试的概念、传统软件和面向对象软件的测试问题。7.1软件测试概述软件测试概述7.1.1软件测试的目标及原则测试是对软件分析、设计、编码进行查错和纠错的活动。正确理解软件测试的概念和目标,对保证软件测试的成功实施起着极其重要的作用。从表面上来看,软件测试是具有“破

3、坏”性质的,因为在测试阶段,测试人员努力设计出一系列测试方案,竭力发现和证明程序中错误的存在。而软件工程的其他阶段都是“建设性”的,软件工程师力图从抽象的概念出发,逐步设计出软件蓝图,再经过编码而实现软件产品。当然,这种反常仅仅是表面的或是心理上的,暴露问题并不是软件测试的最终目的,发现问题是为了改进软件设计或纠正程序的错误。测试阶段的根本目标是尽可能多地发现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户使用。软件测试概述以下三点可以看作是测试的目标:1.测试是为了发现程序中的错误而执行程序的过程。2.好的测试方案是尽可能发现

4、至今为止尚未被发现的错误的测试方案。3.成功的测试是发现了至今为止尚未被发现的错误的测试。由此可以看出,测试的正确含义是“为了发现程序中的错误而执行程序的过程”。这和某些人想像的“测试是为了证明程序是正确的”,“成功的测试是没有发现错误的测试”等是完全相反的。明确测试的目的是一件非常重要的事情,因为在实际工作中对测试工作存在着许多模糊或错误的看法,这些看法严重影响着测试工作的顺利进行。测试的目标决定了测试方案的设计,如果为了表明程序是正确的,就会设计一些不易暴露错误的测试方案。相反,如果测试是为了发现程序中的错误,就会力求设计出最容易暴露

5、错误的测试方案。软件测试概述基于以上的叙述,在设计软件测试方案前,软件开发者必须理解软件测试的基本原则。这些测试原则是:(1)坚持“尽早地和不断地进行软件测试”的原则。不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些错误发生的隐患。软件测试概述(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。测试以前应当根据测试的要求选择测试用例,用来检验程序员编制的程序,因此不但需要测试的输入

6、数据,而且需要针对这些输入数据的预期输出结果。(3)程序员应避免测试自己的程序。由于思维定势和心理因素的影响,程序员并不是测试的最佳人选。这不能与程序的调试相混淆,调试由程序员自己来做可能更有效。而程序员以及程序开发小组应尽可能避免测试自己编写的程序。为了达到最佳效果,最好建立独立的软件测试小组或测试机构。(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。软件测试概述(5)充分注意测试中的群集现象。软件测试的实践表明:测试后模块中残存的错误数目与该模块的错误检出率成正比,即错误群集。根据这个规律,应当对发现错误较多的模块进

7、行重点测试,以提高测试效率。(6)严格执行测试计划,排除测试的随意性。(7)应当对每个测试结果做全面检查。有些错误的征兆在输出测试结果时已经明显地出现了,但是如果不仔细地、全面地检查测试结果,就会使这些错误被遗漏掉。所以必须对预期的输出结果明确定义,对测试的结果仔细分析检查,暴露错误。(8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。软件测试概述7.1.2软件错误产生的原因及分类软件开发是一项极其复杂的智力活动,由于主观认知能力的局限性和所解决问题的复杂性,在表达、理解、验证用户需求,软件设计以及程序编写的过程中,

8、都不可避免地会出现各式各样的错误,这些错误贯穿在软件生命周期的各个阶段。由于人们对错误有不同的理解和认识,基于不同的角度,有着不同的错误分类方法,所以目前还没有一个统一的错误分类方法。下面分别

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

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

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