WavebreakmediaMicro - Fotolia
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.
Test your virtualization knowledge
The basics of automated software testing
Dig Deeper on Topics Archive
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading