软件测试流程简介

发表于:2011-6-07 10:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:王志芳    来源:51Testing软件测试网采编

  信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把软件质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险。软件测试作为提高软件质量的主要方法,已经越来越受到企业和用户的关注。

  软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近年来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

  事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分,伴随着程序设计共同成长。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

  如果给软件测试下定义,比较简单的讲法是:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。但测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。

  软件测试的种类很多,包括单元测试、集成测试、功能测试系统测试性能测试安全测试、安装/卸载测试等20多种,对不同的软件可进行测试过程进行适当的裁减。雁联公司主要从事金融支付类软件的开发,测试种类主要侧重于:单元测试、集成测试、系统测试。以下是自己对公司测试流程和测试管理上的一些心得和经验。

  单元测试(Unit Testing)是在编码阶段进行的测试工作,是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。单元测试内容包括模块内程序的逻辑、功能、参数传递、变量引用、出错处理、需求和设计中有具体的要求等方面,测试代码的编写及执行在一般情况下都是由程序的编码者完成,特殊情况也可由独立于编码者的测试人员进行。

  公司的单元测试工作流程:

  集成测试(Integration Testing)也叫组装测试、联合测试、子系统测试或部件测试,是单元测试的逻辑扩展。集成测试是按照概要设计要求,将所有模块组装成为子系统或系统后进行的测试,一般由开发人员来完成。目的是要找出模块接口和整体体系结构方面上的问题。在集成测试之前,单元测试必须已经完成。集成测试时通常采用增量式集成方法,程序一段一段地扩展,测试的范围一步一步地增大,错误易于定位和纠正,界面的测试亦可做到完全彻底。集成测试的实施方案有很多种,如自底向上集成测试、自顶向下集成测试、Big-Bang集成测试、三明治集成测试、核心集成测试、分层集成测试、基于使用的集成测试等。

  公司的集成测试工作流程:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号