Published on 11/14/2016 | Technology
"A satisfied customer is the best business strategy of all. Michael LeBoeuf"
The Internet of Things(IoT) buzzword is a term that has gained prominence for the past few years. But in reality, the concept was existing for a long time though a formal name was provided later.
Formal definition from the Cambridge dictionary for Internet of Things: "All the different devices, including computers, phones,wearable technology and smart systems that are able to connect to each other using the Internet."
Given the complexity of the software components running on different devices, software updates are inevitable due to evolving features and bug fixes of the dependent accessories in the IoT ecosystem.
A single line of code in any one of the device can cause huge impact to the entire IoT ecosystem. So it is imperative that effective software development strategy should be in place to minimize the impact of unexpected behavior.
Efforts should go to test strategy to ensure all possible combinations of software features/updates (past,present and future updates) of different devices in the IoT ecosystem are addressed/tested effectively.
Test combinations for the table given below gives a combination of 12 test iterations , for a single phone model.
For discussion, let us assume the different phone models available on market as "m" and the phone software version as "n", it gives a "m x n" possible combinations.
Given thousands of IoT devices in the market, with each user group using different set of phone SW, the possibilities of testing such a scenario is huge time consuming and costly.
Now given the complexity of the IoT ecosystem, lets evaluate the situations and impact that a IoT device, can face at a broader perspective.
The following table shows example test results for IoT devices against released phone Software (SW) version. The tests were failing due to a phone update that was released to the market.
Green color indicates the tests have passed for specific Phone SW versions. Red color indicates the tests are failing for the new software updates that were released to the market.
The above table explains test results/complaints on your IoT device from the field due to phone SW update.
Situation : IoT Software update Release #1 is launched and is tested on available phone SW (Version 1 and Version 2).
After releasing IoT software to the market, a new version of Phone SW(Version 3) is released and IoT devices seems to fail some tests.
Now the IoT Release #2 is launched and again, new Phone SW(Version 4) is released which creates further more problems.
Have you ever got questions/issues from customers such as:
Your IoT device does not work with the latest phone updates!
Your IoT device is not good because it is not working with latest phone updates!
Do you test your device before releasing to the market?
The risk with these sort of review comments impacts the perceived performance of your device and decline in sales.
The issue here is to deal with the IoT devices' responsiveness to the software updates for the devices in the IoT ecosystem.
How can this issue be addressed?
Every Device Manufacturer in the IoT ecosystem should have a beta software release [which they intend to release as updates], that are accessible to the entire device manufacturers in the IoT ecosystem.
Testing IoT devices with the beta software releases of the Phones/devices in the IoT ecosystem, shall help in reducing the problems that IoT device faces due to unscheduled phone SW updates.
The following table explains the impact of having beta build of other IoT devices.
If any software updates for devices in IoT ecosystem launches to the market, the synchronized strategy ensures the damage/impact of IoT device is measured and corrective process be put into place.
The benefits for including the beta software of the dependent ecosystem as part of synchronized strategy are:
- Continuous sales momentum
- Improved reviews
- Visibility as a trusted brand.
With the IoT ecosystem becoming increasingly complex, the test strategies should be updated frequently to ensure the cost of quality is reduced.
This article was originally posted on LinkedIn.