Service Virtualization的测试案例分析

在软件开发中的主要挑战之一是确保所有软件组件一体化,在测试环境中可以实现终端到终端的测试。其中的一些组件,例如服务器、数据集、API等等,它们不一定都是可用的。它们可能正在维护中,或者一些其他的原因导致不可用。因此实现服务器虚拟化可以消除环境设置中的不利因素,使项目团队的开发进程更快、更好。

2015年关于服务器虚拟化的调查报告显示,有超过500人参与调查并回应称,在使用服务器虚拟化之前,因为这些因素的存在,项目团队平均需要等待32天。显而易见,这严重地影响了整个软件的开发周期。

本文通过一个商业案例,来描述如何实现服务器虚拟化,并说明它是如何消除这些不利因素,提高工作效率的。

服务器虚拟化

服务器虚拟化可以模拟软件组件的行为,以防止它们不可用或其他一些受限制的情况。这些组件模拟器,会尽可能满足测试需要的模拟软件组件的真实行为。例如,模拟原始软件组件的响应时间。目前,Parasoft公司可以很好的实现这样的过程。

案例研究

有一个测试团队需要负责测试一个订单管理应用程序(以下简称“订单管理”)。该应用程序处理包括订单、售后等等各种的业务流程。例如,当进行订单操作时,该程序需要提供请求数据,并将数据提供给相关的系统。

这个测试的瓶颈是后端系统,因为程序每创建一个新的订单都需要对后端系统进行手动配置。但后端系统在托管场外,每对一个新订单进行配置都可能需要一个星期的等待时间。其结果是,测试周期被大幅度拉长,也使终端到终端的自动化测试变得几乎不可能实现了。

实现服务器虚拟化

  • 服务器虚拟化消除测试中的限制条件
    实施服务器虚拟化第一步是创建一个模拟后端系统行为和反应的虚拟系统。本质上说,这个虚拟系统的反应行为和已经进行新订单配置的后端系统的反馈是同步的。收到虚拟后端系统的反馈信息后,应用程序就可以进行下一步的操作了。如此,少去了大部分的等待时间和人工干预的步骤,使得效率大大提升。

  • 利用数据驱动虚拟轻松管理测试数据,提高测试覆盖率
    接着,虚拟系统要为确定的订单和产品反馈可用的邮政编码和门牌号码。使用虚拟系统之前,测试人员只能依赖一小部分的测试数据,这意味着测试的数字组合数量很少。
    但现在,虚拟系统可以模拟出它们所有可能的组合。甚至可以模拟出生产环境中很少遇到的情况。这大大地提高了测试覆盖率,特别是一些临界条件的测试。

  • 服务虚拟化可以扩大自动化测试的范围
    通常,自动化测试的范围仅限于单元和低级别的集成测试。因此,自动化测试主要是受由开发人员完成。现在,虚拟系统不仅可以减少我们提供订单的时间,也可以实现终端到终端的自动化测试。
    当我们成功引进服务器虚拟化之后,原来需要手动配置的过程可以轻松的建立、执行,并通过代码进行测试。这大大减少了重复回归测试的时间。
    在测试后期,我们将自动化测试和服务器虚拟化结合起来,可以同时进行正流测试和负流测试。

  • 程序员的代码检查更容易
    从服务器虚拟化中获益的不仅仅只有测试人员。之前,程序员只能通过静态模拟的方式进行单元和集成测试。现在,他们可以使用虚拟系统提供的数据集进行更全面的测试,可以更早地发现软件开发中的缺陷。

你如果遇到了类似的问题,可以尝试这样的方法。总而言之,测试的发展最终会走向服务器虚拟化的道路。
原文转自慧都控件网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值