- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 软件测试概述 第1章 软件测试概述 1.1 软件测试背景 1.1.1 软件缺陷 1.1.2 软件测试技术的发展历史和现状 1.2 软件测试的基本理论 1.2.1 软件测试定义和目标 1.2.2 软件测试标准 1.2.3 软件测试原则 1.2.4 软件测试分类 1.3 软件测试与软件开发 职业规划 测试工程师两种主要路线: 方向一:技术路线轨迹 软件测试员-高级测试工程师-系统测试工程师(测试专家) -架构工程师(需求分析师) -技术总监? 方向二:管理路线轨迹 软件测试员-高级测试工程师-测试主管-测试经理-技术总监 * 软件测试的历史发展 Glenford J.Myers的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。 * (软件工程建立前),为表明程序正确而进行测试。 软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。 20世纪60年代 1979年 20世纪80年代 软件测试的历史发展 Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。 * 20世纪90年代 测试工具盛行起来。出现了能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度TSM(Testability Support Model)、测试成熟度TMM(Testing Maturity Model)等模型和标准。 2002年 软件测试在软件生存周期中横跨两个阶段。通常在编写出每个模块之后就对它进行必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生存周期的同一个阶段。在结束这个阶段之后,对软件系统还要进行各种综合测试,这是软件生存周期中另一个独立的阶段,通常由专门的测试人员来完成这项工作。 目前,人们越来越重视软件测试,软件测试的工作量往往占到软件开发总工作量的40%以上。在特殊情况下,测试那些重大的软件,例如核反应堆监控软件,其测试费用可能相当于软件工程其他步骤总成本的三倍到五倍。因此,我们必须高度重视软件测试工作,绝不能认为写出程序代码之后软件开发工作就完成了。 1.软件测试的定义 人们对于软件测试的目的可能会存在着这样的认识:测试是为了证明程序是正确的。实际上,这种认识是错误的。因为如果表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试的方案,也不会主动去检测,排除程序中可能存在的一些隐患。显然,这样的测试对于发现程序中的错误,完善和提高软件的质量作用不大。因为程序在实际运行中会遇到各种各样的实际问题,而这些问题可能是我们在设计时没有考虑到的,所以在设计测试方案时,就应该尽量让它能发现程序中的错误,从而在软件投入运行之前就将这些错误改正,最终把一个高质量的软件系统交给用户使用。 软件测试是为了发现程序中的错误而实施的一些方法和手段。 2.软件测试的目标 软件测试工作是非常必要的,测试的目的就在于在软件投入运行之前,尽可能多地发现软件中的错误。软件测试是对软件规格说明、设计和编码的最后复审,是软件质量保证的关键步骤。 实现这个目的关键是如何合理地设计测试用例,在设计测试用例时,要着重考虑那些易于发现程序错误的方法策略与具体数据。 综上所述,软件测试的目的包括以下三点: (1) 测试是程序的执行过程,目的在于发现错误,不能证明程序的正确性,仅限于处理有限种的情况。 (2) 检查系统是否满足需求,这也是测试的期望目标。 (3) 一个好的测试用例在于发现还未曾发现的错误;成功的测试是发现了错误的测试。 软件测试的标准是站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现缺陷(bug),并负责跟踪和分析产品的问题,对不足之处提出质疑和改进意见。 软件测试标准如下: 软件测试的目标在于揭示错误。测试人员要始终站在用户的角度去看问题,系统中最严重的错误的是那些导致程序无法满足用户需求的错误。 软件测试必须基于“质量第一”的思想去开展各项工作。 事先定义好产品的质量标准。只有建立了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。 软件项目一启动,软件测试也就开始,而不是等程序写完,才开始进行测试。 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多的发现错误,提高程序的可靠性。 对发现错误较多的程序段,应进行更深入的测试。 软件测试的原则: 应当把尽早地和不断地进行软件测试作为软件开发者的座右铭。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现
文档评论(0)