欢迎来到天天文库
浏览记录
ID:26531775
大小:55.00 KB
页数:7页
时间:2018-11-27
《浅谈软件测试的几个问题 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈软件测试的几个问题【论文关键词】:定义;因素;组织管理【论文摘要】:现今软件开发的规模越来越大,作为软件开发的重要环节,软件测试越来越受到人们的重视,软件测试的重要性更加突出。文章主要探讨软件测试中的影响因素和软件测试质量的提升与测试管理阶段采用的方法和人员的组织的几点认识。 一、软件测试的定义 软件测试(Softwaretesting)是软件生存期(Softwarelifecycle)中的一个重要阶段,是软件质量保证的关键步骤。通俗地讲,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。1983年IEEE提出的软件工程术语中给软件测
2、试下的定义是:"使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别"。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。 从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是"为了发现错误而执行程序的过程"。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。 二、影响软件测试的因素 影响测试效率的因素除了测试方法之外,主要因素还有人为因素、软件
3、类型、错误类型、测试充分度等。下面对这些因素作一个简要分析。 1.人为因素 软件测试中的许多工作是由人来完成的,因此,人为因素是影响测试效率的一个重要方面。这样的差异并非偶然,这是因为测试人员在应用一个测试方法时具有很大的灵活性,从而使测试人员的经验和学习能力可以有较大的发挥余地。所以只能采用越来越严格的测试方法和过程来有效地避免人为因素对测试效率的影响。 2.软件类型 软件类型也是影响测试效率的一个重要因素。即使是同一个测试者,测试不同类型的软件的效率和发现软件错误的能力也是不尽相同的。测试什么类型的软件的效率较高则因人而异,这往往与测试者的相关知识、经验与专业训练有关。
4、 3.测试充分度 测试充分度反映了一个测试是否得到了良好的执行,它直接关系到测试的效率。1993年Frankl和Weiss发现,只有当充分度十分接近100%时,才能使测试发现错误的能力得到发挥。因此,在测试软件时,必须设法使充分度十分接近100%,否则将难以保证测试质量。 三、加强对测试工作的组织和管理 随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。然而,为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的组织和管理就显得尤为重要。 从软件的生存周期看,测试往往指对程序的测试,这样做的优点是被测对象明确,测试
5、的可操作性相对较强。但是,由于测试的依据是规格说明书、设计文档和使用说明书,如果设计有错误,测试的质量就难以保证。即使测试后发现是设计的错误,这时,修改的代价是相当昂贵的。因此,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查。 虽然测试是在实现且经验证后进行的,实际上,测试的准备工作在分析和设计阶段就开始了。 1.测试的过程及组织 当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试。 在实现组将所开发的程序经验证
6、后,提交测试组,由测试负责人组织测试,测试一般可按下列方式组织: (1)首先,测试人员要仔细阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。 (2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试和验收测试。 (3)代码会审:代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。会审小组由组长,2~3名程序设计和测试人员及程序员组成。会审小组在充分阅读待审程序文本、控制流程图及有关要求、规范等文件基础上,召开代码会审会,程序员逐句
7、讲解程序的逻辑,并展开热烈的讨论甚至争议,以揭示错误的关键所在。实践表明,程序员在讲解过程中能发现许多自己原来没有发现的错误,而讨论和争议则进一步促使了问题的暴露。例如,对某个局部性小问题修改方法的讨论,可能发现与之有牵连的甚至能涉及到模块的功说明、模块间接口和系统总结构的大问题,导致对需求定义的重定义、重设计验证,大大改善了软件的质量。 (4)单元测试:单元测试集中在检查软件设计的最小单位-模块上,通过测
此文档下载收益归作者所有