An Internet of Things (IoT) solution is built up from items that together create new functionality. The separate elements form an IoT ecosystem. Testing the entire system must be thought of at an early stage in IoT product development.
Forget functional testing
Define a product with a set of requirements and all functionality (that is written down) can be tested. As said an IoT solution consists of separate elements that can be functionally tested . The IoT ecosystem as a whole behaves according to different rules. The possible connections to 3rd party IoT products are endless. As a result it will be impossible to describe the behaviour in every situation. One of the elements of setting up an IoT test strategy is looking at the non-functional behaviour of the whole solution.
Choose the right quality attributes!
Functionality is tested enough. We must search for ways of testing all other behaviour of the IoT ecosystem. Using quality attributes we can make good effort in filling this gap. I will give you some examples of quality attributes that can be used in IoT environments:
- Installability: upgrades can be sent to “Things” and remotely installed. Test situations where this can go wrong (think of power loss during download or installing) and check if recovery mechanisms work
Interoperability: information exchange between (parts of) IoT systems must work between different software and/or hardware versions. All known combinations can be tested but what to do with software versions not yet released? What happens when new hardware is on the market that should work with your solution as well?
Usability: users will only launch an App once or twice to form their opinion on usability. Usability testing is key in making a full IoT solution a success.
Create your IoT test strategy
Choosing the right quality attributes is one of the steps in defining an IoT test strategy. Read more on the other steps and IoT quality attributes my book: “IoTMap: Testing in an IoT environment”.
More on testing in an IoT environment can be found in the IoTMap book.