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