The Internet of Things could turn out to be the biggest software development (and, by extension, testing) opportunity of all time. While devices such as phones, tablets and wearables may already seem ubiquitous, the IoT - i.e., a vast, networked array of embedded systems and sensors - could eventually dwarf all of them in its worldwide reach and number of applications and services.
The Internet of Things Brings Unprecedented Scale As Well As New Challenges
A 2015 Business Insider Intelligence report estimated that by 2019, that Internet of Things could be larger than the combined size of the smartphone, tablet, PC, wearable and connected car markets. Enterprises are expected to be the most eager adopters of IoT initiatives, outpacing both governments and consumers, en route to integrating more than 23 billion devices into verticals such as manufacturing and retail within the next four years thereby increasing the scope of testing IoT devices.
With the IoT, developers and software testers face fresh challenges that will stretch their skills and require top-notch quality assurance software. In a way, the coming years will be a replay of what happened after mobile devices took off in the late 2000s. Back then, test engineers had to account for factors such as battery level, available bandwidth and current network coverage that had been less pressing with traditional desktops and laptops.
The IoT likewise brings many new things to the table in terms of testing requirements, including major emphasis on unusual device types, such as home appliances, along with the minimal interfaces that have to fit and work on a thermostat, watch, etc. With diverse set of products entering the IoT market, QA teams need to carefully chalk the best test mangement strategy in order to effectively meet the quality standards of these products. Let's look at what the future of IoT testing may hold for software testing teams:
The Importance of Testing Wireless Connectivity Scenarios
Connectivity throughout the IoT is dependent on many different wireless standards. For example, to do anything at all, an IoT-enabled medical device might have to interface with Wi-Fi, Bluetooth, ZigBee and/or 4G LTE. On top of that, hardware may have to deal with electromagnetic interference while also complying with strict medical regulations.
For software makers, these potential issues with connectivity and infrastructure will inevitably shape the design of their applications. Software testing will need to cover bases such as what happens to data when a connection is unexpectedly dropped. Is it saved and properly stored? Where will it pick up once service is restored? Plenty of real-world testing - e.g., walking around in an RF-saturated environment while switching between connections - will be essential.
Service Virtualization For Simulation of Smart Homes
One of the most touted IoT use cases is home automation. Devices such as Dropcam and Nest have already made waves with consumers, while frameworks such as Apple HomeKit are rolling out to try and weave together the different parts of the connected home.
For testers, however, this can be a tough and unfamiliar environment to simulate. What other devices are present? What's the layout of the home? Fortunately, service virtualization offers one possible way forward. Dev/test teams can model many different types of houses, sensors and device states. Testers can get a good sense of what conditions their services will face in the real world.
Doubling Down on Security in the IoT
Although the IoT appears to have an enormous upside for today's businesses, its potential downsides are worth noting. In particular, security lapses almost always come up in conversations about what could go wrong with a system as vast and heterogeneous as the IoT. A 2014 study from HP estimated that 70 percent of IoT devices were vulnerable to attack. The difficulty of patching everything in the IoT only compounds this issue - the components of the IoT are not as straightforward or uniform as PCs and smartphones.
QA teams must vet a full range of potential vulnerabilities in IoT products and services. Depending on the item in question, this diligence could take the form of enforcing strict password rules, protecting the interface from unauthorized access and ensuring the use of encryption where appropriate. The HP report found that transport encryption and insecure Web interfaces were among the top issues with the IoT.
Testing For a Wide Range of Interfaces
With devices like Dropcam and Nest, software testing is relatively straightforward since the hardware is well-known beforehand. Other services such as cross-platform cloud-based software present more complicated scenarios for quality assurance teams, since the client device could be almost anything. Something similar already exists with video streaming sites such as Netflix, which can be accessed on anything from an HDTV to a handheld gaming console.
In these cases, it may be useful to construct a minimal set of requirements that can be ported and tweaked depending on the device. Usage analytics could also provide insight into what devices merit the most time and energy. Along the way, knowledge of the relevant APIs and updates will be crucial for performing worthwhile testing.