The Internet of Things or IoT is an environment in which objects, animals, or people are provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction. This enables them to share intelligent information with each other or to the backend database directly through embedded sensors and actuators connected over the internet.
As per Gartner, by 2020 there will be over 26 billion connected devices; other research (Morgan Stanley, Hammersmith Group) predicts that it could be up to 100 billion. It means that there will be at least three times more IoT devices than the world population. Suffice it to say that the sheer number of IoT devices is going to be mind-boggling in the near future.
IoT technology in the form of digital disruption has entered the enterprise space at such a pace that companies do not have robust enough strategies to rigorously test the related hardware and software. Moreover, the huge volume of data getting captured and sent through IoT devices to the back end makes the system prone to performance bottlenecks. As companies are pulling in technology from different sources, it becomes even more difficult to build a comprehensive testing strategy that can be easily implemented.
2. IOT Revolution: Key Findings from the World Quality Report 2016
As per the World Quality Report 2016 #WQR2016, 85% of respondents have IoT as part of their business, but 68% do not have test strategy for IoT.
As per the WQR 2016, key opportunities for solutions for IoT include (i) operational Intelligence (ii) virtualization of services, and APIs (iii) tools for stress testing IoT middleware and gateways, and (iv) creating protocols and device simulators.
3. Testing Considerations
There are four key components in an IoT platform: sensors, application, network communication, and backend database. Identifying the testing scope and coverage is the most important element for formulation of a comprehensive test strategy. The key testing considerations for each of the components of IoT platform is listed below.
What To Test
Sensor response time and performance
Error handling mechanism
User roles and access levels
Multiple request handling
Interaction between devices
Data transmission frequency
Data packets for data losses
Data consistency and integrity validation
Verification of data values
4. Testing Types
With data being acquired from disparate sources (machines, inventory, equipment and tools, products, people, sensors, production logs etc.) over IoT platforms, quality assurance around functionality, scalability, compatibility, reliability, usability, security, speed and integrity will ensure accurate and timely outcomes. The following testing types can be considered for IoT depending on various testing considerations:
1. Functional Testing – Testing the functionality of the software application in order to validate the user stories and requirements.
2. Scalability Testing – Validating the ability of the IoT platform to support multiple concurrent users without degrading the performance.
3. Compatibility Testing – Validating the possible working combination of device hardware, communication protocol versions, software versions and operating systems
4. Reliability Testing – Validating IoT components (especially sensors) in various environmental and operational conditions.
5. Usability Testing – Ensuring the best-in-class user experience through visual appeal of text and content, user friendliness of the application, availability of useful information, error handling, etc.
6. Security Testing – Identifying and eliminating vulnerabilities by validating the user roles and access levels, data privacy and data encryption methodologies, network security standards, etc.
7. Network Testing – Testing the IoT application in various network connections and connection protocols to ensure seamless connectivity across the IoT platform.
8. Database Testing – Testing the backend database for the data types and values, data integrity, and data consistency.
9. Performance Testing – Validating that the response time of the sensors and the application is within the specified limit. Also, validating the performance of data reading, writing and data retrieval rate is one of the key aspects of performance testing in IoT.
5. Concluding Thoughts
IoT technology is finding its application in all business sectors and increasingly it is going to be a permanent element of day-to-day life. Testing in IoT platforms is going to require a combination of various types of testing depending on the domain and actual field of application. The IoT testing strategy will have the flavor of embedded testing and application testing and moreover, it will span most of the functional and non-functional testing types based on the testing focus. There can be guidelines for formulating the overall IoT test strategy; however, it needs to be tweaked and testing types need to be refocused and defocused based on the actual field of application.
www.worldqualityreport.com — Capgemini Sogeti HPE World Quality Report 2016
Renu Rajani, Vice president, Capgemini Testing Global Service Line, firstname.lastname@example.org
Sabyasachi Guharoy, Solutioning Manager, Capgemini Testing Global Service Line, email@example.com
For an in-depth look at the key trends in Testing and QA, download the World Quality Report 2016 http://ow.ly/S9NF304DKfD