您的位置:首页 > 其它

软件测试中的版本控制

2020-02-02 22:02 106 查看

软件测试工作中为何要进行版本控制

软件测试的版本控制有两个方面的作用:一个方面是标记历史上产生的每个版本的版本号和测试状态,另一个方面是保证测试人员得到的测试版本是最新的版本。所谓版本控制其实就是跟踪标记测试过程中的软件版本,以方便对比的一个过程,通过版本控制来表明各个版本之间的关系,和不同的软件开发测试阶段。从而 方便测试工作的进行。版本控制是测试人员不可缺少的一种技术。有了软件测试的版本控制,测试人员在软件测试工作可以更加高效并且有针对性的进行。

软件测试版本控制其实是在软件测试中为了便于追溯和跟踪问题而出现的,对测试版本的控制实际上就是对软件测试过程中的各种测试行为的管理和控制。软件测试的版本控制,主要是指对于测试对象的版本控制,也就是指测试小组在软件测试过程中对开发部提交给测试部门的产品进行版本控制。如果开发小组不能够规范的管理软件版本,那么这时候测试小组对于产品进行版本控制就将显得十分重要,这时软件测试小组要保证测试对象的可控性被限制在我们可以控制的范围之内。对此,我们建议开发小组和测试小组要做到如下要求:两个小组不但分工明确,还要协商出一个明确的约定,指定专门的测试版本负责人来专门负责版本控制这一块, 让这个负责人去制定版本控制的提交原则,在软件研发过程中对提交的情况要进行详细的记录,通过这些措施,这样就能在基本上对因为版本失控可能造成的测试失 误或者无效加以避免。

举一个软件测试项目中版本控制的例子,一个公司的员工负责了一个软件测试项目,在项目开展初期,该项目的测试工作进行的还算顺利。但是在测试后期工作即将结束时,却出现了问题。而这个问题的出现正是由于版本控制不当,在这个软件测试项目中,他们将测试过程中发现的bug提交给开发人员,开发人员在对测试人员提交的bug进行修改,在对这些bug修改后开发人员会将修改后的代码放入当前的软件版本之中,问题正是出现在这个阶段。那么为什么问题会出现在这 个阶段呢?其实是因为对于修改过的代码,我们不能够保证他们一定是正确的,很可能在开发人员修改过之后,仍然是错误的,或者在修改过之后仍然会给软件带来 别的问题,这种情况下就会给软件测试人员的测试工作带来新的麻烦。这样就会造成一个很严重的后果,那就是测试人员对开发人员提交的新代码会很紧张,不能彻底放心,测试人员对新提交的新修正的代码还要在进行验证,进行排错,来确保不会因此而带来新的隐患,新的漏洞。在这个时候我们就应该思考怎样去解决这个问题了,这时我们就可以尝试一下软件测试的版本控制了。首先测试人员要测试开发人员提交的代码,将测试过程中查找到的bug进行提交。而当测试人员提交的bug到了开发人员手中之后,开发人员要针对这些bug进行修复工作,并且将修改后的代码放入程序中,作为新的软件版本。但是绝对不能将它再放回到现在正在进行的测试版本中。而测试人员在完成这一轮的测试工作后,在对新的版本也就是对经过开发人员修改过得下一个版本展新一轮的测试。而这就是软件测试过程中 的版本控制。

缺乏版本控制的危害

软件测试缺乏测试版本控制会带来很多危害:随着计算机软件技术的日趋成熟和日益复杂。现代的软件产品规模越来越大,结构越来越复杂。单纯的手工测试不再能够满足软件工程中的测试需要。一两个人完成一个项目的测试工作的时代不复存在,一个大型项目的测试工作,现在都是由很多测试人员参与并且有不同的分工,以团队合作流水线式的方式来开展工作的,他们在测试过程中是协同完成测试工作的。在进行测试的时候,同一个板块的测试会由很多人共同负责,他们将会分配到同样的任务。在这么多人完成同一板块的过程中,企业怎样去保证每个人的测试工作对软件产生的影响能够综合到一起产生好的作用。而不是因为人员的差异而对测试版本造成不一致性呢?运用软件测试中的版本控制就成为此时有效地解决途径,有效的版本控制能够很好的解决这些问题,并对软件的开发进行产生好的积极的影响。但是如果版本控制不当则会造成很多让人搞到棘手的问题。

(1)缺乏版本控制,将难以保证测试进度

大多数的测试人员都希望他们进行的测试工作是完美的,经过他们测试后的软件更是完美无缺的。这种想法是好的,但是一个软件在它的整个生命过程中是不可能完美到没有一点错误存在的,我们只能尽我们所能去不断地完善它。这时如果能够提供有效的版本控制就会极大地提高软件测试的工作效率。在测试中对测试版本进行版本控制时,我们起码要做到能够掌握软件过程中的每个版本。在每个版本中,我们能够找到哪些功能不过关,哪些功能没问题。对于新的测试版本不管在测试工作中的哪个时间段,都应该有一个可以用来比较的对象。并且能够与之前的版本进行对比。

(2)缺乏版本控制,难以保证测试的一致性

软件测试工作因为十分复杂并且有很多人员参与其中,在进行测试工作时,因为测试人员的分工不同,不同的测试人员要负责不同的测试模块。但是因为软件有其整体性,所以测试人员要互相协作,那么在测试过程中则必然会产生交叉。所以测试工作是一项十分复杂的工作,它是由很多人一起共同协作完成的。在整个测试中为了保证测试过程中的一致性我们必须要找到一个平衡点。而大量的实践证明如果进行有效的版本控制,将有效保证测试过程中的一致性,大大的降低因为缺乏版本控制或者流程管理可能带来的诸多问题。

(3)测试版本冗余,易出现误用风险

因为有众多测试员参与到软件测试过程中,而进行测试工作时每个人都必须使用一台机器,那么在每个人的机器上都要拷贝一个待测软件。随着测试工作的进行,在测试过程中会不断产生新的软件版本,为了测试需要,每个人的机器上都要不断更新软件版本,那么每个人的电脑上必然会保存不同时期的软件版本。而这些不同的测试版本随着时间的推移和测试工作的复杂很容易混杂在一起,造成测试人员无法分清每个版本之间的差异,甚至分不清对于当前版本应该做什么事情,从而给测试工作带来极大的困扰,出现版本的冗余。这时,如果缺乏有效的测试版本控制就会增大测试风险,给测试工作带来麻烦。

(4)容易导致本地版本和服务器版本不一致

因为测试版本的众多和混乱,测试小组在测试工作上不但要花费更多的时间和精力,还可能造成不必要的重复性测试和不必要性测试,当测试版本不及时更新时,会造成测试版本和现行版本的不一致,这些就是缺乏版本控制和管理的结果。因而加强测试过程中的版本控制是一项很重要的工作。

(5)缺乏测试文档可追溯性
版本控制在提供可追溯性的文件的同时还能够为各种测试版本提供文档管理支持。使我们能够很方便的随时查阅在软件测试过程中生成的各种文档。

测试版本控制方法及工具解析

测试版本控制的方法

有效的版本控制能够极大的方便软件测试工作,提高测试工作的效率,那么我们如何才能成功的进行版本控制呢?为此我们应该制定一套标准,制定相应的版本控制方法规划来规范化软件测试的版本控制。方法如下:
(1)在软件测试过程中制定规范的版本控制管理制度,明确整个测试中的测试需求,选择合适的版本控制切入点,把版本控制和测试里程碑结合到一起来实现阶段性成果,从而避免测试规划过程混乱的风险。

(2)通过制定合理版次规划和监控机制来进行版本控制,为了有效的管理测试项目所需的版本次数,应该对测试工作量进行合理的评估,以此来做出合理的版次规划。(3)我们不能忽略版本控制管理员在版本控制中的重要性,版本控制管理员在测试版本控制中的重要性是不 可估量的,离开了版本控制管理员和缺乏版本控制的情况是等效的。(4)我们还要做好版本控制的文档管理,对相关文档进行严格规范的管理,将测试过程中版本 控制产生的相关文档记录、标识是很重要的,有了这些能够很方便的跟踪和监控测试版本的执行。(5)选择合理的应用版本控制的软件工具,能够极大的提高测试 工作的效率,大大提高测试活动的优质性。

工欲善其事,必先利其器。介绍完了版本控制的方法和软件测试中版本控制的重要性,要想方便的进行测试工作就必须进行有效的版本控制,选择一款好的测试 工具这时就显得尤为重要。下面我就简单介绍一种版本控制工具,同时它也是一种配置管理的工具。那就是ClearCase。这是由RATIONAL公司开发 的一款配置管理工具。下面我来讲解下ClearCase的四种功能:(1)控制任何文件的版本(Version Control),它能够维护和控制软件版本,有效的管理版本内容。(2)在版本树中组织元件发展的过程(Workspace Management)。针对目录结构它可以定制一个版本树的结构,并且其中包含多层分支和子分支。(3)对目录和子目录进行版本控制(Build Management),比如:在其中建立一个新的文件夹,或者对文件名进行修改,又或者新建子目录或者在不同的目录间移动文件等。(4)明确项目设计的流程(Process Control)。比如:可以通过将不同的权限授权给全体人员来阻止某些修改的发生,立刻通知团队成员任何时刻某一事件的发生,对开发的进程建立一个永久 记录并不断维护它。

测试版本控制应用

我们以一个实际项目中的例子来介绍项目中的版本控制。在这个项目中,我们已经分好了测试小组及组内成员的分工,启动软件测试的条件已经具备,在开发人 员发布了测试版本后,有相应的文档支持比如自测报告、软件版本说明等等,然后启动测试工作,其中在对其版本进行测试的过程中,测试小组对项目进行版本控制 分以下几步:第一,制定规范的版本控制管理制度,测试小组要了解和明确整个测试的需求,选择合适的版本控制切入点,对于测试中产生的测试版本要进行严格控 制,还要规范化的控制测试过程中产生的不同时期的测试版本,通过把版本控制与测试里程碑的结合来实现阶段性成果,以规避测试过程混乱的风险。第二,应该制 定合理版次规划和监控机制,对测试项目所需的版次数量进行有效管理,并且对版次做出合理的规划。在整个测试项目的关键位置要设立检查点,要能根据版次规划 随时监控版本更新,及时发现问题,并对出现的异常现象做出快速反应,这样才能使得测试过程更加清晰和更有计划性。第三,测试小组要指定版本控制管理员。测 试版本控制作为一个贯穿整个测试周期的一项活动,测试版本控制会涉及到很多的人员角色,其中最为主要的人力资源就是测试版本控制管理员。在一个建立了良好 版本控制机制的测试团队中测试版本控制管理员是十分重要的。他负责掌控整个测试过程的测试版本,要负责记录和监控测试中不同测试阶段产生的测试版本。他的 地位是不可动摇的。有一个合格的测试版本控制管理员能够为版本控制工作带来极其良好的影响。最后是选择一款合适的版本控制工具,在进行版本控制的过程中测 试小组选择一款合适的测试版本控制软件是不可缺少的。常见的版本控制工具有CVS,SVN,Clearcase,其中CVS 是一款开放源代码软件,其功能强大、跨平台、支持并发版本控制而且免费,所以它在中小型软件企业中得到广泛使用。但是它最大的遗憾就是缺少相应的技术支 持,许多问题的解决需要自己寻找资料,甚至是研究源代码。而SVN是对CVS的缺点进行改进产生的版本控制工具,相比于CVS而言,SVN更为简单易用, 且SVN有其特定平台的客户端工具。如TortoiseSVN,是为windows外壳程序集成到windows资源管理器和文件管理系统的SVN客户 端,使用相当方便。最后一种版本控制工具Clearcase是Rational公司一款重量级的软件配置管理工具。与CVS和SVN不同的 是,Clearcase涵盖的范围包括版本控制、建立管理、工作空间管理和过程控制。Clearcase贯穿于整个软件生命周期,支持现有的绝大多数操作 系统,但它的安装、配置、使用相对较复杂,需要进行团队培训。选择一款合适的版本控制工具不但能够提高测试工作效率,而且也会大大提高测试活动的优质性。

小结

本文从对软件测试概念的讲解,软件测试工作的重要性讲解开始,又通过国内外软件企业软件测试的现状为切入点,对软件测试过程中必须要进行软件测试配置 管理进行了讲解和叙述。详细介绍了软件测试配置管理的必要性和不可或缺性,并且详细叙述了配置管理的概念,过程和方法,以此来保证软件产品质量。又通过对 软件测试过程中的版本控制进行讲解,叙述了版本控制在软件测试中的重要性。同时对版本控制的概念,意义还有方式方法进行了论述。讲述了版本控制在软件测试 以及整个软件过程中的重要性。本文从软件测试的配置管理和版本控制两个方面,讲述了如何有效的进行软件测试工作来保证软件的质量

  • 点赞
  • 收藏
  • 分享
  • 文章举报
夭夭。 发布了5 篇原创文章 · 获赞 0 · 访问量 81 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐