Testing A Progressive Web Application With LambdaTest

What makes an application a Progressive Web Application?

  1. Progressive: Your web app must work for every user, irrespective of the choice of the browser.
  2. Connectivity independent: Yes, that’s what is one of the unsung heroes in a PWA. Your web app should work regardless of the internet connection or some of the features must work in no or slow network situations.
  3. App-like: It should provide an app-like experience to the users. App like experience includes full screen mode, access to various in built accessories like camera, mic, etc.
  4. Up-to date: Your web application must always be up-to the date and it should not bother the user asking for updates.
  5. Safe: It should be served over HTTPS.
  6. Easily Accessible: You can install the app or you can say access it directly from your homescreen with just one click on ‘Add to Homescreen’.
  7. Fast: Reports show that 53% of users abandon your site if it takes over 3 seconds to load. And obviously you won’t want the users to go back. Hence, your app should be fast.
  8. Responsive: As your web application is going to be opened in a browser then it should be responsive.

Once you’ve developed, it’s time to test!

So, What all is to be tested in a Progressive Web Application?

  1. Site is served over HTTPS: Safety is one of the major concerns in a Progressive Web Application, hence you need to make sure that your web application is served over HTTPS.
    How to test? You can use Lighthouse by Google Developers, jitbit, seositecheckup, digicert,ssl shopper, ssl labs,etc to test if your website is served over HTTPS or not.
  2. Web pages are responsive: Make sure that your web application shows a responsive behaviour across all mobile and desktop devices.
    How to test? You can use LambdaTest’s responsive feature to test for your web app’s responsiveness.
  3. Offline Loading: All your web pages or at least some of the web pages must work even when your app is offline. You need to make sure that your web app responds with a 200 when it is offline.
    How to test? Again, since Google is massively pushing PWA ecosystem, they have some of the best tools for testing PWA apps. For example Lighthouse. Alternative is Wiremock.
  4. Cross Browser Compatibility: You need to test your web app for cross browser compatibility to ensure that your web app gives a seamless user experience across all browsers.
    How to test? You can use LambdaTest to test for cross browser compatibility testing.
  5. Metadata for ‘Add to Homescreen’: You need to test if the web app provides a metadata for ‘Add to Homescreen’.
    How to test? You can use Lighthouse to test for metadata for ‘Add to Homescreen’.
  6. Page transitions should be smooth and shouldn’t feel like that they block on the network: Transitions are a key to perceived performance hence they shouldn’t feel snappy as you move around, even on slow internet connection.
    How to test? This should be done manually on a slow network. When you click on any button or link it should immediately respond either by transitioning immediately to the nest screen and while waiting showing a placeholder loading screen or by a loading indicator till the app waits for the response.
  7. Each page must have a URL: Every page on you web app must have a URL and all the URLs must be unique.
    How to test? Test it by checking that every page is linkable by a URL and it is unique to be shared on social media or other platforms. The URLs can also be opened directly in new browsers.
  8. Shareability: Content should be easily shareable even through full screen mode and it should form cards for all the social media platforms.
    How to test? Test manually by sharing content from full screen mode. Test for cards can be done as:
  • Facebook: Debug the URL by entering the post to be shared and verifying if cards has been generated or not. Test it here.
  • Twitter: Check if the type of card for your content by is added to the given HTML’s HEAD of the page:
<meta name=”twitter:card” content=”summary” />

How LambdaTest can help in testing a Progressive Web Application?

  • Adding to desktop or adding to homescreen can be tested if on adding my web app is showing the expected behaviour or not for that mobile or desktop?
  • Is my web app showing the responsive behaviour for every mobile and desktop?
  • Is the web app compatible with all the browsers and browser versions available?
“Add to Desktop” using LambdaTest for Win 10, Chrome 64
“Add to Homescreen” using LambdaTest for Samsung Gal J7 max

Testing is done. What next?

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Deeksha Agarwal

Deeksha Agarwal

Deeksha Agarwal is in Product Growth at LambdaTest and is also a passionate tech blogger and product evangelist.