第1章软件测试基础之软件测试〔1.3〕.pptVIP

  • 2
  • 0
  • 约3.31千字
  • 约 46页
  • 2017-05-19 发布于四川
  • 举报

第1章软件测试基础之软件测试〔1.3〕.ppt

第1章软件测试基础之软件测试〔1.3〕

软件测试的发展史 软件测试是什么? 软件测试的定义(1) 软件测试的定义(2) 软件测试的定义(3) 软件测试的定义(4) 软件测试的定义 软件测试的侠义观点 改正一个缺陷的相对成本示意图 软件测试的广义观点 软件测试的辩证统一观点 软件测试的经济成本观点 软件测试的目的 软件测试的目的 软件测试的对象 软件测试的时间(1) 软件测试的时间(2) 软件测试的原则   (1) 可追溯性。所有的测试都应追溯到用户需求。软件测试揭示软件的缺陷,一旦修正这些缺陷就能更好地满足用户需求;如果软件实现的功能不是用户所期望的,将导致软件测试和软件开发做了无用功,这种情况在软件开发和软件测试中时有发生。   (2) 尽早开展预防性测试。测试工作进行得越早,越有利于提高软件的质量和降低软件的质量成本,这是预防性测试的基本原则。由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看做是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。在需求分析和设计阶段就应开始进行测试工作,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,尽量避免将软件缺陷遗留到下一个开发阶段,提高软件质量。 软件测试的原则 软件测试的原则 软件测试的原则 (3) 投入/产出原则。根据软件测试的经济成本观点,在有限的时间和资源下进行完全测试找出软件所有的错误和缺陷是不可能的,也是软件开发成本所不允许的,因此软件测试不能无限进行下去,应适时终止。即不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现。因此在满足软件预期的质量标准时,应确定质量的投入/产出比。  (4) 回归测试。由于修改了原来的缺陷,将可能导致新的缺陷产生。因此修改缺陷后,应集中对软件的可能受影响的模块/子系统进行回归测试,以确保修改缺陷后不引入新的软件缺陷。 软件测试的原则   (5) ?80/20原则。测试实践表明,系统中80%左右的缺陷主要来自20%左右的模块/子系统,因此应当花较多的时间和代价测试那些具有更多缺陷数目的程序模块/子系统。   (6) 设立独立的测试机构或委托第三方测试。由于思维定势和心理因素等原因,开发工程师难以发现自己的错误,同时揭露自己程序中的错误也是件非常困难的事。因此,测试一般由独立的测试部门或第三方机构进行,但需要软件开发工程师的积极参与。 你对软件测试的理解? 小插曲 人们对软件测试的误解 好的测试人员不仅要掌握各种测试技术和测试工具,还要具备丰富的编程经验和对BUG的敏感。 人们对软件测试的误解 人们对软件测试的误解 人们对软件测试的误解 软件测试不等于程序测试 软件测试应该涵盖整个软件生命周期; 人们对软件测试的误解 人们对软件测试的误解 测试误区总结 软件测试 主讲人: 田安红 学院:计算机科学与工程 来回答一个问题:如果树上有10只鸟,开枪打死1只,还剩几只? … 引子:猎人打鸟 1979年,G.J.Myers对软件测试的定义:程序测试是为了“发现错误”而执行程序的过程。 1983年,B.hetzel对软件测试的定义:以评价一个程序或系统的属性为目标的任何一种活动;测试是对软件质量的度量。 明确提出软件测试以检验是否满足需求为目标。 2002年,测试的定义:使用人工或者自动手段来运行或测试被测试件的过程,其目的在于检验它是否满足规定的需求并弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality)的软件过程。 从上面的定义可以看出,软件测试的内涵在不断丰富,对软件测试的认识在不断深入。要完整理解软件测试,就要从不同角度去审视。软件测试就是对软件产品进行验证和确认的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷,以评估软件的质量是否达到可发布水平。软件测试是软件质量保证的关键元素,代表了需求规格说明书、设计和编码的最终检查。   G.J.Myers在《软件测试之艺术》(The Art of Software Testing)给出的软件测试定义,是传统意义上的测试定义,即在代码完成后通过运行程序或软件来查找程序代码或者软件系统中的错误。这种传统意义上的测试主要是受软件开发瀑布模型的影响,而且非常不利于保证软件的质量。 主要原因是这种测试不能在代码完成前发现软件系统在需求、设计等上的缺陷,图1-1-1的统计表明这将导致后期的软件质量成本很高。 为了尽早发现问题,降低软件质量成本,可将传统的软件测试范围延伸到需求评审、设计评审、代码评审等活动中。根据广义观点,软件测试可分为静态测试和动态测试。

文档评论(0)

1亿VIP精品文档

相关文档