The Rise of Progressive Web Apps and The Impact on Cross-Browser Testing

PWAs have the ability to transform the way people experience the web.

There are a few things we can agree we have seen happen. The first being that we figured out the digital market from an application type perspective. Secondly, we have seen the rise of mobile, and lastly, the incredible transformation of web to responsive web. In response, now we should all start getting used to a whole new type of application that should change the entire user experience and offer new web functionality–let us take this moment to introduce PWAs.

Google.com is a very clear example of such an app. You have to begin to understand them as at the time this article was written, Apple was about to introduce PWA capabilities* in its upcoming WebKit engine. 

What are Progressive Web Apps?

If you were to refer to the Google official website dedicated to PWAs, PWAs are defined as “A new way to deliver amazing user experiences on the web.”

Going into more detail, David Rubinstein from SD Times, added even more insights into these new app types.

PWAs can use device features like cameras, data storage, GPS, motion sensors, face detection, push notifications, and more. This will pave the way for AR and VR experiences, right on the web. Imagine being able to redecorate your home virtually using nothing but your phone and a PWA. Pan your camera around a room, then use tools on a website to change wall colors, try out furniture, hang new artwork, and more. It may feel like a futuristic fantasy, but it’s becoming close to turning into a reality.

The key behind PWA apps is to provide a rich end-user alternative to native apps. These apps can be launched from the device home screen adding layers of performance, reliability, and functionality to a web application without the need to install anything from the app store. In addition, the apps are still JavaScript based and with additional specific API’s, they can work even when there’s no internet connection, and that’s a huge advantage.

PWAs leverage 2 main architectural features:

Service Workers – give developers the ability to manually manage the caching of assets and control the experience when there is no network connectivity.

Web App Manifest – the file within the PWA that describes the app, provides metadata specific to the app like icons, splash screens, and more. See image below for an example Google offers for such a descriptor file (Json).

In order to check the correctness of your PWA checklist and the entire app, Google offers some tools as part of their documentation, like this Progressive Web Apps checklist and their chrome built-in DevTools (see below visual).

As deeply covered in this great DZone article, good PWAs also implement the PRPL pattern recommended by Google to enhance performance.

What Are the Implications of PWAs for Cross-Browser Sites and Mobile Apps?

To understand the implications, I recommend dividing the question into the impacted Personas.

  1. Developers
  2. Testers
  3. Business
  4. End-Users

Each of the above Personas will have different benefits and implications when adopting this kind of app.

Developers

For existing web developers, this new app type should present a whole new world of innovative opportunities. Since PWAs are still JavaScript based apps, developers do not need to gain new skills, but rather learn the new APIs offered through the Service Workers  and see how they can be leveraged by their websites. 

Since the PWA app runs on a mobile device and can be launched without a network connection and without any installation, it obviously needs to be validated by developers through unit and integration tests.

Going forward, the market envisions these apps impacting the native apps architecture in a way that results in only 1 type of app that can seamlessly run on both browsers and mobile devices with one single implementation that will require a heavier lift and re-work.

Testers

</span style>

For testers, as in every new implementation, new tests (manual/automated) need to be developed, executed, and fit into the overall pipeline.

PWAs, in particular, introduce unique use cases:

  • No network operation
  • High performance 
  • Sensors-based functionality (Location, Camera for AR/VR, and more)
  • Cross-device functionality (like in Responsive, the experience should be the same regardless of the screen size/HW etc.)
  • Adhering to the design and checklist required by Google and (soon) Apple*
  • Accessibility is always a need
  • Security of these apps (with and without being connected to the network)
Business

</span style>

For the business, the new app types shall help increase the end-user engagement with the business. When having a web application that is richer in functionality, performs fast, and can be “always on” through an easy launch from the customers’ device home screen, this by definition, should increase usage and move the needle to the business.

Our assumption is that large enterprises are already looking into these types of apps as the next-gen RWD apps.

End-Users

</span style>

At the end of the day, all products are aiming to get greater engagements with the customers and beat the competition. Obviously, if the end users understand the value in these apps and “feel” it in their day by day activities, this will be a clear Win-Win situation to both the organization as well as the customer.

To assure end-user experience, as Google envisioned when first launching this technology 3 years ago, which is the time when this article was written (2015), Dev and Test teams should continue their Continuous Testing activities and make sure they are covering sufficient platform, features, use cases between each release, and each new release of a platform or device.

To conclude this article, I highly recommend watching the short video and reading the blog from Mozilla on how PWAs live within Firefox and how different the experience each users get from such apps (see below Firefox Wego app within Firefox browser in the background and a PWA Wego app in the foreground).

Happy PWA Testing!

*Things in this article may be outdated

Eran Kinsbruner
Eran Kinsbruner is the mobile evangelist at Perfecto and the author of The Digital Quality Handbook, as well as a monthly columnist at InfoWorld.com. He is a software engineering professional with nearly twenty years of experience at companies such as Matrix, Sun Microsystems, General Electric, Texas Instruments and NeuStar. He holds various industry certifications from ISTQB, CMMI, and others. Eran is a recognized mobile testing influencer and thought leader, as well as an experienced speaker in the major software engineering conferences. He is also a patent-holding inventor for a test exclusion automated mechanism for mobile J2ME testing, public speaker, researcher, and blogger. He can be found all over social media, including on Facebook, Twitter (@ek121268), LinkedIn, and his professional mobile testing blog.

The Related Post

Differences in interpretation of requirements and specifications by programmers and testers is a common source of bugs. For many, perhaps most, development teams the terms requirement and specification are used interchangeably with no detrimental effect. In everyday development conversations the terms are used synonymously, one is as likely to mean the “spec” as the “requirements.”
“Combinatorial testing can detect hard-to-find software faults more efficiently than manual test case selection methods.” Developers of large data-intensive software often notice an interesting—though not surprising—phenomenon: When usage of an application jumps dramatically, components that have operated for months without trouble suddenly develop previously undetected errors. For example, newly added customers may have account records ...
This article was originally featured in the May/June 2009 issue of Better Software magazine. Read the entire issue or become a subscriber. In my travels, I’ve worked with a number of companies that have attempted to assess the quality of their testing — or worse, their testers — using poorly considered metrics. Sometimes the measurement ...
Introduction This article discusses the all-too-common occurrence of the time needed to perform Software Testing being short changed as specification, development, and unforeseen “issues” cause the phases prior to testing to expand. The result is that extreme pressure is placed upon the testing organization to perform the testing function within a reduced time frame. The ...
Internet-based per-use service models are turning things upside down in the software development industry, prompting rapid expansion in the development of some products and measurable reduction in others. (Gartner, August 2008) This global transition toward computing “in the Cloud” introduces a whole new level of challenge when it comes to software testing.
This article was developed from concepts in the book Global Software Test Automation: Discussion of Software Testing for Executives. Article Synopsis There are many misconceptions about Software Testing. This article deals with the 5 most common misconceptions about how Software Testing differs from other testing. Five Common Misconceptions Some of the most common misconceptions about ...
One of the most dreaded kinds of bugs are the ones caused by fixes of other bugs or by code changes due to feature requests. I like to call these the ‘bonus bugs,’ since they come on top on the bug load you already have to deal with. Bonus bugs are the major rationale for ...
Karen N. Johnson began as a technical writer in 1985 and later switched to software testing in 1992. She maintains a blog at TestingReflections, a collaborative site where she is featured as a main contributor. In her latest entry, she discusses search testing with different languages. Here is an excerpt from her blog: “I started ...
As I write this article I am sitting at a table at StarEast, one of the major testing conferences. As you can expect from a testing conference, a lot of talk and discussion is about bugs and how to find them. What I have noticed in some of these discussions, however, is a lack of ...
Reducing the pester of duplications in bug reporting. Both software Developers and Testers need to be able to clearly identify any ‘Bug’, via the ‘Title’ used for the ‘Bug Report’.
With this edition of LogiGear Magazine, we introduce a new feature, Mind Map. A mind map is a diagram, usually devoted to a single concept, used to visually organize related information, often in a hierarchical or interconnected, web-like fashion. This edition’s mind map, created by Sudhamshu Rao, focuses on tools that are available to help ...
The V-Model for Software Development specifies 4 kinds of testing: Unit Testing Integration Testing System Testing Acceptance Testing You can find more information here (Wikipedia): http://en.wikipedia.org/wiki/V-Model_%28software_development%29#Validation_Phases What I’m finding is that of those only the Unit Testing is clear to me. The other kinds maybe good phases in a project, but for test design it ...

Leave a Reply

Your email address will not be published. Required fields are marked *

Stay in the loop with the lastest
software testing news

Subscribe