Testing Progressive Web Apps (or How to Achieve App-iness) - Elizabeth Fiennes and Callum Akehurst-Ryan

  • Locked
Elizabeth Fiennes's profile
Elizabeth Fiennes

Callum Akehurst-Ryan's profile
Callum Akehurst-Ryan

Principal Test Engineer

Testing Progressive Web Apps (or How to Achieve App-iness) - Elizabeth Fiennes and Callum Akehurst-Ryan image
Talk Description

First proposed by Google in 2015, Progressive web apps (PWAs) are now in the infant stage of their development. As with any child, people are curious about which developmental direction the technology will take.

What are they though? Are they a thick client/native app that runs in the browser or a web app with some thick client/native app functions? I will help with defining this in this talk and draw out how that definition impacts the testing that needs to be done as a result.

At a simplistic level, a PWA is a layering of technology types, almost a miniature integrated system in itself. It has its own rules on how it will behave depending on how it is built, how it is accessed, the options the end user chooses and any hardware available. As testers, we don’t have the luxury of waiting until an app is all grown up before we start to test it. So how can we test PWAs whilst remaining faithful to shift-left principles?

A couple of years ago, we entered a programme of work that intended to produce multiple PWAs for the financial industry. Never having worked with them before, we did a lot of research and asked industry colleagues for help in understanding the tech. However, there was little to no help forthcoming on how to test for this type of app as the tech was so new. This meant we had to come up with our own! Drawing on comparable experience, trial, error (lots of error) and some tools, we formulated a series of heuristics, automation, methods and processes for testing which we are here to share.

 

Takeaways

  • An understanding of what a PWA is
  • The differentiators between PWAs and native/hybrid/web apps
  • A dissection of the possible tech layers and how to test them in isolation and together
  • How to work out the risks in a PWA
  • How to test for platform-specific issues
  • Getting started - how to find the low hanging fruit type issues using Lighthouse
  • More in-depth - testing a PWS with Selenium and Appium
What you’ll learn

By the end of this talk, you'll be able to:

  • TBA
Elizabeth Fiennes's profile'

Elizabeth Fiennes

Callum Akehurst-Ryan's profile'

Callum Akehurst-Ryan

Principal Test Engineer

Throughout my 15+ year career I’ve had a variety of roles as a Test Engineer, Test Lead and Agile coach. As a result I have a well rounded approach to leadership in an Agile environment, both as part of test and the wider team. I specialise in full stack exploratory testing, embedding Agile testing into start-ups and quality reporting.
Suggested Content
Usability Testing Guide & Benefits
Moving from Gui to Api Testing: Challenges Faced & Lessons Learnt - Shivani Gaba
Techniques for Generating and Managing Test Data - Omose Ogala
How to Test Serverless Cloud Applications - Glenn Buckholz
I Turned It On With my Laptop! - Mark Winteringham
Rise of the Guardians: Testing Machine Learning Algorithms 101 - Patrick Prill
Explore MoT
Episode One: The Companion
A free monthly virtual software testing community gathering
Introduction To HTTP
Learn the fundamental rules that make up HTTP requests and responses

Tags

  • system-architecture
  • test-design