Addressing the Challenges of IoT Testing
Megan NicholsMegan Nichols
While designing and developing new products, particularly electronics, there are many obstacles that must be overcome along the way. This is true of all devices, but when focused on the Internet of Things (IoT) specifically, there's much more at stake.
This stretches far beyond regulatory and technical limitations and includes even the customers who will be using said products someday. A Blackberry survey conducted during CES 2019 revealed that 80 percent of consumers don't trust their IoT devices to keep their data safe.
|| #IoTForAll #IoT " quote="IoT is amplifying to many industries, cities and homes. This makes IoT testing crucial to identify and fix security breaches before they happen and to improve the reliability of connectivity and automation services." theme="]
That survey only deals with the data collected, processed and transmitted by IoT devices—it doesn't even touch on their capabilities or additional core issues. There's no question that a lot of these elements have to do with the quality and reliability of the products. It's a problem that will become even more prevalent as IoT continues to grow and more generic devices hit the market.
The IoT market is expected to double by 2021, amassing $520 billion in revenue. It's increasingly clear at this point that the challenges and pitfalls of IoT development must be weighed carefully.
Traditional testing methods—many of them taking place after a product has already been developed—tend to take quite some time to deal with. In today's fast-moving and highly competitive landscape, that's not acceptable.
Testing early and testing often is the best way to deal with this, with the intent to detect and fix any potential problems as early in the pipeline as possible. This is especially important for IoT platforms where continuous integration is a cornerstone of the technology. The trick is incorporating the proper stages of product testing in a timeline that runs parallel to active development.
Testing must be done for all related systems and hardware, including any mobile apps that will be used to interact with the device. Companion apps for IoT technologies are part of the user experience. Consequently, they must be painstakingly vetted for usability problems.
One of the biggest weaknesses with modern "smart" devices and IoT hardware is how vulnerable they are in terms of digital security and data privacy. Without proper protection, hackers can easily take full control, stream or sniff data, or even alter various processes. We're now living in an age where the Mirai botnet happened, and it's likely that something similar will happen again.
It's imperative that devices are properly tested and locked down before they ever ship out to store shelves or customers. Security must continue to remain a priority well after a product launch and should be retested after every software or firmware update.
The smartphone market is completely fragmented when it comes to the types of hardware and software available. The Android platform has hundreds—if not thousands—of different models that make up its ecosystem. But, this problem isn't exclusive to mobile. Fragmentation exists elsewhere with wearables, appliances, smart TVs, network hardware and much more.
To make matters worse, testing these disparate systems often requires having the hardware in hand, creating much larger gaps regarding optimization and compatibility.
Really, the only way to deal with this is to build a strong user testing group that includes a variety of devices and platforms. This will allow teams to optimize and develop for the gamut of platforms and options, as opposed to a single one. Be sure to conduct cross-platform and cross-device tests as well, especially when the software requires greater compatibility between multiple channels.
Most IoT devices require active wireless or wired internet connectivity. In most cases, when that's not available, they often become useless, reduced to nothing more than a paperweight. This presents two separate requirements: the first is the need for an active connection, and the second is offline functionality.
For starters, both the hardware and software have to be optimized to allow for a constant connection and all processes that are involved with that. Rigorous testing must be done to ensure that the impact of a dropped connection—intermittent or not—is minimal.
Moreover, mission-critical functions must remain available, even offline in some cases, to allow the device to remain both usable and reliable even when there's no internet connection. A security camera, for example, should be able to utilize the local network even when there's no access to the public internet. An IoT sensor should still send local alerts and notifications even with no connection to a cloud system or remote server.
Again, consistent and early tests are necessary to ensure these requirements are met.
Due to the increased speed of R&D and the pressure to get to the market first, and the necessary testing that comes with it, it makes sense to automate a lot of the repetitive processes. Many testing methods no longer involve a human laborer sitting in front of a monitor, but they instead tap into machine learning and AI technologies. As these solutions become more common, they will also become more powerful, because they can both digest more data and build upon prior experiences.
For now, the challenge is deploying and integrating these innovative systems into existing operations. How can they be effectively deployed alongside current testing methods, and what can be done to improve efficiency?
Automation is still a relatively expensive solution, as it's one that not only requires the right technology and tools but also highly skilled specialists. The best way to deal with this is to implement automation for mature processes—specifically, those that would provide a high ROI after the swap.
When all is said and done, general testing and troubleshooting during the development of any product—including IoT—follows a similar pattern. The most important thing to remember is that today's landscape calls for shorter testing periods, faster time to market and incredibly reliable products. Those three elements don't always play well, but it's the development team's job to make sure they do.
Testing early and often should be the mantra that every IoT manufacturer and service provider follows. It should be true of both hardware and software, including mobile companion apps meant to complement the user experience.
New Podcast Episode
Recent Articles