最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

第二章 软件测试概述

来源:动视网 责编:小OO 时间:2025-09-29 19:44:41
文档

第二章 软件测试概述

第二章软件测试的概述2.1软件测试的定义上面我们讨论了软件测试的定义问题,现在给出软件测试的准确定义。软件测试是为了发现错误而执行程序甚至不用执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。可见软件测试的目的是(1)
推荐度:
导读第二章软件测试的概述2.1软件测试的定义上面我们讨论了软件测试的定义问题,现在给出软件测试的准确定义。软件测试是为了发现错误而执行程序甚至不用执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。可见软件测试的目的是(1)
第二章 软件测试的概述

2.1软件测试的定义

上面我们讨论了软件测试的定义问题,现在给出软件测试的准确定义。

软件测试是为了发现错误而执行程序甚至不用执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。

可见软件测试的目的是

 (1) 为了寻找错误,并尽可能地为修正错误提供更多的信息

 (2) 为了证明软件有错误,而不证明软件没有错误

 (3) 通过软件测试来检查系统是否满足需求,这也是测试的期望目标。

 那么为了能够成功的实施测试,发现软件中的错误,软件测试应该遵循一些原则:

  1.) 测试应该基于用户需求

  2.) 测试设计是关键。测试时间和资源是有限的,要避免冗余的测试和考虑到尽可能全面的情况。

  3.)  应该尽早和不断的测试。

  4.)  程序员应该避免检查自己的程序,测试工作应该由的专业的软件测试机构来完成。

  5.)  对测试错误结果要有一个确认的过程

  6.)  要有合理的测试计划,不要希望在极短的时间内完成一个高水平的测试。

  7.)  要注意回归测试的关联性,尽可能避免引入新的错误。

  8.)  妥善保存测试过程文档,测试的重现性往往要靠测试文档。

2.2软件测试的发展史

     软件测试是伴随着软件的产生而产生的。早期的软件测试较为狭隘,测试相当于“调试”,由开发人员自己完成这部分工作。通常是形成代码、产品基本完成时才进行测试,对测试的投入非常的少。直到1957年,软件测试才成为一种发现软件缺陷的活动。由于缺乏软件工程的概念,测试仍旧是开发之后的事情。1972年在北卡罗来纳大学举行了首次软件测试正式会议,1975年John Good Enough和Susan Gerhart在IEEE上发表了“Toward a Theory of Test Data Selection”(测试数据选择原理)的文章,软件测试才被确定为一种研究方向。1979年,Glen ford Myers的《The Art of Software Testing》(软件测试艺术)是测试领域的第一本重要专著。在这本书中,Myers以及其同事们将软件测试定义为“测试是为发现错误而执行的一个程序或者系统的过程”。

 到了20世纪80年代,软件测试不再单纯是发现错误的过程,而且包含了软件质量评价的内容。包含IEEE(Institute of Electrical and Electronic Engineers)标准、美国ANSI(American National Standard Institute)标准以及ISO(International Standard Organization)国际标准在内的各类标准相继被制定。1983年,Bill Hetzel在《Complete Guide of Software Testing》(《软件测试完全指南》)中指出“测试是以评价一个程序或系统属性为目标的任何一种活动,测试是对软件质量的度量”。

 20世纪90年代,测试工具开始盛行。2002年,Rick和Stefan在《Systematic Software Testing》(《系统的软件测试》)一书中将测试定义为“测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程”。

 最近20年来,软件测试技术随着计算机和软件技术的飞速发展取得了很大突破,包括V模型、W模型在内的测试模型被相继总结出来。同时,TMM(Testing Maturity Model)概念的出现标志着测试过程的改进。在单元测试、自动化测试、负载压力测试以及测试管理方面涌现了大量优秀的软件测试工具。

 然而软件测试技术仍旧是落后于软件开发技术的发展速度,这使得软件测试面临着很大的挑战,主要体现在以下几方面:

   1.    软件测试在国防现代化、社会信息化和国民经济化领域中的作用越来越重要,由此产生的测试任务越来越繁重。

   2.    软件规模越来越大,功能越来越复杂,如何进行充分有效的测试成为难题。

    3.    面向对象的开发技术越来越普及,而面向对象的测试技术却刚刚起步。

    4.    对于分布式系统整体性能还不能进行很好的测试。

    5. 实时系统来说,缺乏有效的测试手段。

    6.    随着安全问题的日益突出,信息系统的安全性如何进行安全有效的测试与评估,成为世界性的难题。

2.3软件测试的国内外现状

    软件测试在软件较发达的国家(比如美国),已经发展成为一个的产业,主要体现在以下几个方面:

1.    软件测试在软件公司占有重要地位。在微软,一个项目组中测试工程师要远比编码工程师多,同样花在测试的时间也比花在编码的时间多。

2.    软件测试理论研究蓬勃发展。每年举办各种各样的测试技术年会,发表了大量的软件测试研究论文,引领软件测试理论研究的国际潮流。

3.    软件测试市场繁荣。美国有一些专业公司开发软件测试标准与测试工具,MI Compuware、MaCabe、Rational等都是著名的软件测试工具提供商,它们出品的测试工具已经占领了国际市场。

我国的测试技术起步于“六五”,随着软件工程的研究而逐步发展起来。1990年国家级的中国软件评测中心成立,测试服务逐步开展起来。

由于起步晚,因此无论在软件测试理论研究还是测试实践上,都和发达国家有较大的差距。主要体现在对软件产品化测试的技术研究还较为贫乏,从业人员少,测试服务没有形成足够的规模等方面。但是,随着我国软件产业的蓬勃发展及对软件质量的重视,软件测试也越来越被人们所看重,软件测试正逐步成为一个新兴的产业。

我国正迈入测试时代,主要体现在以下几个方面:

1.    我国著名软件公司都已经或着手建立的专职软件测试队伍。当然人员规模及比例无法和国外大公司相比,但毕竟在公司内部贯彻了的测试的意识。

2.    国家人事部和信产部2003关于职业资格认证第一次在我国有了“软件评测师”的称号,这是国家对软件测试职业的高度重视与认可。

3.    在信产部关于计算机系统集成资质以及信息工程系统工程监理资质的认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标。

4.    2001年,信产部发布的5号令,实行了软件产品登记认证制度,规定凡是在我国境内销售的产品必须到信产部备案登记,且要经过登记测试。

5.    自2001年起,国家质检总局和信产部都通过测试对软件产品进行质量监督抽查。

6.    国家各部委、各行业正在通过测试规范行业的健康发展,通过测试把不符合行业标准要求的软件拒之门外,对行业信息化的健康发展起了促进作用。

7.    用户对软件质量要求越来越高,信息系统验收不再走过场,而要通过第三方测试机构的严格测试来判定。

8.    “以测代评”正在成为我国科技心爱你灌木则有支持的一项重要举措,如国家“863”计划对数据库管理系统、操作系统、办公软件、ERP等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定的。

9.    软件测试正成为部分软件学院的一门课程,对我国软件测试人才的培养起到作用。

10. 第三方测试机构得到了蓬勃发展。近两年全国各地新成立的软件测试机构有十多家,测试服务体系已经基本确立。

由上可见,我国的软件测试行业正处在一个快速成长的阶段。随着时间推移,我们与发达国家的差距必然会逐步缩小。

 2.4 软件测试的发展趋势

分析现今国内外的测试发展,可以看出有以下趋势:

测试工作将近一步前移,不仅仅是单元测试、集成测试、系统测试和验收测试,对需求的精确性和完整性的测试技术、对系统设计的测试技术将成为新的研究热点。

软件架构师、开发工程师、QA人员和测试工程师将进行更好的融合,他们之间是伙伴而非对立的关系,因为他们的工作相互促进相互借鉴。同时测试工程师也会尽早的介入整个工程,在软件定义阶段就要开发相应的测试方法,是的每一个需求定义都是可以测试的。

测试职业将得到充分的尊重。开发与测试人员既是矛盾体也是统一体。以前“没能力做开发就去测试”的观点已经被现在“只有高水平的开发者才能胜任测试工作”的观点所替代。

设置的软件测试部门将成为越来越多的软件公司的共识。测试部门将和开发、QA一样作为一个重要的部门存在。

测试外包服务将快速增长。软件测试外包将会和软件开发外包一样,成为全球化的一种趋势,可以利用职业测试专家队伍与机构为自己的产品进行测试,节省测试费用。

文档

第二章 软件测试概述

第二章软件测试的概述2.1软件测试的定义上面我们讨论了软件测试的定义问题,现在给出软件测试的准确定义。软件测试是为了发现错误而执行程序甚至不用执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。可见软件测试的目的是(1)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top