We had the chance to sit down with William Hurley ahead of his upcoming session at the 2012 Better Software Conference East in Orlando. William shared with us the testing methodologies and focuses that increase the quality of your mobile apps and leave your clients thrilled with your work.
A practice leader of quality management and security for Idea Integration Corporation, Will Hurley has been at the crest of numerous software development waves during his twenty-four year career. Will represented the US Air Force in the DoD’s first joint service system architecture, led CMM assessments, and supported the development of the CMMi. After leaving the Air Force, he consulted for industry-leading companies, helping them adopt and apply new development methods. In his current position, Will consults with clients in North America on achieving desired system and product lifecycle characteristics.
Noel: Of the areas of Customer Experience, Functionality, Mobile Ecosystem, Performance, and Security - are there any areas that take precedence over others, or are they all equally important when launching a successful mobile app?
William: As general measures of application quality characteristics, they are equal. However, in industry, banking and finance, we may see additional emphasis on security. We display the data in a radar graph and allow sorting by industry so clients can measure apples to apples.
Noel: With new devices being introduced constantly, what kinds of problems does this create during the mobile app testing process?
William: It depends on what functionality your application is providing and if you have committed to native or browser based application. We try to simplify as much as possible. Our take on the Serenity prayer is, “grant me the sense to test what I can control; the courage to avoid the things I can’t; and the wisdom to know the difference.”
We see greater stability on native Android applications across all devices. We see good stability on Apple devices, as well. We believe good compatibility and interoperability programs will continue to reduce issues even as the number of devices grows. We still see most issues coming from application development issues. When you investigate the root cause of an application failure it comes down to how the application was coded and not the platform.
Noel: What kinds of advantages and/or dangers, does cloud-based testing provide when testing mobile apps?
We are fans of emulation (simulation for Apple), device and cloud-based testing solutions. Again, it all comes down to what your application does and how important it is to your brand. The biggest issue we have seen in cloud adoption is people not investigating what they really need before entering into a contract with the various cloud companies.
One of our clients recently considered a multi-year deal for 8 carriers and 24 devices, with the ability to change 1 device per month. This deal was going to cost her a good portion of her budget. The reality is she could have achieved similar results if she chose 2 carriers and 5 devices. These are the types of real ROI issues that can slow overall cloud adoption.
Noel: Are there any testing tools or methodologies that are on the horizon and will make testing easier or more effective in the future?
William: Yes, and the same tools have been with us for a while. We suggest teams invest in static analysis tools. Tools that can help reduce the number of common problems that lead to unsuccessful mobile applications. There are both open source and commercial tools that should be part of every development/test stack. We are fans of using tools that share the language that the developers use. Finally, we like session based testing methods for mobile projects using agile practice. Without such methods we see scrumfalls occurring.
Noel: What is the main takeaway that you want attendees to your session to be able to take back to their own companies or projects?