The Need for Speed Shouldn't Bleed: Don't Let Mobile Testing Bottleneck Your Application Development
|David Fink in Enterprise Tuesday, January 13, 2015|
"Today's mobile application needs to be developed in record time, yet testing an application for errors is still the slowest part of the mobile development process. Unless you have a top of the line testing tool you are forced to play Russian roulette. You either test less so you can release sooner, or you test thoroughly but lag the competition." Tal Barmeir, CEO Experitest
Mobile applications have rapidly become the new champions of corporate growth. When making buying decisions, customers are considering the quality of the seller's mobile app as serious as the color of the product itself. Successful mobile campaigns are catapulting second tier companies to the top of their markets. Companies we never heard of before are becoming commonplace just from the quality their mobile application.
The competition for space on a smartphone is fierce.
According to Nielsen, there are over 1 million mobile applications available in the Google Play and iTunes App Store, but at any given moment the average user has only 26 applications downloaded to his phone. That leaves little room for a poorly working app. If an application has problems the user will discard it. Two thirds of applications have a one star rating due to poor quality.
New operating systems have come to market with the capacity to support thousands of new features. Any mobile developer can enhance the functionality of his app to provide more satisfaction to the user. Once one application in an industry adds something new, the others begin to pale in comparison. They become prime candidates for deletion. Mobile application developers are under extreme pressure to act fast. New versions of a mobile application have to be redeployed as soon as possible. Every moment wasted costs them real money.
Enter Mobile Testing
Mobile testing is the bottleneck of application development. From development to deployment it is the testing phase that takes a fast-paced process and slows it down. When a change is made to an application, every function must be tested to make sure the improvement didn't stop other areas of the application from working.
Along with testing as many scenarios as possible, the testing team has to do it over different devices including tablets, smartphones, phablets, and the like. There are over 20,000 device types and models on the market. For each device type the tests must be performed over the major operating systems, iOS, Android, WindowsPhone, and Blackberry, and their current and previous versions. That's a matrix of over half a million scenarios.
This creates a bottleneck that puts the developer in a difficult situation. He can guarantee high quality for his application by testing over a large a sample, but it may delay an already demanding time schedule. He can also decide to put deployment front and center, sacrificing thoroughness to bring his application to market ahead of his competitors. The risk here is that any errors he missed may be discovered by the customer himself. If the error is discovered by someone with a large social media following it can be a disaster.
The stakes are high. The closer to the point of deployment a bug is found, the more it costs the company to fix it. The successful business is one that creates a testing strategy which guarantees the seamless functioning of an app, and does it quickly.
But can it be done? Can you test quickly and thoroughly all at the same time?
Three Solutions to this Challenge
Test automation is the first option. Using a tool like Experitest's SeeTest Automation will save you time. You can connect several devices to your computer at once, and using test scripts automatically run whatever operations you want on your mobile application. You can run the same test on any device, using any operating system. SeeTest will run the test, generate reports on what worked and what didn't, and enable you to quickly make fixes to re-release your app. The tool even creates scripts based on steps you manually perform on your device, you don't have to code anything. These scripts can be translated into the major testing environment languages and used as you please.
You can also speed up your quality testing by integrating an automation tool into a Continuous Integration application like Jenkins or ALM. Continuous integration software will take the new improvement of your application and "call" the testing tool to perform the required tests. Once the tests pass the new version of the application is immediately deployed, keeping pace with the competition.
You can even use the cloud to expand your testing. After all, it can get a little complicated to attach 20,000 different devices to your local computer! Using a cloud solution like SeeTest Cloud lets you set up a mobile lab on a server in your company. You can connect as many devices as you like to the lab, and a tester can use any of these devices by remote, manipulating a reflection of the device on his computer screen. The advantage of the cloud is that you can test safely inside your company firewall without exposing your application. Some companies assign devices to testers throughout company offices all over the world, creating a 24 hour a day testing operation.
Have You Cake and Eat It Too
As the mobile economy continues to expand, the quality of your applications will play a greater role in the success of your business. With the right testing strategy and a good testing tool there is no reason why you have to sacrifice quality to get your newest release to market ahead of everyone else.
Read more: http://experitest.com/automation/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.