IoT Testing, Challenges & Tools

 » Internet of Things definition: The vast network of devices connected to the Internet, including smart phones and tablets and almost anything with a sensor on it – cars, machines in production plants, jet engines, oil drills, wearable devices, and more. These “things” collect and exchange data.

»   IoT – and the machine-to-machine (M2M) technology behind it – are bringing a kind of “super visibility” to nearly every industry.

Imagine utilities and telcos that can predict and prevent service outages, airlines that can remotely monitor and optimize plane performance, and healthcare organisations that can base treatment on real-time genome analysis. The business possibilities are endless.

IoT Examples :

»  Wearable tech -

»      These help in capturing necessary information such as health, heart rate monitoring, sleeping activity etc. These also help in displaying data, notifications from the mobile devices onto them.

»  Healthcare -

»      There are numerous applications so as to monitor the health conditions of the patients. Based on the benchmarked data, the services control the dosage of medicine at different times in a day.

»  Infrastructure and development -

»      There are also various applications so as to control traffic signals and parking availability in a sophisticated city layout.


»  Home Appliances

»      This is an innovative concept and most popular trend right now.





Technologies used in IoT

»  RFID [Radio Frequency Code] tags and EPC [Electronic Product Code]

»  NFC [Near Field Communication] is used to enable two-way interactions between the electronic devices. This is basically for the smartphones and is mostly used to do the contactless payment transactions.

»  Bluetooth: This is used where short range communications are enough to get away with the problem. This is mostly used in wearable technologies.

»  Z-Wave: This is a low power RF communication technology. This is primarily used for home automation, lamp controlling etc.

»  WiFi: This is the most commonly used choice for IoT. When on a LAN, this helps in transferring files, data and messages seamlessly.

Example : Medical healthcare tracking system:

»   The instrument monitors the health, heart rate, fluid intake details and sends out a report to the physicians. That data is recorded in the system and the historical data can be viewed whenever required.


»   The physicians can initiate drug intakes, fluid supplements based on the data.

This can be triggered remotely from any of the devices [computers or mobile devices] to which the medical device is connected to.

Testing IoT - Approaches

»  Usability: We need to make sure the usability of each of the device used here. The equipment should be smart enough to push not only the notifications but also the error messages, warnings etc. The system should have an option to log all the events to provide clarity to the end users.

»   The notifications should be shown and handling of the display should be done properly in the devices [computers/mobile devices]. Usability in terms of displaying data, processing data, pushing job tasks from the devices should be tested thoroughly.

»  IoT Security: When it comes to the data flow between devices, there is always a chance that the data can be accessed or read when getting transferred.

»   From a testing standpoint, we need to check if the data is protected/encrypted when getting transferred from one device to the other.

»  Connectivity: The system has to be available all the time and should have seamless connectivity with the stakeholders. As per connectivity, two things are very important to test;

»   Connectivity, transfer of data, receiving job tasks from the devices should be seamless when the connection is UP and running. The other condition is the connection down scenario. Doesn’t matter how robust is the system and the network, there are chances that the system will go offline. Being a tester, we should test the offline conditions as well.

»  Compatibility Testing: Testing items such as, multiple operating system versions, browser types and respective versions, generations of devices, communication modes [For e.g. Bluetooth 2.0, 3.0] is necessary for IoT compatibility testing.

»  Pilot Testing: Only testing in Lab makes sure the product/system works fine. But, this may backfire badly when exposed to real-time conditions/steps/scenarios.

»   During pilot testing, the system is exposed to a limited number of users in the real field. They use the application and give feedbacks on the system.

»  Upgrade testing: IoT is a combination of multiple protocols, devices, operating systems, firmware, hardware, networking layers etc.

»   When an upgrade is performed, be it for the system or for any of the involved items as stated above, thorough regression testing should be carried out/strategy should be adopted so as overcome upgrade related issues.

IoT Testing Challenges -

»  Hardware-Software Mesh– IoT is an architecture, which is closely coupled among various hardware and software components. It is not only the software applications that makes the system but also the hardware ones, sensors, communication gateways etc. too play a vital role.

»  Only functionality testing does not help in completely certifying the system. There is always a dependency on each other in terms of the environment, data transfer etc. So, it becomes a tedious job as compared to testing a generic system [only software/hardware component].

»  Device Interaction module - As this is an architecture between different set(s) of hardware and software, it becomes mandatory that they talk to each other in real time/near real time. When they both integrate with each other, things such as security, backward compatibility, upgrade issues becomes a challenge for the testing team

»  UI - The IoT is spread across devices belonging to every platform [iOS, Android, Windows, linux]. Now, testing that out on devices can be done but testing it on all possible devices is almost impossible.

»  We cannot omit the possibility of the UI being accessed from a device which we don’t possess or simulate. That’s a challenge which is tough to overcome.

»  Network availability - Network connection plays a vital role as IoT is all about the data being communicated in faster speeds all the time. IoT architecture has to be tested in all kinds of network connectivity/speeds.

»  To test this, virtual network simulators are mostly used to vary the network load, connectivity, stability etc. But, real time data/network is always a new scenario and testing team doesn’t know where the bottleneck would develop in the long run.

IoT Testing Tools :

»  Tools can be classified based on the target and are given as below:

»  Software:

»  Wireshark: This is an Open source application used to monitor the traffic in the interface, source/destination host addresses etc.

»  Tcpdump: This does a similar job that of the Wireshark except, this does not have a GUI. This is a command line based utility which helps the user in displaying the TCP/IP and other packets that are transmitted or received over a network.

»  Hardware:

»  JTAG Dongle: This is similar to a debugger in PC applications. This helps in debugging the target platform code and show variable step by step.

»  Digital Storage Oscilloscope: This is used to check various events with time stamps, glitches in power supply, signal integrity check.

»  Software Defined Radio: This is used to emulate receiver and transmitter for a large range of wireless gateways.

Conclusion:

»  IoT testing approach can be different based on the system/architecture involved. Testers should concentrate more on the Test-As-A-User approach rather than testing based on the requirements.

»  One more major player in IoT testing is the Integration testing. IoT is successful if the Integration test plan is accurate and robust enough to catch flaws in the system.

» IoT testing may be a tough/challenging job but, it is also very exciting as well for the testing team to certify such a complicated mesh of devices, protocols, hardware, operation systems, firmware etc.

Thank you !

To view or add a comment, sign in

More articles by Rupesh Khaple

  • AI & Machine Learning

    What is AI ? Artificial Intelligence » From SIRI to self-driving cars, artificial intelligence (AI) is progressing…

    1 Comment

Others also viewed

Explore content categories