Testing on Mobile and Smart Products
March 28, 2016

Kevin Dunne
QASymphony

Mobile and Internet of Things systems are a popular yet nascent industry subject to the traditional growing pains of innovative sectors, requiring distinct testing approaches.

When it comes to testing, software is software, right? Not exactly. Mobile apps keep growing, and now with the predicted growth in Internet of Things applications and technologies, testing organizations have new considerations and limitations. If your company is involved in developing software for the Web, mobile devices and IoT platforms, you may need a few different types of testers, tools, and process to succeed. This blog outlines some top considerations for testing on both mobile and IoT applications.

Mobile Everywhere

Mobile apps succeed when they have a simple, elegant design, run fast and meet customer expectations. Behind the scenes, however, developing effortless mobile applications is not easy or simple. Compared with Web applications, mobile apps are affected by a wide range of variables, including: network diversity, battery life, location and the speed at which users are traveling. The more variables, the more testing scenarios a company must account for in testing. Real-world testing is generally accepted as imperative at some point in the process, given the array of devices and networks that people are using when they open a mobile app. Mobile apps primarily focus on two core issues: the user interface/experience and the quality, security, and speed of the connection from the app to the server.

Automated tools for mobile application testing have become much more reliable, making the job of the tester a bit easier today. Even so, testers must take into consideration all the versions of iOS, Android and Windows-based phones and tablets in their user base; it’s not economical to thoroughly test them all. Focus your testing efforts on the most popular devices and use cases in your user base and from there, the most-often used and critical path features in the application.

Due to the need for real-world testing — across all those devices, networks and locations mentioned earlier — beta testing is used heavily to get economical coverage across the potential mobile variants. Where companies often fail, however, is in properly managing the beta testing process. Beta users need guidance so that they will interact with the desired features and tasks, and in turn, provide useful feedback. To fill the gap in incomplete beta testing, companies can take videos of users testing an app to track where they often get stuck or confused. Crowd-testing services can help by managing the process of crowd sourced testing, cost-effectively increasing device test coverage.

Internet of Things on the Rise

Testing IoT or hyper-connected applications requires knowledge of both hardware and software — and the intersection between the two. IoT applications incorporate the hardware of the smart product and the software that controls it along with the user applications that interact with the product. That’s a lot of dependencies and a lot of pieces to test. When troubleshooting an issue or researching a vulnerability, a tester must investigate the mobile and enterprise applications that collect, analyze and display the IoT data, the various network connections across which that data travels, the IoT appliance’s hardware and its software.

Therefore, testing for IoT systems usually requires more manpower and time—along with more specialized resources. Individuals who develop and test products such as smart home security systems or thermostat don’t often have the same skills as the consumer app testers, and vice versa.

What IoT testing also requires is deep investigation into the “what-ifs” and corner cases, or those problems which occur outside of normal operating parameters. Take a home security system: if there is a power outage and the appliance doesn’t restart automatically when the power comes back on and no one is around to do it manually, that could cause a problem.

If a smart product breaks, it’s not a simple matter of uninstalling and reinstalling a new piece of software on the fly. If there is a suspected hardware problem, the customer usually needs to return the device for repair or replacement by the manufacturer. Developers and testers should aim to battle test IoT products more stringently than a mobile app, to avoid these situations. The goal for testing is to not only eliminate or minimize these risks but also create self-healing capabilities within the products.

As with mobile apps, beta testing is important in IoT to gain the real world feedback that’s not as credible in a lab test environment. Beta testing smart products is considerably more expensive than releasing cheap software code, due to the cost of the appliances, which means the beta community will likely be much smaller. Companies may opt to use internal employees as beta testers, allowing them to more easily collect, diagnose and repair troublesome devices.

As with mobile apps, IoT testers should identify and target the highest-risk scenarios for their testing plan: those which focus on user experience and stability. IoT apps should also be configured to collect and deliver more alerts and logging data than mobile apps, due to the higher number of components involved. This will make it easier to prevent, troubleshoot and fix problems when they arise.

It’s an exciting time to be a software tester today, due to the ever-growing array of software types and products that run software, all of which need quality assurance expertise. Testers have the ability to grow their careers quickly, through developing a deep understanding of these new applications and smart products which tightly integrate hardware and software. Companies hiring and managing these testers have the opportunity to create new best practices, which once finessed, can push their product to the top of the heap. After all, no matter how cool an app or smart product – if it’s clunky, users and customers won’t stick around for long.

Kevin Dunne is VP of Strategy & Business Development at QASymphony.

The Latest

October 16, 2018

More than half of organizations have a dedicated DevOps team to help them better implement agile strategies, accelerate release cycles and ensure continuous development. However, databases have a habit of holding DevOps back ...

October 15, 2018

Test Environment Management can save organizations close to $10,000 for each release, yet only four percent of large enterprises have fully integrated TEM processes into organizational DNA, according to the 2018 Test Environment Management Survey released by EMA and Plutora ...

October 11, 2018

Agile is indeed expanding across the enterprise and there was a significant jump from last year to this year in the percentage of respondents who indicated that all or almost all of their teams were agile, according to the State of Agile 2018 report from CollabNet ...

October 09, 2018

Adopting a modern application architecture is critical to business success and a significant driver of profit growth in today’s digital economy, according to the results of a global survey of IT and business executives released by CA Technologies and conducted by Frost & Sullivan ...

October 04, 2018

How do you integrate tools to enable shift-left performance? The following tools will simplify maintenance, can be managed in a centralized way, and provide an easy-to-use UI to comprehend results ...

October 03, 2018

Focusing at the API layer of an application can help enable a scalable testing practice that can be efficiently executed as part of an accelerated delivery process, and is a practice that can be adopted and enabled at the earliest possible stages of development — truly shifting left functional testing. But what about performance testing? How do we enable the shift left of nonfunctional testing? Here, we explore what this means and how to enable it in your organization ...

October 01, 2018

As businesses look to capitalize on the benefits offered by the cloud, we've seen the rise of the DevOps practice which, in common with the cloud, offers businesses the advantages of greater agility, speed, quality and efficiency. However, achieving this agility requires end-to-end visibility based on continuous monitoring of the developed applications as part of the software development life cycle ...

September 27, 2018

Imagine that you are tasked with architecting a mission-critical cloud application. Or migrating an on-premise app to the cloud. You may ask yourself, "how do the cloud savvy companies like Airbnb, Adobe, SalesForce, etc. build and manage their modern applications?" ...

September 26, 2018

In a DevOps evolution, there are many paths to success, but even more that lead to failure, according to the 2018 State of DevOps Report from Puppet ...

September 24, 2018

From how applications and infrastructure are developed, configured and built to how they are tested and deployed, pervasive automation is the key to achieving better efficiency and standardization that gives companies the competitive edge. Pervasive automation is the concept of scaling automation broadly and deeply across the entire software delivery lifecycle ...

Share this