视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
软件测试流程简介
2025-10-04 22:10:10 责编:小OO
文档
软件测试流程简介

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

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

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

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

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

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

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

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

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

    系统测试(System Testing)是通过与系统的需求规格作比较,发现软件与系统需求规格不相符合或与之矛盾的地方。它将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合起来,在实际运行环境下,对计算机系统进行的测试。

系统测试需求所确定的测试内容,主要来源于需求工作集,通常是需求规格说明书。在需求规格说明书中每一个功能描述将派生一个或多个测试需求,如功能性测试需求、性能测试需求、安全性测试需求、安装测试需求等。一般情况下,功能测试、安装测试是必需的,其它的测试则根据软件项目的具体要求进行裁剪。

现在以功能测试为例,简单列举公司的测试工作流程:

    三千一百科技发展有限公司的软件测试是按照CMMI3标准和公司软件开发管理规范的要求来严格实施和执行。公司每个软件产品都必须通过质量管理部的严格测试。测试是否通过作为项目最终产品发布的唯一标准严格执行。随着公司CMMI4过程改进的实施,公司的测试流程将不断丰富和完善。测试的过程改进将依据公司历史项目缺陷数据建立一套可预测的数据模型,通过量化的分析过程对测试进行管理。我相信随着数据的积累,公司不久将建立一整套全面的适合自己使用的软件开发过程和软件测试过程。下载本文

显示全文
专题