IoT Testing: Challenges and Approach
The Internet of Things, known as IoT, is a connection of identifiable software embedded devices with the existing Internet infrastructure. This interconnection allows the collection and exchange of data as well as the control of devices remotely.
IoT enables the connection of huge variety of devices to the Internet such as home appliances, lights, sensors, vehicles, and communication devices, paving the way for complex ecosystems like smart homes, smart buildings, and even smart cities.
The innovation and telecommunications market are faced with a strong demand for value-added services and IoT-based services are one of the biggest innovation bets for the embedded software devices market, which boosts the qualification and delivery of test services with expertise in embedded systems.
Throughout this article, the challenges related to software testing for IoT, and the testing processes of these devices will be addressed in order to ensure correct product validation, which is essential for the success of the product and its acceptance by the market.
Challenges
As a new technology, IoT opens a gap in the product validation industry where traditional software testing strategy may not be fully suitable for IoT validation. IoT software testing has several challenges that needs to be well addressed in order to ensure a robust software testing procedure. Among the challenges that may be faced by IoT software testing, it can be highlighted:
Test Environment
IoT technology allows for an ecosystem with the coexistence of devices with different characteristics, which makes the test environment very complex. In the IoT infrastructure, there may be interaction between devices with different versions of firmware, operating systems, and browsers, which makes it difficult to streamline the testing process.Security Risks
Connecting devices to the Internet opens up a range of possibilities in terms of services, but on the other hand, numerous challenges related to security must be addressed. Security is a major challenge for the IoT as all tasks are performed using the network, which can result in attacks on previously unthinkable services and functions.Stability
Stability is a major concern for the IoT since many applications using this technology requires high system availability. Connecting devices to the Internet is the main stability challenge, as connection issues can render the IoT device useless.Diversity
IoT software testing is not just testing the embedded software of the IoT device. For a correct evaluation of the product, it is also necessary to test the application that controls the IoT in a variety of devices, which increases the complexity and test volume.IoT Testing Approach
In order to ensure efficiency in the software testing process for IoT, a robust testing strategy is needed which considers the characteristics not only of the IoT device, but of the entire ecosystem that involves the IoT. The test approach for a IoT will vary depending on the characteristics of the product under test, but the following tests are common for most IoT devices and should be included in the test cycle considering the specifics of each product.
Usability Testing
In an IoT ecosystem, there is interaction with different devices with different shape, size and form factors. Usability testing is essential to assess the human perception when interacting with the product during data processing and display. During the usability testing, several items can be evaluated such as:- Quantitative usability: measures the performance of the user under a given task. It focusses on obtaining metrics related to the software effectiveness, efficiency and satisfaction.
- Qualitative usability: identifies issues related to usability during interaction with software. Qualitative evaluation focus on the understanding of human needs and reason for the given human behavior during the execution of a task.
- Accessibility evaluation: addresses the interaction between a user with disabilities or limitations with the software. It will determine if the accessibility aspects were properly implemented as per standards or product requirements.