How I learned testing from mobile browsers

A presentation at The Rolling Scopes Conference in August 2019 in Minsk, Belarus by Ioana Chiorean

Slide 1

Slide 1

How I learned testing from mobile browsers Ioana Chiorean

Slide 2

Slide 2

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

Slide 3

Slide 3

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

Slide 4

Slide 4

Why even: Alo? Internet here.

Slide 5

Slide 5

These stories are what power us.

Slide 6

Slide 6

Slide 7

Slide 7

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

Slide 8

Slide 8

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

Slide 9

Slide 9

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

Slide 10

Slide 10

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

Slide 11

Slide 11

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

Slide 12

Slide 12

Slide 13

Slide 13

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

Slide 14

Slide 14

Quiz time: How many apps are too many?

Slide 15

Slide 15

Slide 16

Slide 16

Zero Waste approach in tech 5 Rs

Slide 17

Slide 17

  1. Refuse

Slide 18

Slide 18

  1. Refuse 2. Reduce

Slide 19

Slide 19

  1. Refuse 2. Reduce 3. Reuse

Slide 20

Slide 20

Refuse Reduce Reuse Repurpose / Rot

Slide 21

Slide 21

Refuse Reduce Reuse Repurpose/ Rot Recycle

Slide 22

Slide 22

Slide 23

Slide 23

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

Slide 24

Slide 24

Slide 25

Slide 25

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

Slide 26

Slide 26

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

Slide 27

Slide 27

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

Slide 28

Slide 28

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

Slide 29

Slide 29

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

Slide 30

Slide 30

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

Slide 31

Slide 31

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…

Slide 32

Slide 32

Slide 33

Slide 33

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

Slide 34

Slide 34

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

Slide 35

Slide 35

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

Slide 36

Slide 36

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

Slide 37

Slide 37

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

Slide 38

Slide 38

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?

Slide 39

Slide 39

Focus ● ● ● ● The guard Fast Safe Simple

Slide 40

Slide 40

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

Slide 41

Slide 41

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

Slide 42

Slide 42

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

Slide 43

Slide 43

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

Slide 44

Slide 44

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

Slide 45

Slide 45

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

Slide 46

Slide 46

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

Slide 47

Slide 47

One more thing.. Pun intended..

Slide 48

Slide 48

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

Slide 49

Slide 49

The future is now. The future is bright.

Slide 50

Slide 50

Slide 51

Slide 51

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

Slide 52

Slide 52

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

Slide 53

Slide 53

Slide 54

Slide 54

Slide 55

Slide 55

http://webcompat.com/

Slide 56

Slide 56

🐦 @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!