- 1、本文档共117页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch3软件测试基础知识【荐】.ppt
By Tuyaofeng Part One 软件测试基础 Chapter 3 软件测试基础知识 软件测试基础知识 内容概要: 序言 软件测试定义 软件测试目的 对软件测试的认识 软件测试理论 软件测试原则 软件测试的分类 软件测试的术语和定义 其它 3.1序言 困惑: 软件测试可以说是一个非常令人捉摸不定的领域。“应该怎样对我们的产品进行测试?”和“怎样才算对产品进行了足够的测试?”等问题,对于不同企业的不同类产品、同一企业的不同类产品、或不同企业的同一类产品, 实际操作上都会有很大的不同。 软件过程现状 实际项目中,看不到完全符合客户需求的产品需求规格说明书。 客户需求不断变化。 代码频繁更改。 资源有限,进度逼人… 理想的软件过程只是追求的目标。测试人员应该面对现实。 软件测试现状 软件测试的技术和方法多年以来并没有取得令人振奋的进展。软件测试的效果主要还是依赖于测试人员的经验。 对软件测试的认识的发展 测试=调试 测试是证明软件正确 测试是发现软件中的错误 测试是减小软件不工作的风险 测试是一种认识上的训练 关于软件测试的讨论 这个软件已经经过了测试。 这个软件已经经过了严格的测试。 这个软件通过了测试。 软件测试的发展 二十世纪70年代以前 Ad-hoc testing,指的是测试者想到哪测到哪,没有周密的测试计划和过程,没有测试文档,测试不能复用,与调试没有区分。 70年代末~80年代中期 测试基础理论和实用技术形成,测试作为软件质量保证(SQA)的主要职能。 软件测试的发展 80年代末~90年代中期 测试工具在质量和数量上不断增长,测试与SQA分离,SQA注重于过程和质量监督,专职测试岗位产生。并且注重工具对测试效率的影响,测试自动化开始广泛应用。 90年代后期 关注有效的过程管理对于软件测试的重要性,形成各种测试模型、测试能力成熟度模型。 软件测试的发展 二十一世纪初 软件测试的重要性越来越被人们接受,甚至出现了软件开发活动应以测试为主导的思潮,如XP方法。而且,随着软件测试分工的细化和成熟,软件企业注重于自身核心竞争力的提升,促使大量的独立软件测试服务机构涌现出来。这些测试服务机构运作机制日趋成熟,从单一的第三方认证评测,逐步转向参与整个软件开发过程的测试服务,并按照软件领域形成市场细分,已经形成一个成熟和广阔的市场区间。 软件测试的发展 官方软件评测机构 软件工程师资格认证 专业软件测试企业 专门的软件测试课程 专门的软件测试学位(不远的将来) 4.2软件测试定义 曾有的定义: 软件测试是为了发现错误而执行程序的过程。 软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。 软件测试的定义(推荐) 【国家标准GB/T 11457—1995 】 由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求;或识别出期望的结果和实际结果之间的差别。 【ISO/IEC2号导则】 测试是指由给定产品、过程或按照规定的规程服务的一个或多个特性的测定组成的技术操作。 软件测试定义(推荐) 【 IEEE/ANSI, std829-1983 】 对软件进行分析,找出其现有状况与要求状况之间的差异。 关于软件测试的著名论点 关于软件测试的著名论点 Grenford J. Myers: 测试是为了发现错误而执行程序的过程 一个好的测试是指很可能找到尚未发现的错误的测试 一个成功的测试是指发现了至今未发现的错误的测试 Hetzel: 软件测试是对软件建立信心的过程 测试是评估软件或系统的品质或能力的一种积极的行为 测试是对软件质量的度量 4.3软件测试目的 Grenford J. Myers关于软件测试的著名论点: 测试是程序的执行过程,目的在于发现错误; 一个好的测试用例在于能够发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 软件测试目的 个人认为这是一种比较狭窄的观点。 软件测试目的 一个被人忽略的软件测试目的是:测试可以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行改进。 测试并不仅仅是为了要找出错误。 软件测试目的 通过分析错误产生的原因, 分析错误产生于哪一个开发阶段、而又在哪一个阶段被发现,我们可以判断从错误的产生到错误的发现,跨越了多少个开发阶段。 一个错误能够超越本开发阶段而不被发现,就指明了该开发阶段的检测手段有缺陷,从而有针对性地制定出加强的措施与办法。这也就是软件过程改进的一项重要内容。 对软件测试目的理解 以最少时间和最小代价,发现最多数量的错误。
文档评论(0)