虚拟化技术在软件测试中的使用:让测试更轻松

虚拟化技术具体工作原理可能我们不甚了解,但作为测试员,VMWare,Hyper-V,Citrix XEN这些工具我们一定不会陌生。这些虚拟化工具在软件测试中的使用,让我们做软件测试变得更容易。你会在哪些地方用到呢?下面将介绍我常用虚拟化工具在软件测试中的几方面:

1、方便建立测试基线

当我还是一个软件测试菜鸟时,前辈就一再强调:做软件测试一定要事前做好备份。因为采纳了这个忠告,让我在今后的测试工作中受益匪浅。

那么软件测试环境应该怎么备份,或者说怎么建立测试基线呢?难道我们需要通过系统备份工具来备份我们的系统?但这并不能完全备份测试环境。干脆打包备份整个测试环境所在的硬盘?Oh,My GOD!如果这样做了,那我能想象你向领导申请硬盘资源的情景有多美,而且这打包后还能还原回去吗?!

虚拟化测试虚拟化工具使这种要求变得非常容易。我们只需要使用工具(如VMWare)把测试环境虚拟化,或者让测试环境在虚拟工具上搭建的系统中部署,当我们要建立测试基线时,仅需要对当前环境建立快照,就能完美地把测试环境基线化。做测试基线有什么好处呢?可能有以下几点:

1)方便版本的回溯,如新版发布后发现了重大的bug,通过回滚到前面测试基线,即历史版本测试环境的快照,我们能轻松地确认这个bug是什么时候引起的。如果现在不能处理,我们需要把环境回滚到那个版本。

2)性能参数调优。每进行一次性能调优测试,可能会生成一大堆数据、文件、以及起用大堆的线程等。如中间件(Tomcat、Nginx)性能参数调优,一定要保证环境其他配置和状态都一致,只有当前调优的参数值不同。而在搭建好测试环境时建立一个快照,让我们在下次调优时能快速还原到上次调优前的测试环境状态。

3)让测试数据轻松地实现重复使用。我们在做测试之前,通常都会做一些测试数据。如购物交易,需要在测试前建立一系列对应测试用例的商品(如单价大于多少的商品,库存量为0的商品等)。那么在下次新版本测试时,我们想使用原来建好的测试数据该怎么办呢?常见的做法是,备份我们的数据库。当然,这也是个不错的主意。但是,如果能通过一键快照完成这项工作,那我可以考虑腾点时间放松下,喝杯咖啡了。

2、快速的部署测试环境

往往大的平台和应用,搭建测试环境是一件比较繁琐的事情。可能需要新搭建系统,配置系统参数,新建数据库,部署中间件(如nginx、tomcat等),导入数据,部署应用等。

然而,我们通过虚拟化工具把测试环境虚拟化,我们可能只需要在另一台机器上装下虚拟化工具,然后把虚拟化的测试环境文件拷贝过去就完成了新的测试环境部署。这是非常棒的体验,我们可以节约出大量的时间做更多有价值的事情。

以下这些情况这样做可能非常棒:

1)需要新部署一套环境,用于安全测或者做其他测试。

2)市场人员希望能马上能有一套独立的环境来熟悉软件功能时。

3、做更多极端的测试

如果做一些极端的测试,如破坏性的测试时,可能会对服务器造成难以修复的损坏,如:突然断电关机,通过漏洞使用木马、病毒等入侵应用服务器等。而如果我们的测试环境部署在虚拟化工具上,那我们可以畅快的尽情肆虐(好邪恶的感觉),从而找出更多的问题。哪怕我们的测试环境因此而遭到破坏,我们仅仅需要把它还原到上一个快照。

虚拟化技术在软件测试中应该还有更多更棒的使用,如果你忍不住想吐槽,那赶紧在下面评论或通过“51ste软件测试部落”邮箱一吐为快。



留言