WEB开发网
开发学院服务器虚拟化 虚拟化技术在软件测试中之利弊解析 阅读

虚拟化技术在软件测试中之利弊解析

 2009-03-06 16:57:19 来源:WEB开发网   
核心提示: MarkMail用的是OpenVz,那样开发人员沙盒中的镜像与部署环境的完全一样,虚拟化技术在软件测试中之利弊解析(5),Mitchell说:"有了虚拟化技术,测试不同的环境和版本等方面就非常容易;我们总是可以拆掉一个实例,虚拟化技术让他们可以花更多的时间用在编码、测试和调试上,

MarkMail用的是OpenVz,那样开发人员沙盒中的镜像与部署环境的完全一样。Mitchell说:"有了虚拟化技术,测试不同的环境和版本等方面就非常容易;我们总是可以拆掉一个实例,然后从干净的检查点重新创建一个实例。"据Mitchell声称,使用虚拟化技术可以减少所要购买、租用及管理的硬件数量。"总的来说,我们使用的虚拟实例与硬件节点之比大约是3:1。"

虚拟化的局限

开发人员承认,开发过程中有许多方面是虚拟化技术无能为力的。

3X公司的Floehr强调:"虚拟化无能为力的一个方面就是对我们的产品(基于网络的备份设备)进行压力测试(stress testing)。尽管我们可以在虚拟化环境同时测试10个客户机,但那不是真正的压力测试,因为10个客户机只使用4个物理CPU和两块网卡来测试;如果在实际环境有10个物理客户机,这些约束条件就不会存在。"

MarkMail的Mitchell补充说:"虚拟化确实会增加一些复杂性。它总是会增加一些延迟。但是更糟的是,如果改变底层的执行环境――比如从开发环境到测试环境再到生产环境,就无法依赖虚拟机清楚地了解性能方面的特点。"

最后,Mirtchell强调"当前一代的桌面虚拟化产品仍有太多令人头疼的问题、缺陷以及缺失的功能,"至少开发人员在用于软件开发方面就遇到了这种情况。

微软的Mark Friedman说:"如果进行负载测试或规模扩展,就得运行在原始硬件和物理机器上。除非你准备部署在虚拟机上,否则性能方面的特点完全不一样。性能测量方面的情况也是这样。"Friedman强调,但随着时间的推移,这个问题有望得到解决。

Friedman表示,另外,虚拟化行业采用的半虚拟化方法改变了操作系统的一些底层方面,尤其是操作系统的驱动程序。"所以,如果你依赖特定的驱动程序或硬件环境,那就会受到影响。比方说,有一个虚拟网卡,有一个特定的驱动程序。该驱动程序'可识别虚拟化技术'。你就得明白,如果你需要针对一组本地驱动程序进行测试,在虚拟机里看不到驱动程序。所以,这影响了从事驱动程序开发的人员,但对Web开发人员没有影响。"

Friedman还指出:"如果你有一个多层应用程序需要几台机器,把这些机器整合成共享硬件意味着'你可以进行的是功能测试,而不是性能测试。'"

尽管有这样那样的问题,虚拟化技术已经为开发人员带来了切实的好处。微软的Friedman说:"一旦我们的开发人员学会使用虚拟化技术,这项技术就能提高他们的工作效率。虚拟化技术让他们可以花更多的时间用在编码、测试和调试上。它消除了用在构建及准备环境方面的大量时间和延迟,我们并不希望他们把大部分时间用在这方面上。"

上一页  1 2 3 4 5 

Tags:虚拟化 技术 软件测试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接