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

July 16, 2018

The key to mainframe DevOps success is in quickly identifying and removing major bottlenecks in the application delivery lifecycle. Major challenges include collaboration between mainframe and distributed teams, lack of visibility into the impact of software changes, and limited resource flexibility with scaling out necessary testing initiatives. Now let's take a closer look at some of these key challenges and how IT departments can address them ...

July 11, 2018

How much are organizations investing in the shift to cloud native, how much is it getting them? ...

July 10, 2018

In the shift to cloud native, many organizations have adopted a configuration-as-code approach. This helps drive up application deployment velocity by letting developers and DevOps teams reconfigure their deployments as their needs arise. Other organizations, particularly the more regulated ones, still have security people owning these tools, but that creates increased pressure on the security organization to keep up. How much are organizations investing in this process, and how much is it getting them? ...

June 28, 2018

More than a third of companies that use serverless functions are not employing any application security best practices and are not using any tools or standard security methodologies to secure them, according to the State of Serverless Security survey, conducted by PureSec ...

June 27, 2018

The popularity of social media platforms and applications is spurring enterprises to adopt "social business" models to better engage with employees and customers and improve collaboration, according to a new study published by ISG ...

June 25, 2018

The previous chapter in this WhiteHat Security series discussed Codebase as the first step of the Twelve-Factor App and defined a security best practice approach for ensuring a secure source control system. Considering the importance of applying security in a modern DevOps world, this next chapter examines the security component of step two of the Twelve-Factor methodology. Here follows some actionable advice from the WhiteHat Security Addendum Checklist, which developers and ops engineers can follow during the SaaS build and operations stages ...

June 21, 2018

DevSecOps is quickly gaining support and traction, within and beyond information security teams. In fact, 70% of respondents believe their culture can embrace the change needed to fuse Security and DevOps, according to a new survey of 80 security professionals by Aqua Security ...

June 20, 2018

The larger the company size, the higher the proportion of low IT performers, according to the State of DevOps: Market Segmentation Report from Puppet, based on the 2017 State of DevOps Survey data ...

June 18, 2018

An overwhelming 83 percent of respondents have concerns about deploying traditional firewalls in the cloud, according to Firewalls and the Cloud, a survey conducted by Barracuda Networks...

June 14, 2018

Despite the vast majority of cloud management decision-makers believing that DevOps and microservice enablement are important, very few believe that their organizations are capable of delivering them today — a gap that is costing the average enterprise $34 million per year, according to new report from the Ponemon Institute ...

Share this