Experimentation and quick feedback is the key to success of any product, while of course ensuring a good quality product with new and better features is being shipped out at a decent / regular frequency to the users.
In this session, we will discuss how to enable experimentation, get quick feedback and reduce risk for the product by using a case study of a media / entertainment domain product, used by millions of users across 10+ countries - i.e. - we will discuss Testing Strategy and the Release process an Android & iOS Native app - that will help enable CI & CD.
To understand these techniques, we will quickly recap the challenges and quirks of testing Native Apps and how that is different than Web / Mobile Web Apps.
The majority of the discussion will focus on different techniques / practices related to Testing & Releases that can be established to achieve our goals, some of which are listed below:
Functional Automation approach - identify and automate user scenarios, across supported regions
Testing approach - what to test, when to test, how to test!
Manual Sanity before release - and why it was important!
Staged roll-outs via Google’s Play Store and Apple’s App Store
Extensive monitoring of the release as users come on board, and comparing the key metrics (ex: consumer engagement) with prior releases
Understanding Consumer Sentiments (Google’s Play Store / Apple’s App Store review comments, Social Media scans, Issues reported to / by Support, etc.)
14. • Big user-base
• Millions of users, across geographies
• 13K+ unique device / OS combinations
@BagmarAnand
Reality
15. • Functionality has to work!
• Releases
• Frequent
• Black-out dates
• Analytics – as critical as some core features
• Partner Integrations & Payments
@BagmarAnand
Non-Negotiable Release Criteria
16. • Slow / inefficient / incomplete Testing
• Poor quality code-base, No visibility / control on impact of
changes
• Limited Test Automation
• Business Metrics
• Analytics – as critical as some core features
• Releases / issues found during black-out dates
@BagmarAnand
Tipping points
19. • Setup relevant Agile / XP practices
• Established and enforced Definition-of-Done
• No ad-hoc implementation (by directly talking to devs)!!
@BagmarAnand
Established structured WoW
20. • Build Quality-in by Testing early
• Feature kick-off
• à Business Requirements
• Story kick-off
• à User impact
• Dev-Box testing
• à Implement what was expected
• Thorough Story Testing & Exploratory Testing
• à Test was was implemented
• Product Owner sign-off per story & feature
• à Involve everyone, Quality is Team Responsibility
@BagmarAnand
Established structured WoW
21. • Automate as much as you can
• Unit Tests
• Integration Tests
• Functional Tests (e2e) à focused on user-journeys
• Analytics Tests
@BagmarAnand
Automation is the KEY!