Testing Embedded systems and testing the Internet of Things could each have their own issue of LogiGear magazine. But these days they are referred to presupposing knowledge of the other, so we thought it would be a good idea to tackle the two together in this issue to give a broad understanding of the landscape as well as help you get started testing smarter and become more informed.
The Internet of Things (IoT) is getting more and more press and attention every day. There is nothing new about the idea, everyone knew it was “the future.” But that future is here. Efficient wireless protocols, sensors to sense everything, and cheaper processors are making the future now. The number of things with embedded systems is already staggering, and it’s estimated there will be tens of billions of embedded system devices connected by 2020.
Although often used interchangeably, embedded systems are not equal to the IoT. The difference is that embedded systems do not have to be connected to anything while the things in the IoT are connected via the internet. Devices now do things like monitor your glucose level and send a constant stream of data to your doctor. Others count the steps you take, your refrigerator can order milk when the carton is near-empty. and self-driving cars are in prototype.
My early embedded systems testing experience focused on medical device testing and mobile communication/mobile phone testing. In each case, as is common with embedded systems, the functionality was important but very limited, the UI was very limited or non-existent. The testing started with validating requirements. We then made models of expected behaviors and tested as thoroughly as we had time to do.
The IoT is a big leap ahead from closed system embedded devices with limited functionality and no connectivity. Even for embedded system experienced testers connectivity is a big change. There are potentially large data being produced, connection to other devices and APIs to other services. This opens the door to such things as interoperability, security and performance issues not normally seen in embedded system testing. All with speed of delivery demands in an industry with few and often competing standards.
As is always the case with new or more pervasive technologies: how do you test it? What are the new testing concerns? What skills do you have to learn to respond to this staggering growth? That is what this issue begins to explore.
In this issue I discuss the landscape of the Internet of Things with Joe Luthy; Jon Hagar gives expert recommendations for testing the IoT; I explain new areas for traditional testers working in the IoT; Phillip Koopman suggests that those performing embedded testing have software specific test plan; Auriga’s Andrey Pronin writes about the importance of a highly organized testing process and Essensium/Mind’s Arnout Vandecappelle reminds us that team collaboration is essential for testing embedded systems. Welcome to the IoT.