This week, we launched a four part series that covers simple steps you can take to improve your apps and make your release cycles faster. Our advice is based on real-world challenges and rewards from Niels Frydenholm, Senior iOS Developer at eBay Classified, who spoke at Xamarin Evolve 2014.
Today we’ll look at how to put the pieces together and expand your focus.
In the first three parts of the series, we discussed the path from manual testing to automation, integration with release management, and how and why to target real devices in the cloud. If you’ve made it through all three steps, you’re ready to reimagine quality in your organization, and focus resources on higher value, more strategic activities.
Automation allows QA and development to shift out of fire-fighting mode and reclaim time. In the first stage of the shift, developers and testers will have time to perform creative work that can further increase test quality, efficiency, or coverage. For example, eBay’s dedicated tester can now focus more of his time on supplementing automated testing with manual exploratory tests, and its developers no longer have to worry about building on top of the fragile legacy code created by their former waterfall process. The team can now focus on creativity and productivity, rather than playing clean-up.
A new direction in test strategy and tooling provides a rare opportunity to quantify the impact of quality assurance. Within a short time, developers should notice substantial changes in quality KPIs, from performance data and crash frequency to internal metrics, such as open bugs and time-to-resolution (TTR). This information can be invaluable during budgeting, as it assigns objective value to a traditionally hard-to-quantify discipline. It also lays the foundation for the next stage of the shift that makes quality a company concern.
Elevating the Discussion
“If you have happy customers, you’re going to have a happy boss.”
The next phase of the shift expands the definition of quality and the participants in the quality process. By integrating an automated test and release management system with user monitoring and analytics such as Xamarin Insights, teams can redefine quality assurance from a reactive, tactical bug-catching role to a provider of data-driven, strategic guidance for a continuous “build → test → monitor” workflow.
While QA will remain the gatekeeper for this data, the dissemination of this information should also be automated. Starting with departments closest to the product (typically sales, marketing, and product management), you can work with IT to integrate core quality metrics into business apps and dashboards other departments use to justify business decisions.
Putting it All Together
Mobile testing is imperative, but regardless of sophistication or size, most developers are doing it poorly – or not at all. eBay’s business and scale are unique, but the problems they experienced are not, and all mobile developers can learn from their example. To maintain a competitive release schedule without sacrificing quality, developers must embrace test automation, test on real devices, and integrate those tests with development and release processes. Implemented properly, testing can integrate with minimal overhead and have an immediate impact on product quality, developer happiness, and user satisfaction.