How I learned testing from mobile browsers Ioana Chiorean

Who is L̶o̶a̶n̶a̶ Ioana Chiorean? I am a PM (former QA TL) & CL @ Cognizant Softvision Mozillian for more than 9 years now I volunteer - Mozilla & EU Code Week. I worked on devices for more than 10y. Twitter @ioana_cis # lifeofamozillian

the future is bright Agenda 1 why even? 5 2 4 how many apps are too many? never stop learning 3 One single R reuse

Why even: Alo? Internet here.

These stories are what power us.

New Markets (what does that even mean?) 1. Geographically

New Markets (what does that even mean?) 1. Geographically 2. Oldies but newly onlines

New Markets (what does that even mean?) 1. Geographically 2. Oldies but newly onlines 3. Babies

New Markets (what does that even mean?) 1. Geographically 2. Oldies but newly onlines 3. Babies 4. Everybody!

Do you have 4 minutes to talk about Firefox for Android History Lesson

● ● ● ~ 2009 XUL -> Java Native UI WebView - GeckoView ● ● ● ● ● ● Bulky Hungry Large Hard to maintain Arhaic process All the addons in the world

Quiz time: How many apps are too many?

Zero Waste approach in tech 5 Rs

  1. Refuse

  1. Refuse 2. Reduce

  1. Refuse 2. Reduce 3. Reuse

Refuse Reduce Reuse Repurpose / Rot

Refuse Reduce Reuse Repurpose/ Rot Recycle

Product Innovation Pipeline & Early Product Development Ideate Valued Products Pilots Prototype • •

Projects that use Android Components Focus Telemetry Crash Reporting Browser Session Domain Suggestions Search Auto-complete Error Pages Colors A/B Testing Firefox for TV Telemetry Browser Session/Engine Toolbar Firefox for TV Telemetry Browser Engine Fonts / Icons Firefox for Echo Show Telemetry Toolbar Domain Suggestions Fonts / Icons Reference Browser Telemetry Crash Rerporting Gecko Engine Search Toolbar / Awesomebar Firefox Accounts History Storage & Sync Lockbox Telemetry Crash Reporting Firefox Accounts Logins Storage & Sync Data Protection Fenix Will use All The Things

Look Under Your Chair! Components! Supporting Services Telemetry Glean (Telemetry v2) Crash Reporting A/B Testing Generic UI Photon Colors,Icons, Fonts Progress Indicators Autocomplete Field More expected for Fenix Firefox Services Ecosystem Firefox Accounts Sync (History, Bookmarks, Tabs) Send Tab GeckoView Support Downloads Intent Processing (Sharing) Chrome Custom Tabs Context Menus (long presses in web content) Prompts (Alerts, dialogs, pickers) Find in Page Browser Core Engines (System WebView, GeckoView, ServoView) Tab Management Tab Counter Permissions Tracking Protection Error Pages Toolbar / Menus Awesomebar Tabstray Search Storage Domain SuggestionS

Don’t stop me now, I’m having a good time Never stop learning..

Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. Jack of all trades, master of ALL!* * not a bug, it is a feature

Advocate of user - UX Software Engineer - coding Explorer - Creative work Scientist - Heuristics / Measurements Writer / Documentarist

Analyzing users stories and/use cases/requirements for validity and feasibility Collaborate closely with other team members and departments Execute all levels of testing (System, Integration, and Regression) Design and develop automation scripts when needed Detect and track software defects and inconsistencias Provide timely solutions Apply quality engineering principals throughout the Agile product lifecycle Provide support and documentation

Tester’s CV Looks like a CV, but it is not, don’t worry.. Attention to details Analytical thinking Independence Proactivity Ownership Logical thinking Creative Continuous learning Efficient communication & so many other…

Fennec Aka Firefox for Android ● ● ● ~ 2009 XUL -> Java Native UI WebView - GeckoView ● ● ● Bulky Hungry Large ● ● ● Hard to maintain Arhaic process All the addons in the world

Testing Fennec Aka Firefox for Android ● ● ● ● ● ● ● ● Load Compatibility Reliability Smoke / Beta / Acceptance Integration System Regression Automation ● 450 BFTs ● ~55 Smoke

Fennec iOS Yeah Aka Firefox for iOS ● ● ● ~ 2015 Webkit New tools

Testing Fennec iOS Yeah Aka Firefox for iOS ● ● ● ~ 2015 Webkit New tools

Firefox TV Aka Firefox for Fire TV ● ● ● fireman new perspective in as client/PMO Partnerships

Testing Firefox TV Aka Firefox for Fire TV ● ● fireman new perspective in as client/PMO ● ● ● ● WebCompatibility Audio/ Video encryptions Hardware / 4K Writing with a remote?

Focus ● ● ● ● The guard Fast Safe Simple

Testing Focus ● ● ● ● The guard Fast Safe Simple ● ● ● ● ● ● Non functional testing focus Security - PB, ETP, DNS over HTTPS Load Reliability Smoke No tests reused

Reference Browser ● ● ● ● The player Kitchen experiments A-C Not sociable but smart

Testing Reference Browser ● ● ● ● The player Kitchen experiments A-C Not sociable but smart ● ● ● ● No UX testing Unit Testing Component Testing Documentation

Firefox Lite ● ● ● ● The slim one Fast Simple Funky - aka Screenshoty’

Testing Firefox Lite ● ● ● ● The slim one Fast Simple Funky - aka Screenshoty’ ● ● ● One Localization / Market Performance Low connectivity or none at all

Firefox Preview ● ● ● Has everything new June 2019 A-C based ● ● ● XUL -> Java Native UI -> Kotlin WebView - GeckoView New process - Github ●

Testing Firefox Preview ● ● ● ● ● ● ● ● A/B testing UX Alpha testing WebCompatibility Performance Install Localization New testplan, test suites ● Test everything!

One more thing.. Pun intended..

Firefox Accounts ● Growing ○ 2018: 6.6% -> 9% of Firefox users ● FxA users more engaged ○ Sync users visit ~50% more URIs ○ 50% of the days of the month, vs. 33% for non-users ● Desktop -> Mobile ○ 12.5% of users login on mobile within 2 days after creating desktop account

The future is now. The future is bright.

Don’t be the sheep! Be the wolf fox! Photo credit.

Recap.. sort of.. Strategies: ● Timely planning testing ● Automation vs Manual Investment ● Smoke/ Acceptance testing ○ as little as possible for the oldies ○ As much as needed for the newbies ● Specialise ● Be “lazy” ○ Firefox Rocket/Lite - One language vs Fenix/Fennec - multi L10n

http://webcompat.com/

🐦 @ioana_cis ● ioana@mozilla.com ● http://bit.ly/rsconf-ioana https://github.com/mozilla-mobile Let’s fix the world one bug at a time!