- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(功能测试培训手册
功能测试培训手册
测试概述
测试发展
测试是一个级其宽广的概念,并且涉及到我们生活的各个方面。作为用户,他们希望所使用的产品是可靠的、使用简单方便及符合需要的。那么,怎样才算是可靠的、符合需要的呢?最简单的方法是通过建立一些异常的环境及一些异常的操作,看产品在这些异常的环境及这些异常的操作下是否能正常工作。这就是测试。可以说,测试是随着社会化生产应运而生的,不是近代才出现的产物。但是,我们这里强调的是对软件产品的测试。软件测试是软件工程的一个范畴,或是说是软件工程的一个部分。这主要是因为测试活动是一个工程性的活动而不是简单、孤立的活动。
软件测试最早可以追溯到软件开发的初期。着计算机的诞生,开始了软件开发和软件测试。于早期的计算机运行性能比较差,软件的可编程性范围比较狭窄,误主要集中在元器件的不稳定上。这一阶段还没有系统意义上的软件测试,更多的是一种调试性测试用。测试用例的设计和选取是在随机的基础上,凭借测试人员一定的经验进行的。测试更多的是为了证明系统可以运行起来。
20世纪50年代后期到20世纪60年代,高级语言相继诞生并得到了广泛的应用,测试的重点逐渐转入到高级语言编写的系统中来。与以往不同的是程序的复杂性增强了。但是,由于受到硬件系统制约,软件相对而言仅占系统的次要位置。软件正确性的把握主要依赖编程人员的水平。因此,测试理论和方法在这一阶段的发展比较缓慢。
20世纪70年代以后,随着计算机处理速度的飞速提高,内存和外存(主要是硬盘)容量的快速增加,软件在整个系统中的重要性变得越来越高,软件的规模越来越大,可视化编程环境、日益完善的软件分析设计方法(如面向对象的分析设计概念的产生)以及新的软件开发过程模型的提出(如螺旋模型,增量模型等)使得大型软件的开发成为可能;同时,由于软件规模和复杂度的急剧增加,软件的可靠性面临危机;软件测试在这一阶段承受了挑战。许多测试理论和测试方法相继诞生,逐渐形成一套体系。同时,这一阶段也孕育、培养出了一批出色的测试专家。
随着软件产业化的发展,人们对软件的质量、成本和进度提出了较高的要求。质量的控制已经不再是传统意义上的软件测试。传统的软件测试是基于代码运行的,只有在软件开发的后期才能介入。然而,产业界的大量研究表明,设计活动引入的错误占软件过程中出现所有错误数量的50~65%。根据IBM的研究结果,假定在分析阶段发现的错误其改正成本为1个货币单位,那么在测试之前(设计编码阶段)发现一个错误的修改成本约为6.5个货币单位,在测试时(集成测试,系统测试和验收测试)发现一个错误的修改成本约为15个货币单位,而在发布之后(已经交到用户手上)发现一个错误的修改成本约为60~100个货币单位。该比例同样也适用于发现一个错误需要的时间代价。
IBM的研究结果还表明:缺陷存在放大趋势。如果在需求阶段漏过一个错误,该错误可能会引起N个设计错误。N称为放大系数。一般而言,不同阶段其N不同。经验表明,从概要设计到详细设计的错误放大系数大约为1.5,从详细设计到编码阶段的错误放大系数大约为3。图1-1 表示了缺陷放大模型大致状况。
图1-1 缺陷放大模型图
因为有上面这些内在因素的制约,就不难想象为什么很多软件产品在其开发过程中投入了大量的时间和金钱在没完没了的系统测试上,而最后得到的产品却依旧是低质量的软件。在经过了大量的失败实践之后,人们逐渐发现,一个软件的成功不可能仅仅依赖于软件开发技术是否选进。相反,软件产业化要求有一个规范的软件开发过程,一个全局的质量控制体系。一个好的软件开发过程为软件的开发指明了一条通向成功的捷径。在此要求下,许多优秀的软件开发过程,开发规范应运而生,如CMM、IPD、RUP、CMMI等。在这些过程中,测试已经不再是一个编码后才进行的活动,而是一个基于软件开发整个生命周期的质量控制活动。测试的概念也扩展到了静态测试(静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。
软件测试的V模型说明了何时应进行测试。但是,该模型仅涉及到单元测试、集成测试、系统测试和验收测试的过程,以及这些测试与前期阶段的对应关系。其实,在开发过程中,测试始终在扮演着验证和确认的角色。如在功能性需求分析阶段,除了要考虑系统测试范围的内容外,还必须包括功能需求本身的测试。从需求考虑系统测试范围,主要是考虑系统测试应当按照功能需求的内容测试系统是否符合需求;而需求本身的测试则是测试需求的完整性、一致性、无冲突性等。软件测试V模型如图1-2所示。
图1-2 测试V模型
什么是
文档评论(0)