软件测试原则.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件测试技术基础 软件测试原则 软件测试原则 1.1 应尽早和不断地测试 由于软件的复杂性和抽象性,以及项目涉及人员之间沟通的不畅等原因,导致在软件生命周期各阶段都可能产生缺陷,因此,不应该将软件测试看成是程序写完之后才开始的一项工作。问题发现得越早,解决问题的代价越小,反之,缺陷发现得越晚,缺陷修复的成本越高,若缺陷遗留到用户手中,则将对公司、对用户都有可能带来极其严重的后果,例如加拿大的Therac 25放射治疗仪事件(由于软件系统总体安全设计出问题,导致了多起医疗事故,)、熊猫烧香病毒等,类似的案例不胜枚举。不断的测试应表现为一个反复的、递增的过程。在最初的阶段,我们可能会采用一些简单的测试方法和模糊的测试过程,测试的效果也许会很差。但经过每次迭代的修正之后,部分测试将进入回归测试形式,下一次测试的开始将覆盖前几次测试的范围,从而逐步加大测试的覆盖面。从另一方面,我们在多次迭代过程中,将逐渐加强对测试过程的认识,强化集成测试和系统测试,规范单元测试,最终可能会重新修正整个测试过程。1.2 不可能穷尽测试 想要穷尽测试,就必须在有限的时间和资源(包括人力、物力和资金资源)条件下,找到软件中所有潜在的缺陷。追求软件的完美,是不可能做到的。从总体来看,软件实现的途径太多。从软件的基本要素——输入、输出、数据和计算来分析,能进一步证明穷尽测试是不可能的,原因如下。(1)从输入来看,每个输入条件的数据量太大,不同输入条件之间的组合情况太多,要得到健壮的软件,还需要更多考虑无效的输入,而无效的输入情况相比有效输入而言,其数据量和组合情况则更加纷繁复杂,无法穷尽。 (2)从输出来看,输出结果太多。输出地种类可能相比输入要少很多,大部分情况下,我们可以分析出所有可能的输出。但针对每种具体输入都必须有一个明确的系统输出,既然输入无法穷尽,则对应的输出也是无法穷尽的。 (3)从数据来看,数据的处理方式可能也不过是常规的方法,如添加数据、删除数据等。然而,由于要处理的数据量太大,每种数据类型所包含的有效和无效数据往往是无穷多的,针对每组数据来测试各种操作无疑也是异想天开。 (4)从计算来看,由于算法的复杂度越来越高,结合业务的复杂性,导致路径组合近似天文数字,遍历每条路径的穷尽测试,即使对于一个非常熟练的测试员而言,也是望尘莫及的。1.3 良好的测试态度1.避免测试自己的程序 测试应由独立的第三方机构来完成。但国内的测试环境并不成熟,因此黑盒测试多由测试人员来测,而白盒测试则由开发人员通过交叉测试来完成。让开发人员测试自己的代码是一件相当糟糕的事情,理由如下。(1)不愿否定自己的工作。程序员一向认为测试人员总是在挑刺,让他们自己挑自己程序的毛病,更是难上加难。(2)受到思维定式的局限。程序员对自己开发的程序很熟悉,测试时难以跳出自己的编码思路,若设计时就存在理解错误,或受不良编码习惯影响而导致缺陷,一般都很难发现。(3)受进度压力的影响。程序员总是在赶进度,能在规定时间内写完代码就不错了,哪有时间去做测试。“让测试人员去测吧”,这是很多开发人员的态度。(4)程序员对程序的功能和接口很熟悉,这与最终用户的情况往往并不吻合,开发人员自己来测试程序难以具有典型性。 2.增量测试应采用增量测试的方式,即测试范围应从小规模开始,逐步转向大规模。所谓小规模是指测试的粒度,或某种程序的单元测试。进一步的测试将从单个单元的测试逐步过渡到多个单元的组合测试,即集成测试,最终过渡到系统测试。随着从单元测试到集成测试再到系统测试,测试时间、可用资源和测试范围不断扩大。3.测试应该分级测试应该分级别。不同级别的测试,采用的测试活动、测试方法和测试重点等各有不同(如表2-1)。表中,DT&E测试是指开发测试和评价(Development Test and Evaluation),OT&E是指操作测试和评价(Operational Test and Evaluation)。4.测试应有重点尽管测试应按一定级别进行,但受到资源和时间的限制,不可能无休止地测试下去。因此在有限的时间和资源下如何有重点地进行测试是测试管理者需充分考虑的事情。测试的重点选择需根据多方面考虑,包括测试对象的关键程度、可能的风险、质量要求等。这些考虑与经验有关,随着实践经验的增长,判断也会更准确。 5.避免测试的随意性 软件测试是一项系统工程,是有组织、有计划、有步骤的活动。因此,测试应制定合理的测试计划。测试计划反映一个测试团队在正常情况下需完成的工作远景描述,一般包括测试需求、测试策略、资源、项目里程碑、可交付工作等关键内容。但通常情况下,将资源从测试计划中分离出来是一种更好的习惯。1.4 对待缺陷的基本原则1.缺陷的群集现象 一般情况下,80%的软件缺陷集中在20%的模块中。造成缺

文档评论(0)

151****7975 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体王**

1亿VIP精品文档

相关文档

相关课程推荐