Information Week recently took a hard look at the gold rush in the so-called Internet of Things, meaning the placement of sensors and actuators on living things and inanimate objects, allowing communication with other machines and people alike.
This can manifest itself in ways current and forthcoming, from chips implanted in pets that disclose their owners’ names to self-driving cars that swerve to avoid wrecks with other “smart” vehicles.
For the end user, this might signal a new age in being connected to the Internet. But for software developers, it means complexity of mind-boggling proportions in ensuring that each set of code in the Internet of Tomorrow not only talks to every other set of code it may encounter, but plays nice with it as well.
It won’t be enough for the fridge to get an alert from the milk that it’s about to spoil. It will be vital that your vehicle not only avoids playing bumper cars with every other automobile, but that it also talks to your cell phone while ignoring the wireless devices that pedestrians and other motorists are using.
And if you’re developing apps, how in the world do you test for compatibility with, well, everything? The only way it’s going to be possible is by virtualizing all those dependencies. Service Virtualization can help.
Simulation is the Only Answer
In this context, Service Virtualization – apart from the very different server virtualization – provides the ability to test how different applications or other chunks of code function, both separately and together, in making a broader real-world system function – but in a simulated environment.
Think of a bank that wants to upgrade a smartphone app that its customers use. Rather than risking a test on real smartphones and having bugs potentially cause cascading problems in its system, the bank might use Service Virtualization to ensure not only that the upgraded app works as advertised, but that it plays well with, say, the institution’s accounting and financial reporting systems.
Using Service Virtualization to test software will become increasingly necessary as the Internet of Tomorrow takes hold. Everything from your refrigerator to your car will communicate with a host of other devices and technologies, and even small blips in code will have the ability to cause issues far down the technological line.
In a world where seemingly every “smart” device can exchange data with other smart devices, it won’t be practical or cost effective to check out manually how each piece of code works alone and in conjunction with other software. Instead, Service Virtualization will help handle the testing chores. It’s faster, easier and cheaper than testing in the real world.
How are you testing the applications and other software you use? Are you ready for the complexity of systems that is just around the corner?