WavebreakmediaMicro - Fotolia

How can a virtualized network help with app testing?

Software testing on a virtualized network makes it easy to reproduce real problems. Expert Gerie Owen explains how to get the most out of the process.

Network virtualization is the ability to recreate some or all of the characteristics of a network in software. A virtualized network is used to connect the various application tiers, as well as outside services and application users. Think of network virtualization as a way to have most or all network services and behavior without plugging into the production network.

Testers can benefit from network virtualization because it provides for a more realistic way of testing an application. Rather than stub out network access points and simply return expected data, a virtualized network behaves like the real one, with similar policies, latencies and congestion.

With a virtualized network, testers have a fuller range of testing possibilities, including introducing delays, and bad or dropped packets, into the testing regimen. The advantage is that these are things that happen in real production environments, and knowing how the application responds before it gets to that point makes it less likely to fail in production.

Several commercial network virtualization products are available, from Ciena, Citrix and others, as well as a few open source projects. Some virtualize only the network protocol stack, while others virtualize everything but the physical wire, including routers and other network equipment. When choosing a product, look at how the features offered will map to application testing for multi-tier Web applications or similar network-dependent applications.

Network virtualization is related to the larger category of service virtualization, which virtualizes Web services and other application components that aren't exclusive to the application under development.  Because many applications use third-party components for activities like video streaming, image delivery, special effects and real-time data, service virtualization is almost a necessity for ongoing testing before production. All of these approaches enable testers to develop and execute more realistic testing scenarios and deliver better tested software to production.

Next Steps

Test your virtualization knowledge

The basics of automated software testing

Dig Deeper on Topics Archive