QA Testing for the Internet of Things
According to Gartner, the number of connected things included in the Internet of Things (IoT) will grow to 25 billion units and will generate $263 billion in revenue by 2020. With so much potentially riding on IoT as the next big tech wave, it’s important that we not only understand what IoT is and does, but also how we might arrive at the seamless integration of connected devices that everyone expects. Unlike innovations in the past and the QA testing that went along with them, IoT is supremely more elaborate and doesn’t fit neatly into any one category.
At the dawn of the PC age, QA engineers focused a lot of their efforts on testing what we now see as rudimentary desktop applications. While PCs were not uniform in their design, for the most part there were enough similarities to making testing go relatively smoothly. The next step towards IoT was the emergence of mobile handsets and the apps on them. Unlike PCs, mobile devices offered more variation when it came to make, model, screen size, and operating system. These differences across devices added another layer of sophistication never before seen — especially when it came time to conduct testing. Now with the emergence of IoT, the scale of the testing that is needed eclipses anything that we’ve seen in the past.
The Internet of Things is made up of three core components: things, communications and computing. The things are literally the physical objects that are going to be connected to the Internet. These things or devices can be anything from the watch on your wrist to your refrigerator or car. In order for IoT to work, all things within a home or office need to be able to communicate with each other. If the communication between devices breaks down for any reason, the entire system will collapse. The other piece of IoT is the computations that are conducted in the background, which are needed to make everything run smoothly. Computing is usually done in a central location such as a mobile device, desktop or server. The main goal of IoT is to allow us to make more intelligent decisions in our daily lives, so having the computing power to do so is vital.
Because there are so many touch points involved in IoT, the role of QA testing is critical. In a fully functional IoT environment, the hardware and software need to work together in harmony. With millions of sensors and several different types of devices involved, IoT is much more dynamic when compared to mobile applications. Most of the time when conducting QA testing, simply making sure that the device works correctly is acceptable — but that is not the case with IoT. The sheer number of possible real-life scenarios that need to be addressed in testing for IoT can quickly become a challenge. The complexity in IoT testing can best be seen when it comes to big data. With millions of sensors gathering data from things we use every day, it is unavoidable that we will collect huge volumes of information. In the testing environment there will be limits on the amounts of data that can be generated, and because of this we must make sure that the techniques used to simulate data are as close to real world situations as possible
QA testing in IoT can be split into two subdivisions: the first is how the hardware and software interact, and the second is how the thing and the user interact. When looking at how the software and hardware are working together, there are a few key things that need to be tested. Conforming to set standards is important. This mostly means that the device and its communications protocols are working correctly. In some instances where there is a special use case, such as a healthcare use case, additional testing might be needed. Next, we would need to check to see if different devices are interoperable, meaning that the devices are able to support the needed functionality between themselves and external devices. Finally, we would check to make sure that the IoT environment is secure. With millions of sensors taking in a constant stream of data, ensuring that the data is safe is crucial.
We should also look at how the user interacts with the things in IoT, and make sure the user has a seamless experience. Usability in IoT is potentially the most important aspect of a successful IoT environment. Being able to create a QA test environment that can take into account complex relationships between the user and devices, and predict all of the challenges that may arise, is daunting.
IoT is such a rapidly evolving area of innovation, so companies responsible for QA testing need to be ready to meet the demands of the future. Training in the technology of IoT is necessary in order to develop the skills needed to move beyond the traditional QA testing that we have seen in PCs, and most recently with mobile devices. With IoT touching on so many different industries and use cases, technology firms should look to build collaborative QA teams that have a wide breadth of knowledge, as opposed to them being too specialized. This will empower them to be ready for the new world of testing for the Internet of Things.
To learn more about Apexon’s work with wearables and the Internet of Things, click here.