Suddenly, applications had to gracefully handle interruptions, cope with multiple connection types of varying quality, and remain usable with a touch interface.
But just as we’re getting comfortable with mobility, a new trend is trying to shake things up again. This time it’s the Internet of Things (IoT).
As we push Internet connections into more and more of our devices and link them together, we create all sorts of opportunities for new software to enable us to do more. How will these new trends impact on testing departments?
There are four main system components for the Internet of Things(IoT):
1- The Thing
2- The local network.
3- The Internet
4- The cloud
IoT is not complicated in conception, but it is complex in its execution.What is important to understand is that even if new hardware and software are still under development, we already have all the tools we need now to start making IoT a reality.
What is the “Thing”?
Thing is an embedded computing device (or embedded system) that transmits and receives information over a network (need not be able to interface with internet directly) for the purpose of controlling another device or interacting with a user. A Thing is also a microcontroller—or microprocessor-based device.
Hence a simple chair, tv , fan , microwave , fridge, sprinkler, bulb etc
In many ways the IoT merely presents the same challenges in a new form, or perhaps a more concentrated form. It will take things further down the path that mobile has already started us down.
Multiple devices and fragmentation
The IoT is going to make it even tougher to cover every possible device and permutation that your software might run on.
Test departments are going to have to increasingly rely on emulators and outsource some testing to hardware labs. It’s not going to be practical to have cars or appliances in the office. However, just as with mobile, it will be important to have a sub-set of target devices that represent your aims, to physically test the application on.
It will also be important to analyze data from real end users, whether that means beta-testing with a control group, or going with a soft launch to gather more data.
Usability is key
Testing is about a lot more than just ticking functional boxes. If your software isn’t easy to use, then there will be problems, and this is especially true on devices with limited functionality or scaled down interfaces. Giving end users the control they need, but maintaining simplicity is a major challenge.
Keeping things secure
We’re already hearing stories about car and home automation systems being hacked . In the rush to get these products to market, many manufacturers have forgotten about security testing. With so many potential points of access and cross connectivity, it’s going to take a stringent approach to security testing to ensure that the IoT doesn’t expose us to serious risks. Proper encryption and authentication would be a good start.
Dealing with downtime
Another issue that grew in relevance with the rise of mobile devices is connectivity. It’s all well and good to create devices that are designed to be connected to the Internet, but you also have to make sure that they’re still usable when the Internet goes down. These devices will also have to deal with low power, and connection requests from other devices, which ties into security above. As with mobile testing, it pays to physically move around with devices and see how they handle changing connectivity, because it’s not easy to emulate real world conditions in the test lab.
Testing on mobile certainly guides you in the direction for the IoT, but a fresh approach will be required if we’re to ensure that the software and hardware that powers the devices of the near future enhances our lives in the ways we hope it will.
for more information https://en.wikipedia.org/wiki/Internet_of_Things