Hyper-V:开发测试人员的最佳拍档

云计算 虚拟化
如何提高开发团队的开发效率是任何一个软件企业都需要面对的一个极为重要的课题,而构筑足够复杂、全面的测试环境,则是软件产品质量的重要保证。

新环境下的新开发难题

在目前我们这个信息化充斥各个角落的时代,每时每刻我们都在接触着各类的应用软件和硬件,因此遇到软件中的一些问题或Bug也就在所难免了。这个时候我们可能会抱怨着开发人员、测试人员的不尽责,但从软件开发的角度来看,IT的高速发展与多元化,直接导致软件开发团队的开发环境、测试环境越来越复杂:异构的以Build号相区分的操作系统、各类的网络浏览器和客户端、三天两头更新的硬件和驱动程序,开发成本和效率问题日具挑战性。如何提高开发团队的开发效率是任何一个软件企业都需要面对的一个极为重要的课题,而构筑足够复杂、全面的测试环境,则是软件产品质量的重要保证。

受成本和空间的限制,测试环境的硬件是不可能无限扩张的,但各类软硬环境的组合却是测试所必须的。IT虚拟化解决方案的出现,很好的帮助开发团队解决了应对复杂开发环境和测试环境的难题。

即点即得的虚拟测试矩阵

从开发团队的角度讲,一个能够分离出来的稳定的开发环境是任何开发人员都希望拥有的,对于以往的开发环境来说,辛苦花费几个小时搭建起来的测试环境,往往只能用几次就需要重新配置。要查找软件错误时,为了重现某个软件错误,比如某个导致系统崩溃的错误,开发人员就得回过头去,找出系统崩溃的那个地方。这常常就需要花上一两天时间来建立环境,然后一遍一遍的尝试进行问题的重现。在此期间,搭建测试环境的过程,会浪费测试人员很多的时间,从而导致了工作效率的降低。

开发人员的本职工作是做应用开发,我们一直希望让开发人员可以花更多时间用在有挑战性的工作上,而不是用在准备测试环境那些单调而极其耗费时间的方面上。Hyper-V的“克隆”技术,让开发人员无需重复的部署环境,只需要有一个已经存在的、安全的、稳定的虚拟机上轻轻用鼠标一点,几分钟之内一个一模一样的虚拟机就出现在我们眼前。原本需要几个小时的工作,被压缩了几倍甚至十几倍,开发人员的宝贵时间在这里被充分保护起来,可以花更多的时间关注在开发本身。从另外一个方面来说,每个现存的虚拟机都是开发人员自己配置好的,符合开发人员自身的习惯,每次“克隆”之后,呈现在开发人员面前的是他自己习惯的界面、环境,无需花时间去配置。


 
一个庞大的、覆盖尽可能多可能性的测试环境,也是测试人员所需要的。在开发人员完成开发之后,测试团队就会讨论测试矩阵,随之而来的就需要搭建大批量的测试环境。数据表明,使用虚拟机镜像是维持一系列测试环境的最快速、最省钱、最灵活的一种方法。不同于上面提到的“克隆”技术,Hyper-V模板技术更有利于实施这种用于测试试验环境的快速环境部署工作。

利用Hyper-V模板技术,运维人员针对各种操作系统与各种应用系统的组合,制作出不同的模板,并准备好后台的服务器资源。任何开发人员和测试人员,只需有开发和测试方面的需求,只要调用不同的模板,就可以创建各种环境直接使用,无需考虑硬件资源,使用完毕之还可以快速释放这些资源,以备其它团队成员重复使用。从Windows XP到windows 7,从Windows Server 2003 到Windows Server 2008 R2,从Linux和其他操作系统,从32位到64位系统,从数据库到Web Service,几乎所有的主流IT环境都能够被做成模板,并且预安装好所需要的软件,这一切都让开发和测试团队的工作效率大大的提高,在相同时间里面工作的质量有了一个质的飞跃。

能够同时测试许多不同场景、确保有一致的用户体验,这是虚拟化的一大优势。另一个优势则是可以做到对客户需求的快速响应。如果用户有抱怨,某个特定的版本和在某个浏览器下无法正常运行,我们再没有必要说“哦,我们没有在这个版本的浏览器下运行过,我们没有这个系统”等,现在我们可以说“稍等片刻,我发现问题了,马上解决。”使用微软的虚拟化技术测试平台上的软件以及我们支持的应用程序,如果客户出现了问题需要支持,我们可以快速的重现客户的环境,从而做到及时的响应,提升客户的满意度。

微软的虚拟化解决方案让我们可以迅速构建及拆掉测试环境,而且只要使用数量极少的物理硬件就可以做到,大大提高了所开发产品的质量和可靠性。

Hyper-V对开发环境IDE的***支持

除了开发软件应用,开发团队的另一项重要工作就是评估新的开发工具,特别是对于异构环境下的开发团队尤其如此。通常,这些工具是现有 IDE 的插件或是必须经过配置才能适合现有环境的独立产品。经验告诉我们,最初不能在开发人员的生产编程环境中对这些工具进行评估,因为它们常常会造成现有工具工作中断。大多数开发人员都有过这样的经历:安装一个插件,准备稍后把它删除,但很快就发现平台或 IDE 已被改变且几乎无法撤销,而每个新的开发工具都必须经过严格的测试才能被允许应用到真实的开发环境当中,这让开发团队绞尽脑汁。Hyper-V的“检查点”技术可以很好的解决这一问题,利用“检查点”技术,我们可以制定一个完整的回滚计划,在虚拟机里面对新的开发工具进行一系列测试,针对每次测试我们都可以设置一个检查点,一直到***测试完成我们可以设置多个检查点,在出现问题的时候可以回退到任何一个检查点去排查问题。因为开发人员在一天内很容易导致系统崩溃几次,趁开发人员对问题很清楚的时候,能够迅速恢复,然后重新运行调试过程,这大有帮助。如果你在调试一个复杂的软件错误,能让系统保持在这种状态下再好不过了。

在VSTS 2010中,微软增加了虚拟化技术的客户端机制Test and Lab Manager,可以让企业开发人员在开发工具中,直接管理在虚拟机器中的开发环境,包括网站服务器、数据库服务器或本地端测试服务器等。在新版开发工具中,增加了虚拟化技术的客户端机制Test and Lab Manager,可以让企业开发人员在开发工具中直接管理在虚拟机器中的开发环境,包括网站服务器、数据库服务器或本地端测试服务器等。


VSTS 2010可以透过Team Foundation Server上的System Center Virtual Machine Manager (SCVMM)来提供虚拟机器的管理服务,让开发人员在开发工具中能建立和管理虚拟机器的环境,并且可以定义不同虚拟环境所对应的测试设定,让测试人员直接在开发工具中,测试应用程序在不同环境下的执行情形。

软件的开发质量在很大程度上取决于有效的测试和Bug反馈及修补机制,借助虚拟化技术,测试和开发人员可以从现有模板快速交付不同的配置环境,对应用程序进行全面的测试,从而全面提高软件的开发效率和质量。在现实社会中,也只有虚拟化技术才能***的提供如此需求了。
 

【编辑推荐】

  1. 专家博客:通过微软Hyper-V进行灾难恢复规划 
  2. Windows Server 2008 Hyper-V的安全性从何而来?
  3. Win2008完全安装版本下Hyper-V安装(多图)

 

责任编辑:王勇 来源: 51CTO.com
相关推荐

2014-04-24 10:53:01

Hyper-VHyper-V Ser

2012-10-17 11:23:50

Hyper-VReplica中小型企业

2014-06-24 10:41:46

2013-06-27 09:52:01

Hyper-V在线存储

2010-12-29 10:55:51

Hyper-V

2011-01-25 10:17:24

微软Hyper-V c

2011-12-30 08:38:06

虚拟化hyper-V桌面虚拟化

2012-09-18 13:52:24

Hyper-V运维Windows Ser

2009-10-30 09:59:09

Hyper-V应用技巧

2011-03-28 09:45:17

Hyper-V

2012-03-14 15:48:58

Windows Ser概述

2014-04-24 11:02:12

Hyper-V虚拟化主机

2013-10-14 17:58:51

SUSEMicrosoft H

2012-09-12 10:35:51

Hyper-V

2009-07-22 18:44:17

Hyper-V快照备份

2010-06-03 16:28:24

Hyper-V

2012-06-29 16:52:21

微软OpenStackHyper-V

2013-08-08 10:01:44

环境管理Hyper-V

2013-07-05 11:26:16

Hyper-V环境管理工具

2011-08-24 09:27:16

Windows 8
点赞
收藏

51CTO技术栈公众号