Can We Deliver Mobile Apps Continuously?

Preview:

Citation preview

?Can We Deliver Mobile Apps ContinuouslyDAN WATERSXAMARIN TECHNICAL SOLUTIONS PROFESSIONAL AT MICROSOFTDAN@XAMARIN.COM | @DANWATERS

We Can Deliver Mobile Apps ContinuouslyDAN WATERSXAMARIN TECHNICAL SOLUTIONS PROFESSIONAL AT MICROSOFTDAN@XAMARIN.COM | @DANWATERS

Quality Matters MoreOn Mobile

Short User SessionsSmall Form FactorsLimited Resources

Thousands of iOS and Android APIs

Public web APIs

Backend integrations

Third party libraries

Memory, CPU and network constraints

Count of distinct device types (out of 682,000 unique devices running OpenSignal apps)

2013: 11,8682014: 18,7682015: 24,093

Mobile app quality can beOVERWHELMING

How can we do better?Vision, Tools, Processes, and Baby Steps

7 Reasons To Adopt Continuous Delivery

Much Higher Release Readiness Refactor with Confidence Consistent, Actionable, Automated Test Reports Better Feedback Move Faster, Safely Better Team Morale Higher Quality Software!

Test Sooner.

Faster Release Cycles

Mobile DevOps Vision

Vision for the developer experience – Mobile DevOps

Pick up a task

Write code

Manual tests

Code review

Push commit

CI with automated

tests

Automated deployment to beta users

Review test results

Tools Demo (kinda)

The 20 Minute Goal

Conceptual Build Templates“Quick CI”

• Optimize for shorter runtime (< 20 min)

• Run on every check-in (CI)

• Includes critical path smoke tests

• Also includes smoke tests for features related to the commit (rotate new features in and out)

• Small set of critical devices

CI Regression• Chain and run only if

Quick CI is green• Larger set of tests

and devices• Deploy to beta users

if it passes• Immediately triage if

it fails

Weekly Regression• Scheduled build

starting after everyone goes home for the weekend

• Includes all tests and all target devices

• Runtime could be very long

The Highest-Value Automated UI Test For Mobile Apps

[Test][Category(“smoke-tests”)]public void AppDoesNotCrash(){ app.WaitForElement(“main_logo”); app.Screenshot(“App did not crash.”)}

C# Example (NUnit + Xamarin.UITest)

Happy Test Cloud Customers

Pinterest uses Xamarin Test Cloud to delight Pinners everywhere, guaranteeing its apps look amazing and work without issue on any device for over 100 million users.

Happy Test Cloud Customers

Coca-Cola Bottling Co. Consolidated is transforming their business with anywhere, anytime accessible field sales apps powered by Xamarin for Visual Studio, Azure, and Visual Studio Team Services.

Learn more at www.xamarin.com/customers

3 Key TakeawaysTo Help Delight Your Customers and Team

1. Test Immediately

2. Establish a Build

3. Take Baby Steps

Thank You!

Dan WatersXamarin Technical Solutions Professional at Microsoftdan@xamarin.com | @danwaters

Recommended