Most of us start our day with an alarm clock, our cell phone gives us the appointments across the day, news from across the globe comes to your fingertips, connecting with the world is now a kids play. Right from our home, office, schools, and many other places, machines are in action for us. Have you ever wondered how would you feel if it was like this before?
It feels like a scene out of some sci-fi story getting the things done just by a command. Some of the examples are driverless cars, fitness bands, automatic kitchen appliances, robots and smart homes.
There is one connecting thread between all these, which is technology innovation.
There comes the concept of IoT (Internet of Things), which is growing bigger than software industry. Technically speaking, it is just a channel to connect the electronic, semi electronic or embedded devices to share and store the information. But we are using it for the betterment of all our life aspects right from mega machines, to the Nano technology.
With millions of new devices coming in the market, we cannot have the definite set of rules to verify each one of them. It needs flexible and customized testing approach which is fundamentally testing the device behavior.
To test the IOT devices we can apply the ‘IOT formula’ - the testing approach I recommend to test all IOT devices /apps / applications.
IOT formula is INVESTIGATE, ORGANIZE, and TEST
Here is what it takes
I - INVESTIGATE - which includes the collection of the device related technical information and behavioral expectations.
Technical information includes:
- Device details
- Communication channels (E.g. IPv6, MQTT, XMPP (D2S), DDS (D2D))
- Future roadmap or complete picture
- Other integration devices (if any)
- Data storage
- Network used
- Functional flow
- Security
- Usability
- Performance
- Compatibility
Activities involved in this stage are:
- Tool feasibility analysis
- Compatibility matrix
- Test data
- Test management tool implementation
- Test scenario preparation and review
- Lab setup with devices and interfaces
The final leap is to use it and test it to achieve the better coverage.
Activities in this stage would be:
- Test execution that includes - functional, security, usability, compatibility, and performance
- Test execution analysis and defect creation
- Tracking the defect till closure
- Impact analysis and regression testing
Getting the right approach for IOT testing is very important and same time these are not same for all the devices, thus advice you to follow this approach for better quality.