Channels ▼
RSS

Testing

You Are No Longer a Testing Expert


The rise of mobile technology and applications has marked the beginning of the end for many so-called application testing "experts." Mobile has the potential to become an extinction event that threatens to render an entire generation of testing professionals obsolete, unless they choose to evolve. Unfortunately, many are still in denial about the need to adapt. This denial is fueling the sorry state of mobile application testing we see today. Perhaps this note can serve as a wake up call for change and lead to a flourish of experts engineering well-performing mobile apps.

The Same but Different

Mobile continues to redefine the ways in which we develop, test, and deploy applications. The skills gained through years of traditional (defined here as hard-lined, PC-based) app development and testing no longer apply. While they might seem the same, their complexity is as different as a 2013 Toyota Prius is from a 1960s VW Bug. They both have four wheels and an engine, but unless you have the mechanical skill set and knowledge to work on an on-board computer or nickel-metal hydride batteries, there is no way I'm letting you touch my hybrid.

All About the Network

Which do you usually complain about more when it comes to performance: your traditional Internet connection or your mobile data connection? I'll put my money on your mobile connection. The reason is the network. From city to city, and even sometimes block to block, connection and performance is unreliable and constantly shifting. The simple physics of mobile technology result in greater latency variation than a hard-lined connection, making slower, unreliable speeds inherent in a mobile connection.

This was not something you had to account for when testing apps across traditional network conditions. A hard-lined connection, even if it was at a crawling 28.8 Kbps, could be counted on to remain constant. You knew what network conditions your app would encounter and this made performance testing (relatively) easy.

Assuming a constant level of network performance is a risky misstep with mobile that can leave major issues undetected. Testing apps in a traditional manner without accounting for such mobile network issues as increased and variable latency, jitter, and packet loss means your testing will yield unreliable results and put your app in a position for failure.

There Is Nothing More You Can Do

In traditional app development and testing, there was almost always something "else" you could do to improve performance. If you were perfecting an enterprise application, you more than likely had control over the hardware that would run the application. You could install more memory or faster processors on that hardware to make up for deficiencies in the app.

With the rise of BYOD (bring your own device) and the fragmentation of the mobile device space, there is very little you can do to the hardware to mask application performance issues. An iPhone is an iPhone until the next one is released. With mobile apps, you must tweak the app to fit the hardware.

While it used to take years between versions of Microsoft Windows, new Android and iOS versions are being released annually (sometimes even more often). Each new OS version presents a new set of issues to design, develop, and test for to ensure apps perform up to par on the latest and greatest systems.

With mobile apps, too, you don't have the ability to manipulate the network as you could when working with a traditional system. Your toolbox of fixes is now obsolete. You cannot add extra bandwidth to the Verizon or AT&T mobile networks. Similarly, WAN accelerators or other network and application optimization solutions are already built into the mobile networks, so that option for increasing performance is off the table.

If issues are discovered in mobile app testing, you need a new set of tools. Reducing the chattiness of the application, shrinking or eliminating files or images, and JavaScript placement are now some of the "go-to" remedies for the mobile app tester. The focus has to be on improving the app through better design, development, and testing. Ways of manipulating the environment in which hard-lined applications operated just don't cut it anymore.

Time Is Not On Your Side

It takes time to become an expert at anything. How long have you been developing and testing Internet and PC-based apps? Contrast that to how long you have been dealing with mobile applications. With that difference in time and experience, it is hard to consider anyone an "expert" in mobile app testing.

But here's the Catch-22. While serious emphasis on mobile apps might still be just a few years old, you do not have the luxury of spending years building up a mobile skill set. You need those skills now. The speed of mobile adoption and its dramatic effect on business, in terms of productivity, revenue, and competitive advantage, is unlike anything we have seen. The public, and therefore your employer, is demanding well-performing mobile apps now.

We are reaching a momentous tipping point where the majority of Internet activities will be executed from a mobile device. While I'm not about to sound the death knell for traditional Internet connections, the future, and its jobs, will belong to mobile.

Embrace the change. Embrace the challenge of mastering an emerging, yet deeply rooted, technology. By embracing and mastering the differences of mobile application testing, you are positioning yourself to be in demand for many years to come.


Dave Berg is the senior director of product management at Shunra Software, a Philadelphia-based company specializing in network virtualization.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video