您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟化技术在软件测试的应用(转)
虚拟化技术在软件测试的应用发布时间:2011-9-0211:03作者:Cheno(MSDNblogs)1)什么是虚拟化虚拟化技术很早就提出来了,但是真正走向市场是从2005年以后,那时候AMD和Intel公司都开始推出支持虚拟化技术的CPU。简单的说,虚拟机就像一个软件容器,可以安装操作系统和应用软件,像一台物理机一样运行,其有如下特点。●操作系统和软件无法辨别其主机是否是虚拟机。●多台虚拟机器像应用程序一样可以运行在主机上2)虚拟化技术的优势2.1)提高硬件的利用率根据调查数据,通常测试实验室的硬件的使用率是很低的,平均只有10%,通过虚拟化技术可以使利用率提高到80%。IDC的数据中心趋势调查,2007年2.2)低碳生活降低数据中心的成本(省电/空间),能源成本降低80%。大部分机器5-15%时间处于使用状态,而空闲状态耗电量为满负荷60%以上。2.3)高管理性通过虚拟化技术,计算机的管理(虚拟机)的管理变得更加简单,创建、修改一个计算机的操作可以瞬间内完成。这种高管理型有助于推动基础设施服务化(InfrastructureasService)的发展。目前,有很多云计算的基础设施都是大规模使用了虚拟技术。大家可能对SaaS都比较熟悉,这里我解释一下IaaS和PaaS。基础设施作为服务(IaaS):计算机资源通过服务的方式提供出来,包括处理能力,存储和网络能力等等。平台作为服务(PaaS):平台和工具能通过平台或API方式提供出来,提供更加高层次服务,例如数据库存储服务,J2EE服务,.NET平台等。3、虚拟化给软件测试带来的好处通过虚拟化技术,软件测试可以获得很多好处,以下就是一些例子;3.1)测试实验室(TestLab)的建立●空间●时间●电力如图所示的一个例子:168台式机,被12个服务器主机代替。省空间,省电,方便管理,大大降低了测试实验室建设的成本。大部分的测试环境对测试机器的性能要求都不是很高(性能测试除外),那么对于这种情况,虚拟机是非常适合的解决方案。虚拟机可以用于测试实验室(TestLab)的构建,支持自动化测试,也可以为远程的测试和开发人员提供机器服务。举例来说,一个网站的测试,需要10个手工测试人员进行,那么我们可以创建10个虚拟计算机,那么只需要1-2个主机就行了,并且支持远程工作,那么这些手工测试人员可以在家里进行工作。3.2)软件快速部署和连续集成虚拟机的管理是非常方便,这大大促进了快速部署(FastDeployment)和连续集成(ContinualIntegration)。举例来说,在连续集成的时候,往往需要大量机器,并且快速恢复到某个系统的初始状态。虚拟化技术的高管理性能够很好满足这些需求,同时成本比物理机器要低很多。3.3)测试用例失败后的调查在测试用例失败后,通过保存机器状态,可以方便问题的调查。如果使用物理机器,这些机器就需要被占用,一直到问题调查完毕。而且,调查的状态具有不可恢复性。如果使用虚拟化技术,计算机状态可以被保持到到文件;在需要调查问题时,随时可以把虚拟机文件恢复到虚拟机进行调查;同时机器的状态可以随时保存,随时恢复,这给一些不容易重现的问题提供了有利的调查方法。3.4)虚拟硬件的使用虚拟化不仅仅可以模拟软件,也可以模拟硬件,包括网卡,光驱,USB接口等等。特别是USB接口的虚拟化,使得在很多USB设备驱动的测试提供了便利。另外一个例子是虚拟光驱,Vista开发出来后,安装以前的方法要制作DVD光盘来进行最后的验证。按照传统的做法,需要180张DVD光盘,需要花2个星期。而使用虚拟化解决方案,制作ISO映像,只需要2天时间。4、虚拟化过程中一些好的实践4.1仔细设计网络拓扑结构对于一些对网络特别要求的实验室,需要仔细设计网络Top结构,特别是IP地址的数量4.2选购主机,注意扩展性主机的选购需要考虑内存的扩展能力,内存大小很容易成为增加虚拟机的一个瓶颈。当机器映像很多的时候,磁盘空间也容易出现紧张。网络速度也是需要考虑。4.3)仔细考虑一些特殊需求的测试a)USB/驱动b)3D效果c)能源管理d)性能测试结果的分析应该考虑到虚拟的使用的范围和局限性。4.4)自动保持闲置的虚拟机实验室中有长期不用的虚拟机,可以定时自动保存起来,需要时以后可以再恢复。这样可以提高系统的效率,降低能耗。保存和恢复机器都是需要时间的,其性能和网络的存储位置有很大关系。总结,虚拟化作为一个重要的技术,不仅仅可以节省成本,而且可以帮助我们保护蓝天,何乐而不为呢?注:本文转自网络,
本文标题:虚拟化技术在软件测试的应用(转)
链接地址:https://www.777doc.com/doc-2089163 .html