Kevin Ashton, co-founder of the Auto-ID Center at MIT, which created a global standard system for RFID and other sensors, coined the phrase “Internet of Things” in 1999. IoT encompasses a world where living and inanimate things are connected wirelessly and serve the purpose of machine-to-machine communication.
In the development of applications which involve Internet of things (IoT), the IoT gadget, device application and communication module plays a vital role in analyzing the performance and behavior of the IoT service. Poor design may hamper the working of the application and affect the end-user experience. Oniyosys has developed a comprehensive QA strategy to handle these unique requirements and challenges associated with validating IoT applications.
In today’s article we will discuss Why IoT, QA Opportunities In IoT Testing, Sample IoT Test Cases on IoT testing, Challenges That QA Team Can Face During IoT Testing and Solutions And Best Practices.
• Efficient Machine to Machine (M2M) Communication
• Development of multiple Protocols (IPv6, MQTT, XMPP (D2S), DDS (D2D) etc.)
• Development and Integration of Enabling Technologies (Nano-electronics, embedded systems, software and cloud computing, etc.)
• Supports Smart Living concept
Important Domains of IoT:
• Smart Cities
• Smart Environment
• Smart Water
• Smart Metering
• Smart Safety measures
• Smart Retail
Sample IoT Test Cases:
• Verify that IoT gadget is able to register to the network and data connection is made successfully.
• Set a proper time delay after the connection for the first gadget is established. Verify that another IoT gadget is able to register to the network and data connection is made successfully.
• Verify that all the gadgets involved in the Internet of things testing are able to register to the network.
• Verify that all the gadgets involved in the IoT testing are able to send SMS to the network.
• Verify that only gadgets with proper authentication are able to connect to network.
• Verify that gadget disconnects quickly from the network when user removes the (U) SIM.
• Verify that gadget is able to enable or disable network friendly mode feature.
• Verify that gadgets involved in IoT are able to transmit huge chunks of user data if required.
• Verify that gadget transmits keep-alive message once in every half an hour.
• Verify that if sim subscription is subject to terminated condition, gadget does not retry service request as per the requirements in NFM.
• Verify that if sim subscription with roaming not allowed, gadget does not retry service request as per the requirements in NFM.
• Verify that if SIM subscription with barred GPRS service, gadget does not retry service request as per the requirements in NFM.
• Verify that if maximum number of connections (as per the requirement) is attained, the IoT gadget need to stop attempt to link to the network till a predefined duration.
• Verify that in case data volume exceeds that defined in requirement, the IoT gadget should not initiate any more transfer of data till a predefined duration.
• Verify that IoT gadget need to inform the network about power status.
• Verify that IoT gadget is able to transfer data in low power mode.
• Verify that IoT gadget transmits data with IoT device application in the form of encrypted data.
Challenges That QA Team Can Face During IoT Testing:
• It is expensive to replicate the environment required for IoT testing and demands too much of effort
• The subsystems, sub-components, and services that are interrelated are possessed by various groups and third party units. If user is unable to access a single dependent sub-component, it could affect the testing of the whole system.
• In order to obtain the right test data among different systems, Substantial effort and organization among multiple teams is required
• Gadget which is available for testing might be of inadequate capacity or is not available at the right time
• Sensor quality and accuracy – Device under test may not be of good quality or have the right precision needed for testing
• Compatibility Issues
• Connectivity issues
• Power problems
• Security/Privacy issues
• Safety Concerns
IoT Testing – Solutions And Best Practices:
• IoT Services stresses for robust testing competences to guarantee that the performance of the services is able to meet the requirements and SLA. By adopting effective best practices user can successfully execute IoT testing.
• QA need to concentrate on good testing approaches and practices for efficiently implementing a testing job. Well-defined requirements, comprehensive test plan, unit testing, integration testing and effective communication would form the basis of IoT testing. Impeccable programming tactics and practices ensure that the end-result is a quality product.
• New platforms ensure effective communication and to efficiently obtain valid info from huge amounts of raw data. This ensures good timing and systems framework to back the real-time applications. QA testing team can also make use of cutting-edge tools, consoles, viewers and simulators to ensure successful execution of the project.
• QA testing team also need to have sound understanding of the architecture, the Operating System, hardware, applications, protocols and shortcomings of hardware gadgets to design good test cases.
• Robust backend – if the mainstream functionalities are embedded into a robust backend, backend functionalities can be tested using usual testing methods, tools and approaches.
At Oniyosys, our team expertise and efforts serve to make testing and validating IoT applications a simple and productive experience. The Oniyosys Test solution includes a combination of testing with actual devices, tools, and frameworks.