According to a study, 127 new IoT devices are connecting to the internet every second. Gartner says that there will be 20 billion IoT devices by 2026 running on technologies such as RFID, EPID, NFC, Bluetooth®, Z-Wave, and Wi-Fi.
IoT will eventually become a part of everything that we can imagine:
- Military (predictive analysis)
- Healthcare management
- Agriculture (precision crop management)
- Smart traffic management and connected vehicles
- Energy and water management
- Airline baggage management
- Manufacturing (predictive analysis and reduction of maintenance cost)
- Retail, CPG, logistics
- Home and personal care
As you can see, it will require the production of a large number of similar devices for each job.
This makes the process of IoT testing all the more significant, complex, and prone to errors. IoT manufacturers need systems that can quickly replicate the tests and give accurate results for faster time to market. IoT device manufacturers will face challenges such as:
- Not having the relevant expertise to make such testing devices or code in-house.
- Maintaining multiple versions of each code for test and production environment, leading to human errors.
- Keeping the cost of R&D and production low.
- Meeting stringent quality standards across multiple devices to avoid failures and mass product recalls.
What are the Types of IoT Testing?
IoT device testing spans ideation, R&D, prototyping, manufacturing stages. Each stage requires different methodologies, testing parameters, and test equipment.
- Usability testing – An IoT device should solve the purpose it’s built for – that is usability testing in short. For example, an IoT device installed on a traffic signal should simultaneously detect an accident, inform the nearest medical facility and traffic police, and update the maps to redirect the traffic, and so on.
- IoT Security Testing – In 2016, a huge DDOS attack on Dyn’s servers via malware on thousands of connected IoT devices brought down services of Twitter, PayPal, and Spotify. IoT systems handle a large amount of data and have the power to control significant outcomes. Therefore, data must be highly secure through encryption and password protection.
- Connectivity testing – Connectivity is everything for IoT devices. For example, an IoT device for traffic management should seamlessly connect to all the stakeholders and accept and give commands when needed. In case the device is down, the stakeholders should get automatic alerts to perform manual intervention until the system is back online. Once it is up, the data generated during downtime should be auto-synced without any loss.
- Performance testing – In the case of traffic management, the system should be scalable enough to operate in an entire city or a state, not just the major traffic lights. It should be able to handle live data, which is much larger than test data. It should also be able to monitor and display its system usage, power usage, and temperature.
- Compatibility testing – IoT devices should be tested for compatibility with various operating systems, browsers, generations of devices, and with data communication protocols such as Message Queuing Telemetry Transport (MQTT), Extensible Messaging and Presence Protocol (XMPP), Constrained Application Protocol (CoAP) and Advanced Message Queuing Protocol (AMQP).
- Pilot testing – Testing an IoT device in a lab environment is not enough. During pilot testing, the device is exposed to a limited number of users in the live environment to track its performance.
- Regulatory testing – IoT systems usually deal with critical data. For example, IoT devices to traffic management deal with data that has the power to control multiple stakeholder outcomes. Therefore, the devices often have to be certified with the checklist of a local regulatory body. This is a crucial testing stage and should be done early on.
- Functional testing – This stage needs to test any manufacturing defects that could lead to failures such as faulty or under-performing components, or missing components.
- Upgrade testing – IoT is a complex system of hardware, firmware, software, networking layers, operating systems, and communication protocols. If an upgrade is required, each of these things should be able to do so without hiccups.
What are the Common Challenges in Testing IoT Applications?
The complex nature of IoT devices and their operating environments brings with it a range of challenges.
- Hardware and software coupling – IoT devices are a mix of software programs and hardware, such as sensors that need to work together. Functional testing is not enough to prove the validity of an IoT device. You need to test the dependency of hardware and software on each other.
- Device interaction layer – This is architecture between hardware and software that needs to work with each other in real-time. The QA team needs to test security, interoperability, backward compatibility, and upgrade issues.
- Real-time device testing – IoT devices work in critical environments such as healthcare. It sometimes becomes very difficult for the QA team to replicate such an environment or to deploy their device, which is still under development, in live environments.
- Cross-platform testing – IoT applications can be used on different platforms such as Windows, Linux, Android, or iOS. The testing team may not possess all the devices and UI, making their task challenging. IoT devices also need to be tested across cloud platforms such as Azure IoT, IBM Watson, and AWS.
- Network functionality – IoT devices depend on high speed and accurate data transfer over the network, be it Wi-Fi, Bluetooth®, RFID, or Z-Wave. The QA team needs to test the device on various networks under varying load and stability. But they might still face problems in real-time when unexpected bottlenecks occur.
- Standardization – With such a huge number of IoT devices, standardization is a challenge across platforms, connectivity, standard business models, and applications. Various IoT devices, if tested under different environments, can conflict with each other due to competing standards.
- Inefficient battery life – Most IoT devices use battery power. The energy-efficient functioning of these devices is critical for the IoT environment. Wrong or inefficient components used could de-energize the battery quickly.
How to Overcome IoT Testing Challenges
With such complexity also comes the opportunity to overcome challenges in testing IoT devices.
- · Run a survey of potential users to see which software and hardware combinations they commonly use. Once you have this information, you can save your QA team from testing every permutation and combination, which is often unrealistic.
- JSON and XML-based APIs are often layered on top of the transport protocol for easier interaction with the device. The QA team can design automated testing based on which APIs and protocols are being used, and the testing tool must be able to support these.
- With vast device diversity, the QA team must ensure that the hardware and software under test are always updated to the current and correct version. If automated tests use third-party service, it is prone to failure. To overcome this, the QA team can create a virtualized third-party service.
- Testers can utilize performance testing and monitoring using network virtualization to emulate different network conditions and performances pragmatically.
Software & Hardware Tools used for Testing IoT Systems
A successful IoT device needs to go through rigorous hardware and software testing before it is launched. Here are some software testing tools.
- Wireshark – It is an open-source and free network traffic analyzing software for the IoT device interface. It comes with basic data sorting and filtering functionality, and can run on MS Windows, macOS, Linux, or Solaris. TShark is another command-line version of Wireshark without a GUI.
- Shodan – This tool lets you keep track of all your IoT devices that are connected to the internet.
- TCPDump – It is similar to Wireshark but without a GUI. It is a command-line interface that gives details of all sent and received TCP/IP and other packets over the network.
- Thing – It is a search engine for IoT that has a one-of-its-kind geographical index of real-time data from connected objects. These could be anywhere in the world – sensors in energy, radiation, weather, air quality, seismographs, iBeacons, ships, aircraft, animal trackers, and more. It lets you control how the data is used and take decisive actions.
- SOASTA Cloud Test – It can simulate millions of geographically dispersed users of an IoT device and do load testing. It gives real-time analytics and seamless integration between test design, monitoring, and reporting.
For IoT hardware testing, the test equipment should be able to:
- Support use cases at every stage, from R&D to maintenance and functional testing.
- Address your needs across 5G, LTE, Cat-M, and NB-IoT standards used in cellular communication.
- Help you in simulation and design, and testing for battery life, signal and power integrity, connectivity, EMI/ EMC, network readiness, and security.
Test equipment like oscilloscopes can help engineers test signal integrity, and decode and analyze LSS communication in IoT designs. Spectrum analyzers can help in transmitter RF testing for the demodulation of the FSK signal. Other IoT hardware testing equipment include generators, protocol analyzers, RF & microwave test accessories, meters, power sources, and wireless test sets.
Test equipment manufacturers like Anritsu offer IoT testing equipment for devices that can run on the next-generation 5G markets along with the existing communication spectrums. Others like Rohde & Schwarz offer wideband radio communications testers and communications manufacturing test sets that cover cellular and non-cellular technologies, including LTE-M, NB-IoT, LoRaWAN, and Sigfox.
As with most kinds of testing processes, two factors affect equipment procurement decisions – cost and upgrades. Manufacturers don’t want to spend on complex, expensive test solutions unless it is a long-term investment; on the other hand, you don’t want to miss out on the latest technology in IoT test equipment.
In such situations, test equipment rentals can be handy. Online equipment providers like TRS-RenTelco offer some of the latest IoT test equipment from reputed brands. You are also likely to find equipment that fit just the testing needs you have, and avoid spending on multiple capabilities you really don’t need.
From robust test plans to future-ready equipment, IoT device manufacturers need everything possible to test over a range of configurations, and with high repeatability and accuracy. The future success of IoT devices will depend on the extent to which manufacturers can resolve current testing challenges and prepare for new ones. The more comprehensive your testing process, the lesser are the chances of failure, defects, or bugs when your product goes live.