IoT: Issue prevention in intricate and high-risk application development

As IoT evolves, the need for a standard protocol to enable testing across various devices is also going to evolve.

The Internet of Things (IoT) is expanding faster than ever, providing businesses with new opportunities for reaching customers, accumulating revenue and intertwining connected services into various devices like home appliances and sensors embedded in products.

By the end of the decade, IoT could be responsible for 50 to 200 billion connected devices, according to studies by Cisco and Intel. Although IoT can help businesses reap considerable rewards, it also creates vast security risks that the technology community is still working to resolve.

For instance, the recent DDoS (distributed denial of service) attacks utilised insecure IoT devices that resulted in a global outage of servers. The insecurity of these devices has been a hot topic since the beginning, and it’s easier than ever to see why. Smartphones, IP-enabled PCs and web servers have always been at risk for malware or DDoS attacks, and the risk is only magnified by the massive scope of IoT. Because IoT is a fairly new space and the incredible impact can be felt globally in a successful attack, software testers must be particularly diligent when testing these types of products.

As IoT evolves, the need for a standard protocol to enable testing across various devices is also going to evolve. Other examples of successful attacks include oil rigs in 2014 and the spread of the Stuxnet worm across Iran’s nuclear power facilities in 2010. Despite these events, QA teams aren’t lost entirely. Here are a few things IT can do to keep IoT issues at bay:

Use automation and emulation

Mobile apps first began rising in popularity at the end of the 2000s, and developers struggled to adapt to multitudes of screen sizes and operating system constraints. During the current transition to IoT, there is an expectation that the same issues will be replayed as differing device types come to market (e.g. in-vehicle sensors, Wi-Fi enabled cameras, etc) that need to be developed. 

Testers in this market must reevaluate some of the common approaches, and test management software can assist by enabling models of many different scenarios with real-time collaboration.

Heighten focus on security

Teams testing new software for mobile or web applications now must consistently review proper authentication and encryption when vetting for potential IoT use because vulnerabilities, such as an exploit in an older software component such as OpenSSL or Bash, can seemingly come from nowhere.

Security is going to play a critical role because the need for upgrades over the air adds additional complexities. Voice along with IoT is going to pose another set of security issues and opportunities, which we already see with Amazon Echo and Google Home. These organisations are taking a lot of steps to make sure that they are protected with the right authentication and provisioning when it comes to voice with IoT.

Enable an entirely agile DevOps culture

As web platforms, software, mobile applications and IoT grow to meet consumer demand, the trend will increasingly require development at a great speed and scale. As more IoT devices hit the market, enlarged data infrastructure, collection and analysis will become critical as these devices surge information back to businesses. Without this key component, organisations will be unable to make quick decisions.

An agile and DevOps culture that emphasises collaboration is ideal for success. Agile processes are much more responsive and adaptive than the traditional waterfall methodology most organisations currently employ.

IoT testing will always demand scalability, security and immense speed, which may seem impossible to pull off in a large enterprise. But with the proper DevOps culture and access to collaborative agile processes, companies can get a head of IoT and the testing environment as a whole.

Hamesh Chawla, VP of Engineering at Zephyr

Image source: Shutterstock/everything possible