您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 软件测试过程中的测试配置管理与版本控制
1软件测试过程中的测试配置管理与版本控制摘要:随着计算机软件技术的发展,各种计算机软件种类繁多,功能各异,加上计算机软件规约的约束和发展,软件的规范性变得更加重要。为了开发合格的软件,在软件开发过程中,离不开软件测试。为了更好的完成软件测试工作,在软件测试过程中进行配置管理和版本控制尤为重要。本文首先介绍了软件测试过程中的配置管理概念和版本控制概念,然后对软件测试过程中的配置管理和版本控制做出了详细分析,论述了配置管理的流程、方法意义。接着介绍了版本控制的评价标准,软件测试过程中版本控制方法的应用及几种版本控制软件,最后阐述了在软件测试过程中的版本控制的作用,以及怎样有效的在软件测试过程中进行软件测试版本控制。关键词:软件测试配置管理版本控制作用意义21软件测试的基本概念在现代社会,随着计算机时代的到来,计算机的应用已扩大深入到社会生活的方方面面,而随着计算机技术和计算机软件的不断发展,软件的规模日趋大型化和复杂化,致使软件开发中的软件测试工作变得越来越繁杂,工作量越来越大。为了更好的对软件测试进行控制和管理,节约时间、人员、成本等,软件测试中的配置管理和版本控制随之产生。对软件测试中的资源如何调配,人员如何配置管理和控制成为我们更加关心的问题。对此,为了理解软件测试中的配置管理和版本控制,我们先了解软件测试的概念和意义。当我们清楚的认识到为软件测试的作用和意义,我们才能更加清楚的认识到软件测试过程中的配置管理和版本控制的重要性。1.1软件测试的概念软件测试作为软件开发过程中的重要组成部分,是用来确认一个程序的品质或者性能是否达到开发之前所提出的一些要求。换句话讲,软件测试就是为了发现程序中的错误而不得不进行并且不可避免必须要执行的过程。从一个软件的立项之初,软件测试工作就将开始,并且将会贯穿整个软件开发过程。首先了解下测试人员的任务:寻找bug,避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求。通过了解测试人员在测试过程中的任务,我们就会对软件测试产生一个大概的了解。进行软件测试工作的最终目的是什么呢?目的其实只有一个就是要确保软件的质量。满足用户的需要,使用户对软件质量产生足够的信心。1.2软件测试的分类软件测试是一项复杂而又细致的工作,作为计算机科学的一门学科,它自有其独到的作用和规则。软件测试从产生一直发展到如今,已经拥有了很完善的软件测试理论体系和知识概念体系。如今,软件测试大致分为功能性测试和性能测试,其中又包括手工测试和自动化测试。随着软件测试工作的日益繁杂和工作量的加大,手工测试不再能够满足测试需求,因而自动化测试越加显得重要。我们之所以做这么多工作,都是为了检验程序是否满足规格需求说明书,能否满足用户需求,或者预期结果与实际结果之间的差别。通过了解软件测试的分类,我们3知道软件测试在软件生命过程中的重要性和不可或缺性。1.3软件测试的国内外现状为了了解软件测试在国内外的现状,我们经过深入调查了解到,随着软件开发的日趋成熟,国内外的软件企业逐步认识到软件测试在软件开发过程中的重要性。软件测试受到国内外软件企业越来越多的重视,纷纷不约而同的加大了对软件测试的投入。我们先看两组数据,2007年中国软件企业对软件测试的投入为:1%一下:24%;1%-5%:34%;5%-10%:22%;10%-30%:16%;30%以上:4%。我们再从微软的项目人员比例上看:Windows200Team:程序经理450,开发人员900,测试人员1800,技术支持人员600,技术传播人员1120,本地化人员110,培训人员115,文档人员100,市场人员100,内部IT50,合计5345。仔细分析对比这两组数据,从中我们可以看出,国内外软件企业对软件测试的重视程度,他们不惜将大量的资金,人力物力投入其中。国内外的软件企业之所以如此重视软件测试,原因只有一个那就是软件测试已成为软件开发过程中不可或缺的一部分。假如软件开发过程中离开了软件测试,我们可以想象后果将会有多么的严重。首先我们无法保证软件的质量,也无法保证软件是否满足用户的需求,也无法保证我们程序的可用性。在软件开发中如果不进行软件测试,很可能使我们的程序成为镜中花水中月,不可实现。唯有充分了解软件测试在软件开发过程中的重要性,我们才能更加重视软件测试工作。了解了软件测试在软件开发过程中的作用和意义,以及国内外对软件测试的重视程度和资源投入对比,为了保证软件质量,使我们的软件更加符合用户需求,我们应当思考如何更好地进行软件测试,在软件企业投入了足够的人力物力等资源之后,怎样利用这些资源来更好的进行软件测试工作自然成为了我们应该思考的问题。2软件测试的测试配置管理2.1进行测试配置管理的必要性在拥有了足够的资源和人力之后,我们能否认为软件测试工作可以很好的进行并且能够保证软件测试过程不会出现问题呢?也许我们认为只要需要的测试4条件满足了,我们就可以圆满的完成测试工作了,其实这样的观点是错误的。软件测试工作是由人来进行的,因而首先要考虑到人的问题,一项工作只要有人的参与,就必须要将人的因素考虑进去。人无完人,金无足赤,测试人员对软件测试工作造成的负面影响在软件测试中是不能够忽略的。软件是由人来编写实施的,但是软件开发又是一个极其容易产生错误的复杂过程,因其产生就注定了它不会是一个简单的过程。尽管程序员和软件工程师等为了完善软件而做出了巨大的努力和工作,但是软件错误仍然是不可避免的。世上不存在百分百完美的软件,因此软件过程中的软件错误是不可避免的,这是他自身的一种特性。我们所能做的就是尽量减少软件中的错误,争取做到使这些错误可以忽略不计,或者尽量不影响我们的正常使用。给定了足够的资源之后,我们再进行软件测试工作,这时仍然不能认为没有问题了,还需要在软件测试时进行配置管理。在软件测试中缺少了测试的配置管理我们是做不好测试工作的。我们进行软件测试就是为了以最少的时间,最少的人力物力去尽可能多的发现软件中潜藏着的各种错误和缺陷。但是伴随着软件测试工作量的加大,软件企业仅仅投入更多的人力物力以及其他各种资源是不够的,他们还需要思考除此之外怎样才能更好的进行软件测试。为了更好的进行软件测试,我们应该对测试人员、测试环境、生产环境进行配置管理。只有建立了完整的合理的软件测试配置管理体系,软件测试工作才能更好的进行,更加完美的完成测试目标。如果在软件测试过程中缺少了测试配置管理将会造成及其严重的后果。据我们实际调查了解到,在日常的软件研发工作中,很多软件企业都会或多或少的在软件测试时遇到很多的问题,而这些问题的产生都是因为在测试过程中缺乏配置管理流程和工具。因为人员具有频繁的流动性,并且在组织的过程中会产生知识和财富的流失,再加上现代社会的激烈竞争,如果一个企业没有设计配置管理流程和使用必要的配置管理工具,就可能会因此而造成无可估量的损失,甚至导致整个软件项目的崩溃。因而作为一个软件企业,必须要做到及时了解项目的进展状况,对项目进行管理,遇到突发状况的解决。软件工程思想发展到现在,认为在软件过程中如果能够越早的发现缺陷和风险,这时只要采取相应的措施,所要付出的代价就越小。缺乏配置管理流程的一个很明显之处就是测试过程中缺乏并发执行的手段,没有了配置管理的支持,软件过程中的并发执行将会变得十分的5困难。这时往往会造成修改过的bug重复出现,又或者几个人员进行相同的测试工作和进程,从而产生不必要的浪费。如果企业不能很清晰很流畅的对整个软件测试过程进行管理,就会造成测试工作的不同步,不一致。在测试工作中需要测试人员完成的没有完成,而暂时不需要或者以后在完成的却首先完成了,这样会增加测试工作的复杂性和难度,因此我们需要在软件测试中进行配置管理。2.2测试配置管理的方法和内容既然测试配置管理在软件测试中如此重要,企业该如何进行测试配置管理呢。我们首先简单谈谈软件测试的测试配置管理体系。它一般由两种方法构成:那就是应用过程方法和系统方法。意思就是在测试过程中,我们应该把测试管理这块单独作为一个系统去对待。识别并且管理组成这个系统的每个过程,从而实现在测试工作开始之初设定的目标。在上面的基础之上,我们还要做到使这些过程在测试工作中能够协同作用,互相促进,最终使他们的总体作用更大。在软件测试配置管理中的主要目标是在设定的条件限制下,企业应当尽最大的努力去发现和排除软件缺陷。测试配置管理其实是包含在软件配置管理中的,是软件配置管理的子集。测试配置管理作用于软件测试的各个阶段,贯穿于整个测试过程之中。它的管理对象包括以下内容:测试方案,测试计划或者测试用例,测试工具,测试版本,测试环境以及测试结果等。这些就构成了软件测试配置管理的全部内容。2.2.1测试配置管理的目标和阶段现在我们了解软件测试配置管理的目标:第一步是在测试过程中控制和审计测试活动的变更,第二步是在测试过程中随着测试项目的里程碑,同步建立相应的基线;第三步是在测试过程中记录并且跟踪,测试活动过程中的变更请求;第四步是在测试过程中针对相应的软件测试活动或者产品,测试人员应将他们标识为被标识和控制并且是可用的。软件测试配置管理的阶段:第一阶段为需求阶段:我们要进行客户需求调研和软件需求分析;第二阶段为设计阶段:在这个阶段我们要进行概要设计和详细设计工作;第三阶段为编码阶段:这时我们主要进行的工作是编码;第四个阶段是测试和试运行阶段:在这个阶段我们要进行:单元测试,用户手册编写,集成测试,系统测试,安装培训,试运行和安装运行这些工作;第五阶段也就是最后一个阶段是正式运行及维护阶段:这是要做的是对产品进行发布和不断的维护。6图2.1配置管理阶段示意图在软件测试的过程中会产生很多东西,比如测试的相关文档和测试各阶段的工作成果,这些包括测试计划文档,测试用例,还有自动化测试执行脚本和测试缺陷数据等。为了以后可能的查阅和修改,我们应该将这些工作成果和文档保存起来。2.2.2测试配置管理的过程管理了解了软件测试过程中配置管理的目标和阶段,接下来就应该进行软件测试配置过程管理了。他的配置管理过程包括:(1)建立配置变更控制委员会:配置控制委员会(CCB)应该要做到对项目的每个方面都有所了解,并且CCB这个团体不应该由选举产生,它的人员构成包括主席和顾问,在软件研发中每一个项目组都必须建立CCB作为变更权威。(2)SCM库的建立和使用:我们要求在每一个项目过程中都要维护一个软件配置管理库。在项目中通过使用配置管理工具,简称(VSS),企业通过该工具在配置管理服务器之上,建立和使用软件配置管理库。这些操作有助于在技术和管理这两个方面对所有的配置项进行控制,并且对他们的发布和有效性也能起到控制作用。同时还有很重要的一点就是我们应该对SCM库进行备份。这样做的目的是为了在产生意外或者风险时,能够作为保存灾难恢复备份的副本。(3)配置状态报告:配置状态报告是软件测试配置管理过程中的一项重要7的活动,在软件测试配置管理过程中,配置人员要管理和控制所有提交的产品,然后在有产品提交或者变更为完成时,配置人员要经过相应的质量检查,这就是配置人员应该进行的工作。而在这之后,配置人员不但要将批准通过的配置项放入基线库中。并且还要记录配置项及其状态,编写配置状态说明和报告。通过配置人员的这些工作来确保所有应该了解情况的组或者个人能够及时的知道相关的信息。(4)评审、审计和发布过程:为了保持SCM库中内容的完整性和质量,我们应该采取适当的质量保证活动来应对SCM库中各项的变化。以此来确保在基线发布之前能够执行审计活动,该活动包括这几点:基线审计,基线发布和产品构造。软件测试过程中的配置管理就是由这些构成的。该过程不但提供给了我们良好的理论知识和清醒的认知,还让我们清楚的了解到软件测试过程中应该进行的工作有哪些。要想研发出好的软件需要进行好的软件测试。而要想进行好的软件测试,就需要我们掌握软件测试过程中的配置管理,并且了解该怎么样去运用它。只有对其有了深入的了解之后我们才能更好的进行软件测试工作,运用科学而且标准的测试配置管理知识为软件质量提供保障。2.2.3测试配置管理的主要
本文标题:软件测试过程中的测试配置管理与版本控制
链接地址:https://www.777doc.com/doc-5021586 .html