Three reasons why service virtualization is IoT’s missing link
The benefits of testing with software
The IoT market is exploding, spawning all kinds of new connected devices. While the possibilities are endless, they may not come to fruition without key advances in software testing. Simply put, IoT device testing needs to be easier, faster and more cost effective than it is today. Service virtualization is a key element in this equation.
My career in service virtualization started a long ago. I was on the iTKO team that brought the first service virtualization product to market (now known as CA Service Virtualization). It was a tremendous experience. From it, I took away three main points that apply to the topic of device virtualization:
You can control software better than you can hardware.
With hardware, there are safety and cost considerations. You might not be able to replace what you break, and if you break something you may run out of equipment. You don’t have to worry about breaking software – it is much more versatile. Nor do you have to deal with heterogeneous IoT devices, platforms and setup costs.
Do you have a product that you want to make sure can do x, y, and z but not Q? Capture the interactions of x, y, and z and write a negative test case for Q. Done.
You don’t have to connect anything or run any wires.
Even in a traditional software environment, testing against 300,000 servers is prohibitively expensive. With software as a service or device, you pay for the basic license. You aren’t paying for people to build it. You don’t have to heat it, cool it, store it, or run cables to it. Any kind of testing at scale must be done with software!
It’s great to have a cheap and easy way to make sure that your code works against whatever you want to put it on. With machine learning, you can learn the transactions of a couple of devices and scale it up to as many as necessary. By creating adaptive virtual devices (learn more on this in our whitepaper), you’re provided quality data to test against – mimicking thousands of real devices without having to build, purchase, maintain, or store thousands of IoT devices.
Adaptive virtual devices can be hardware and protocol agnostic. It doesn’t really matter what interactions you want to observe or where you want to observe them. The software doesn’t care.At the end of the day it’s all network transactions.
Because we interact at the protocol layer, if the protocol of your device is useful to you, we can help you model it effectively without having to rely entirely on field testing or randomly generated data sets. Machine learning can serve as a translator between your code and your device, leaving you with the fun work.
Adapting the concept of service virtualization for IoT means that developers can test their code against realistic data scenarios and at scale before the device itself is ready for testing. This allows for faster development with less risk. Software is more cost effective, less particular (more protocol agnostic), and much easier to incorporate into code than hardware.