Think Mobile Blog

Think Mobile
WHITEPAPER
4 Steps to Creating a Mobile Strategy

4 Steps to Creating a Mobile Strategy

Your customers have gone mobile … are you going with them? Learn how to reach your customers whenever, wherever they are.

btn-download-now

Connect

Current Articles | RSS Feed RSS Feed

Why Mobile App Testing Requires a New Approach and How We’re Doing It

  
  
  

Today, as we were delivering our live webcast to the business press, industry analysts, technology bloggers, and enterprise customers, I was watching the mobile testing demo with great interest. After spending over half my career in automated testing (12 years at testing pioneer Mercury Interactive), I couldn’t help notice the similarities with our old 90’s era WinRunner with its nifty record/replay technology, verification points and context-sensitive test scripts.

But then it also struck me that there are some fundamental differences between the testing of the business processes of applications like SAP and Oracle for enterprise (desktop) users, and today’s mobile apps. Sure, the underlying technology today is different, as is the delivery mode (now via the cloud) and the user experience, but there are more substantive ones too:

1. Testing vs. Quality

Testing in those days was never considered a glamorous discipline. QA used to be considered low on the corporate totem pole; the engineer wannabees, the naysayers, the ones who invariably stood in the way of releasing new products and services to market. The business would commonly shove in some more features to the release expecting that users would thank them for giving them so much functionality! “If it doesn’t work, we’ll patch it in the next release” was the mantra.

The CEO certainly didn’t know much about Testing either – if anything, it was just an impediment standing in the way of delivery. So are we really surprised that over 50% of all IT projects failed to be delivered on time, on budget and on requirements?

Today, I guarantee you that every CEO whose company has one or more mobile apps (whether for customers or employees or partners) is keenly aware that the quality of those apps is of paramount importance, and can make the difference between successful adoption and failure. They may still not know much or care about testing, but they certainly do care about Quality. The quality of the user experience, the design, and the function is now the overarching theme that takes precedence over everything else. Better to keep the app brain-dead simple with high utility, than a monster app with low usability. Quality is now an integral part of the delivery lifecycle, and QA (Quality Assurance) has evolved to QE (Quality Engineering), with a direct impact on the success of the business.

2. Release Cycles: Months vs. Days

When enterprises rolled out new versions and modules of their ERP/CRM systems, release cycles were literally measured in many months, even years. It wasn’t uncommon for a U.S. rollout to take 18 months, followed by another 18 months for subsequent regions. Changing timelines from the business to roll out new versions, coupled with engineering feature-creep meant that testers were constantly struggling to figure out what to test and when to test it.

In a previous blog (“Nothing is certain except death, taxes and a short mobile app lifespan”) we discuss how mobile enterprise apps need to be focused on a small feature set targeted around a specific set of needs to be successful and that the best approach is to write apps that users want and need right now. Most likely these apps won’t even live more than a year or two in total, and that’s after going through multiple iterative releases in between. So from a testing perspective, the feature set is much more defined.

Today, with agile development practices release cycles are down to days or even hours. With cloud development and DevOps teams, the line between development and testing has become blurred. Everyone is developing and testing at the same time, and the traditional model of testing purely as a discrete event prior to release is no longer valid.

3. Desktop vs. Mobile Devices

How simple life was when we had a corporate standard for the enterprise desktop; one brand of manufacturer (Dell, HP), one operating system (MS Windows), and one certified browser (Internet Explorer) – all governed and controlled by IT. Worst case was that there were a few supported browser versions, but by and large the number of end user platforms on which the apps would run was very small. This made the testing far more manageable since the number of permutations was so small.

With mobile today, there are literally hundreds of permutations to test for based on device manufacturer, platform, O.S., versions and display size. Factoring in the Android fragmentation (iOS fragmentation is also starting) and pretty quickly the list of testable permutations starts to get messy. On top of that, enterprises require a legitimate solution for testing that doesn’t involve jail-breaking or backdoor tomfoolery.

Requirements for Mobile Application Testing

The automated testing of today’s mobile apps therefore needs to be suited for this new world. The key requirements include:

  • Automated capture/replay (without jail-breaking)
  • Support for multiple platforms and device types
  • Integration with the development environment for rapid and continuous testing
Today Appcelerator announced a partnership with SOASTA the leader in cloud and mobile testing as well as a joint integration between Titanium and SOASTA’s TouchTest. We’re also now selling this solution under the name Appcelerator Functional Test as a new part of our platform. This, we believe, will provide our enterprise customers with a strategic advantage in their pursuit of business-transforming mobile apps.
Here’s what George Mehok, CIO of Safeguard Properties, the largest mortgage field services company in the U.S, had to say about this new solution and why they’re adopting it now:
“We’ve adopted mobility as a key enabler to providing productivity enhancing technologies to our nationwide network of contractors and inspectors, in addition to delivering superior quality to our clients. As an innovator in mobility, we’re actively implementing the integrated solution between Appcelerator Titanium and SOASTA TouchTest to further optimize the quality of our apps, reduce development cycle time, and accelerate adoption.”

If you’re interested in learning more about this, watch the recent webinar

describe the image

Comments

This is really a great and informative post. Truth is in this extremely competitive world of mobile applications, getting high-quality apps to market quickly can make or break the success of a product or company. With new applications for all platforms fighting for media attention and consumer dollars, the pressure to get apps built, tested and launched has never been greater. 
 
Regards.. 
Anjali from Titanium Application Development
Posted @ Monday, January 28, 2013 7:32 AM by Anjali Jain
Useful information shared..I am very happy to read this article..thanks for giving us nice info.Fantastic walk-through. I appreciate this post.... 
iphone application development services
Posted @ Tuesday, February 05, 2013 11:40 PM by Alexia Megs
@Anjali, @Alexia - thanks for the comments, glad it was of use.
Posted @ Wednesday, February 06, 2013 11:33 AM by Simon Berman
is there an ETA on titanium studio building in some automated testing as a result of the SOASTA partnership or any other plans?  
 
I ask because I want to use TDD asap. If it's not any time very soon i'll have to use the behave.js modified code that is out there until then.... 
 
thanks!
Posted @ Wednesday, February 13, 2013 8:52 AM by garrett
sorry I missed that in the article it says it's already available but as a product.  
 
So my real question is: Any plans on adding testing to titanium studio public releases?
Posted @ Wednesday, February 13, 2013 8:56 AM by garrett
@garrett - thanks for the comments.  
A few points to note: 
 
1. The public Titanium release, does include several built-in testing and debug capabilities such as on-device debugging and more.  
 
2. There's also numerous Marketplace Modules, made possible by the ecosystem of partners, ISVs etc.. Click here to see those Modules flagged as testing-related:  
 
https://marketplace.appcelerator.com/listing?892083872&q=testing  
 
3. Finally, with the enterprise version of our solution (the platform), there are additional capabilities, such as integrated functional testing, performance management etc. 
 
Posted @ Wednesday, February 13, 2013 1:00 PM by Simon Berman
what I am really interested in is an automated test suite for unit testing.  
I know there is some code out there for unit testing by denvers and extended by Mr. Saunders but I can't seem to run that code in Android due to global variable issues.  
I'm experimenting with other js eclipse plugins now. I will let you know if I find anything that works well.
Posted @ Wednesday, February 13, 2013 1:08 PM by garrett
The integration with development environments is key. I'm surprised given the surge in mobile development that the development platform/framework industry seems to be lagging. Put more effort here!
Posted @ Friday, February 15, 2013 11:11 PM by Tammie Chidls
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics