Internet of Things (IoT) and Testing
In this blog of “Internet of Things (IoT) and Testing”, I will be going you through Internet of Things (IoT) and it’s importance from testing perspective.
Let’s understand with few scenarios.
How about your doctor calls you for medical check up or suggest medicine proactively, as soon as your blood pressure or sugar gets very high or low?
It has saved someones life.
How about when you are at 15 minutes away from your home, AC of your bedroom gets switched on, maintains temperature as per your comfort level?
You will feel relaxed when you reached to home. This will happen regardless of after how many days or after how much time and at what time you are returning to home.
How about mechanic comes at your doorstep in the morning as your car tire got punctured or oil level in car engine goes below its minimum level before you know it?
You have not called him and he just saved you from some coming inconvenience.
What in case of car accident, police or first aid help reach to you immediately?
Police helps you even though no one has called them. Most important thing in all above scenarios is everything will be happening in real time and not based on historical data.
In each of the above scenarios you have not asked for help, then who does it?
Is this possible?
Yes, This is possible due to “Internet of Things (IoT)”.
What is Internet of Things (IoT)?
In layman language I would say “Its the network of physical devices connected to Internet or network and communicates with each other or with IoT systems/applications and further IoT application processes data received and accordingly takes action”.
Physical devices are devices embedded with electronics, software, sensors, actuators.
These devices could be located in your fitbit watch, in your car engine, tire, installed in home appliances such as security cameras/system, air conditioners etc.
How these physical devices communicate?
These devices are connected to internet via WiFi, Bluetooth etc and sends information to the IoT system they are connected. IoT System or software then analyses data collected and accordingly it takes further action as listed in above mentioned scenarios.
How system takes decision or who will get benefits from it? Users subscribed to IoT service with IoT application or service provider. User can manage or monitor IoT devices via mobile or desktop application.
High level representation of IoT system and testers involvement:
How IoT is important from Testing perspective?
Most of the devices in IoT network are heterogeneous in nature and are connected to different network or systems, shares data over network.
Challenges which IoT has:
- Availability of devices.
- Identification: All the devices should be uniquely identifiable.
- Compatibility of devices.
- Connectivity with the network.
- Integrity of data shared over the network.
- Confidentiality of data shared over the network.
- Authentication : Information should be shared with authenticated person/application.
To address all above concerns and to make system more robust and trustworthy, there is need of strict protocols to be followed while development and testing of this system.
What are the major tests we need to carry out for Internet of Things (IoT)?
Data captured by different devices is shared through internet. And there are thousand of malware attacks happens daily over internet. And data captured could be related to personal health, location, identity, device identity such as car number etc. This information should be protected. So, security test has very important part to play in testing phase.
In IoT network there are thousands of physical devices available of different types i.e. devices could be from different vendors of different configuration. They might communicate in different ways over the internet. So it is important to test forward and backward compatibility of devices.
Performance of devices and network plays a very important role in Internet of Things (IoT) such as speed, accuracy, connectivity etc. Why performance is so important? if you recalled the scenarios discussed at the start of this blog. Many life saving decisions could be made by using IoT. To make those decisions, devices and network should be faster, reliable, accurate and always connected.
As multiple devices and system of different types communicate together to produce reliable result, it is very important to test they are properly integrated, integrity of data should get maintained when information gets passed from device over network.
These are few important testing types we need to look at.
Also, as rate at which technology is evolving, by 2020 lacks of physical devices will be a part IoT. System will be getting more complex, more amount of personal, non personnel data will get shared over the internet. So, as a tester or developer we need to control/monitor the technology which we have created to maintain its integrity, availability and confidentiality.
I hope you like reading this blog. If you have any questions or views you can provide it in comment section.
By clicking here you can also subscribe to my new up coming blogs.
Thanks. Happy reading, learning!