Blog

Return to the blog

The Appurify Manifesto: Fixing Mobile Development

May 6, 2013 · Manish Lachwani

Mobile application testing and debugging is broken today.  Many debugging and test automation tools available for the web or PC apps simply don’t exist for mobile.  Compounding this lack of tools is the complexity of the mobile environment.  Mobile is much more fragmented from an Operating System, device, and firmware perspective than either the web or PC.  Users are also more demanding, with the expectation that they can use their smartphones or tablets in an always-on, always-connected environment.  Your mobile app needs to load quickly, in all network conditions.  It can’t be a battery hog. Your app can’t lag or crash, even on older model phones.

Catering to these stringent user requirements and coping with a lack of tools isn’t just a small company problem. Sophisticated app development platforms like Sencha, Phone Gap and even XCode lack convenient testing and debugging tools.

Frustrated by the lack of tools, companies like Facebook and LinkedIn have redone their apps from HTML5 to Native after spending 1-2 years of effort.

Developers need a solution built for the mobile reality.  And the wait is finally over… introducing Appurify!

We founded Appurify a little less than a year ago, with the mission of building the next generation testing and debugging platform for mobile app development. Having been mobile developers, we knew the trials of app testing and performance optimization all too well.  Unable to robustly test our mobile apps, we’d be embarrassed to learn of quality issues from user reviews.  And we hated reading what were basically user bug reports that would accompany a 1-star review on the App Store.  There had to be a better way.

Appurify’s platform is in private beta and will be released later this year.  Our cloud-based testing and debugging service offers the most complete and effective solution available for mobile developers.  Appurify will radically fix the mobile testing problem.  We are very excited to bring our service to the mobile app developer community, and are thrilled to share this overview of our thinking and approach with you today.

The Appurify Approach to Mobile App Testing

In working with our customers for the last year, we have gained deep expertise on how to best  solve the mobile app testing challenge for developers.  Our view at Appurify is that it requires four core elements:

  • Automation and continuous integration (CI)
  • Access to real devices under real user conditions
  • Actionable results and outputs
  • A mobile debugging solution that is at parity with web and PC

Let’s talk about each of these in a bit more detail.

Automation and continuous integration

Simply put, manual testing is an obsolete approach for mobile, and it’s not a scalable or effective solution.

Mobile is too fragmented for manual testing to be practical or effective. The complexity of manual testing explodes as tests are run across a wide variety of devices, OS types, firmware levels, network conditions, etc. Manual testing puts unacceptable time requirements, costs, and the inability to capture bugs on developers. Everyone faces intermittent bugs — users will experience them, but manual testing may not. To further exacerbate this situation, as the pace of development increases due to sophisticated development tools, companies will need to further scale their manual QA teams to improve quality. Outsourcing or offshoring QA doesn’t solve the problem – it actually makes matters worse, because you now add an additional layer of complexity when developers try to troubleshoot bugs.

Our perspective is that automation is the only way to go with mobile. Appurify addresses the manual testing trap by bringing developers the best of automation and continuous integration for mobile.  We plug into your existing workflows and offer comprehensive support for all automated test frameworks, so if you already have your own existing test frameworks, you can keep using them.  If you don’t, that’s fine too. With Appurify’s test automation framework, you can easily migrate to automated mobile testing without even knowing how to write a single script.

Appurify is proud to help make manual testing a thing of the past.

Real devices in real world conditions

Given user expectations on mobile of an always-on, always-connected experience where their apps will perform, mobile testing must run on real mobile devices running tests in real world conditions. Different carriers, network strength, OS versions, firmware, orientation and available memory can all impact a mobile app’s performance.  Using an emulator or simulator for mobile testing just won’t cut it.

And mobile moves fast—new devices, OS’s, and firmware updates are coming out all the time—and setting up your own device farm and maintaining it yourself costs time and money (and sanity, when you’re trying to find a popular but out-of-production phone or tablet on Ebay).

Mobile app developers should test on real devices in real world conditions, but instead of building your own mobile device test farm, choose an outsourced SaaS-based service for mobile testing.  Lean on a team like Appurify.  We live, breath and eat this stuff.  Appurify’s service offers frequently-updated device farms of phones and tablets, in every configuration that developers might need.  You can use Appurify to gain access to all iOS devices (running all versions of iOS) and a wide and ever-expanding range of Android devices.  We offer API-based access to the different devices types and OS versions, so you get the exact configurations you need. We support all mobile HTML5, native, Web and hybrid apps including streaming video apps and games.  And we enable you to change and test different network conditions (carrier and signal strength), device location, orientation, and available memory on actual devices at run-time.  Appurify is an easy and powerful alternative to finding and buying devices, setting them up and maintaining them in a test farm.

Actionable results and outputs

Of course, it’s not just enough to ease major pain points in the process.  Developers need actionable results..  A testing solution needs to pinpoint what’s not working—the crashes, the performance issues, the long load times—and how you can fix it.

Appurify brings this clarity to developers.  Appurify offers real-time, actionable test outputs that you cannot get anywhere else. Our reports provide developers with rich, specific outputs including automated test results, UI screencasts, network captures with suggested optimizations, symbolicated crash reports, console logs, performance profiling (including CPU, memory, data usage, battery consumption and thermal logs), and Xcode instruments.  Appurify’s test reports also summarize this rich analysis into a view of your app’s performance bottlenecks and how to address them.

Armed with these reports from Appurify, developers can quickly and efficiently optimize their app for supercharged performance.

Debugging on mobile

As the leader in mobile testing, Appurify is also focused on offering a debugging solution that is at parity with debugging capabilities found on web and PC-centric solutions. Appurify offers– as an industry first–a fully-functional app inspector for HTML5 and native apps on real devices, including runtime UIView and UIWebview editing, network debugging, timelines, breakpoints, on disk content audit, cpu profiling, OpenGL inspection and memory leak detection. Think Firebug for real apps, on real devices.

Conclusion

With these four focus areas, Appurify aims to deliver a next-generation test and debug solution for the mobile wave.  We are excited at the response thus far, and we are thrilled to provide this overview document as an introduction to Appurify.  Please follow us on Twitter and Facebook, or contact us to join our email list.  We will have many more announcements soon, so stay tuned.