8 great testing tools for mobile app developers

Emerging tools and cloud-based services help you get your apps right across devices

8 great testing tools for mobile app developers

8 great testing tools for mobile app developers

The rapid proliferation of mobile devices presents a particular nasty testing issue for mobile app developers. With so many operating system versions, browsers, and devices in circulation, ensuring a quality experience across all combinations can be nearly impossible, especially when you have a limited number of devices on hand.

Plus, the more you ask of your apps, the more important testing can be. “With applications becoming increasingly complex, testing is now a crucial part of the development lifecycle,” says Subu Baskaran, senior product manager at mobile app test tools provider Sencha.

To help developers find bugs and see how their apps will perform in the real world, a variety of tools and services have emerged, including cloud-based options that give developers access to thousands of device and software combinations. The following are eight key testing technologies for mobile app developers.

[ Download InfoWorld’s essential guide to microservices and learn how to create modern web and mobile applications that scale. | Cut to the key news in technology trends and IT breakthroughs with the InfoWorld Daily newsletter, our summary of the top tech happenings. ]

Appium

Appium

Appium is an open source mobile test automation framework aimed primarily at functional testing for your app’s UI. It can be used with native, hybrid, or web apps, and it allows developers of native apps to test without adding an SDK or having to recompile. Tests can be written with development tools using any WebDriver-compatible language, including Java, Objective-C, or JavaScript. Companies such as Sauce Labs even offer Appium testing in the cloud. Appium provides a stability and compatibility layer on top of platform-specific automation technologies.

The core of Appium is written in Node.js, though code for drivers might of necessity be partially in Java (Android) or some other language, says Jonathan Lipps, a key developer of Appium: “You can fruitfully think of Appium as a universal translator, a single API that knows how to talk to the latest and best automation technology for the platform you want to test so you don't have to.” Appium was donated by Sauce Labs to the JS Foundation last year.

Bitbar Testdroid
Bitbar Technologies

Bitbar Testdroid

Billing itself as “devops for mobile testing and monitoring,” Bitbar’s Testdroid is available as a public or private cloud service or as an onsite testing service. Bitbar Public Cloud (Testdroid Cloud) provides a cloud-based mobile device farm with thousands of Android and iOS devices for automated and manual mobile app testing.

“A majority of our customers, they build their own test scripts, they use their own infrastructure but they access our devices,” says Ville-Veikko Helppi, Bitbar head of demand generation. “That’s how this works as a software-as-a-service test environment.”

As an on-premises solution, TestDroid Enterprise automates functional, performance, stress, regression, and stability testing of mobile apps and associated services. Testdroid Private Cloud provides cloud-based devices and IaaS for device testing. Distributed teams are supported, and devices are monitored for accessibility to ensure they are available around the clock. Helppi notes that Testdroid is used by many payment providers for testing the functional side of apps and back-end integration.

Bugsee

Bugsee

Bugsee is a cloud-based tool that monitors and records the state of a system, offering bug and crash reports with bug information sent to the developer’s bug tracker. The company describes Bugsee as a black box or flight recorder for mobile apps. Developers can debug iOS or Android apps by embedding Bugsee’s SDK. Apps built with Cordova and React Native are supported as well.

Officially launched in January, Bugsee captures video of user interactions in live apps, providing insight to developers and eliminating guesswork in tracking bugs. Bugsee can be used during initial development, beta testing, and live deployment of the app, CEO Alex Fishman says. Developers get a report on the problem. Also, Bugsee can be integrated with tools such as Jira.

Bugsee customers have been pleased so far. “The video is really the killer feature for us,” says Jeremy Huff, founder and CEO of Hello World Engineering. “At the early stage in the product, it’s much more efficient to see videos than gather descriptions from users.”

CrossBrowserTesting
CrossBrowserTesting

CrossBrowserTesting

The CrossBrowserTesting service provides access to a device lab in the cloud, saving developers from dealing with virtual machines, device labs, and cross-browser testing, according to the company. “This is browser testing in the cloud. We do not do native applications,” says Daniel Giordano, director of marketing at CrossBrowserTesting, which is owned by Smartbear.

Developers can access more than 1,500 mobile devices and desktop browsers. Developers can compare web pages side by side across various browsers. Testing sessions can be recorded in high-definition video and screen snapshots shared with other development team members. Selenium, Appium, and other tests can run across CrossBrowserTesting’s remote devices. For users who want to test behind their company firewall, CrossBrowserTesting offers a Chrome extension or Node.js tunnel.

Sauce Labs
Sauce Labs

Sauce Labs

Cloud-based Sauce Labs offers testing services for Android and iOS devices, as well as web apps, with users able to access simulators, emulators, and real devices. Native, hybrid, and mobile web tests can be performed. The company’s testing cloud offers more than 800 platform, OS, and browser combinations. Developers can also perform testing on a private real-device cloud. “We really simulate what it would be like to be a user and actually click through and enter information into the app” and check the results, says Lubos Parobek, vice president of product at Sauce Labs. Developers can test with Appium and Selenium frameworks, and tests can run in parallel.

Parameshwaran Murli, who uses Sauce Labs’ TestObject mobile app device testing platform as an architect at LogMeIn, said his company has been using TestObject for running tests using Appium and Espresso, as well as internal testing frameworks. “Each session we run creates test reports, which include crash logs, device logs, test case video, step logs, et cetera, which helps us find bugs quickly,” Murli says. TestObject has made it easy to orchestrate multiple devices in a single test, he adds.

Sencha

Sencha

Sencha Test provides functional testing of applications built with Sencha Ext JS, the company’s platform for building mobile and desktop web apps. One test script can be leveraged across mobile and desktop browsers. Sencha Test uses a proxy mechanism to generate a unique URL that can be used in mobile browsers on real devices. Tests can be written in JavaScript via the Jasmine testing framework.

“Once the application under test is launched on the mobile browser, the device becomes available within the Sencha Test test runner,” Sencha’s Baskaran says. “The mobile device can be chosen with other available local desktop browsers and remote mobile browsers running in emulators.”

Sencha, which recently released version 2.0 of Sencha Test, is looking to add integration with ALM tools to provide a devops implementation in a future release. The tool currently integrates with continuous integration tools, including Jenkins and TeamCity. Also planned is integration with defect-tracking tools.

TestFairy
TestFairy

TestFairy

TestFairy is a beta testing platform for mobile apps, providing a video of each test performed, including CPU, memory, and network characteristics. The platform centers on managing the mobile lifecycle, with the intent of helping users better understand exactly what happened in their app while it runs a test, CEO and co-founder Yair Bar-on says.

“We have a software platform that helps enterprise organizations perform very, very effective dogfooding,” Bar-on says. It is compatible with bug trackers, including Jira, Bugzilla, and GitHub.

TestFairy also offers enterprise security capabilities such as single sign-on, to ensure that only your organization’s employees can download the company’s apps. TestFairy can be installed on a private cloud or any Amazon Web Services location. TestFairy also supports on-premises deployment.

Ubertesters
Ubertesters

Ubertesters

Ubertesters is a SaaS offering for managing the development lifecycle, providing bug testing and tracking. Users can perform mobile beta testing through Ubertesters, and video recordings of entire test sessions are provided, along with screenshots.

“It’s the Jira of the QA world,” CEO Ran Rachlin says. “We are helping clients to distribute the builds both in iOS and Android,” as well as providing bug reporting, Rachlin adds.

The Ubertesters platform helps companies manage their in-house team of beta testers or QA team. It also features a crowd testing service that enables companies to use external resources of QA engineers. Ubertesters has testers deployed around the world who report back on bugs. “Crowd testing allows more people to participate in the testing process, with significantly lower cost to the organization, and in a much shorter lead time when compared to the traditional in-house testing process,” Rachlin says.

Ubertesters tests usability, functionality, and localization; security testing may be added in the future. Ubertesters supports native and cross-platform development, with the latter enabled via Xamarin and PhoneGap.