All posts
Software Testing 21 July 2026 2 views

Testing Web Applications

Web applications run in the browser and need no installation. How to test one through the UI, the API and the database — and which test types matter most for the web.

Introduction

Welcome to this lesson. Today we are talking about one of the most widespread kinds of application in our digital world: web applications. Every day you use dozens of sites — Facebook, Gmail, Amazon, Netflix, Twitter — all of them web applications. But what makes them distinct? And how do we test them? Let's explore.

What you will learn

By the end of this lesson you will be able to:

  • Know what distinguishes web applications from other kinds of application
  • Test a web application through the UI, the API and the database
  • Prioritise the test types according to the kind of site you are working on

What is a web application?

A web application is any application that runs inside the browser. You do not need to download it to your device, you do not need to install it — you just open the browser, type the URL, and start using it.

Examples you know:

  • Facebook — open facebook.com from any device and your account is there
  • Gmail — your email available from anywhere
  • Amazon — you shop from the browser without downloading anything
  • Netflix — you watch films and series from the browser
  • Twitter/X — you browse and post from the site
  • LinkedIn — you look for jobs and connect with people

Characteristics of web applications

What makes a web application different from other kinds of application?

You open it through a URL

Every web application has an address: amazon.com, gmail.com, netflix.com. You type the URL in the browser and you are there.

It needs no installation

There is no installer, no "Next, Next, Finish". You open the link and that is it — ready to use.

It runs on the server, it appears in the browser

The application itself lives on the company's servers (Netflix's servers, for example), and you only see the result in your browser. All the heavy computation happens on the server, not on your device.

Cross-platform — it works on any device

The same site runs on:

  • Windows — Chrome, Firefox, Edge
  • Mac — Safari, Chrome, Firefox
  • Linux — any browser
  • Mobile — the browser on the phone
  • Tablet — the browser on the tablet

The operating system does not matter — what matters is that there is a browser.

It usually needs a connection

Most web applications need the internet to work. Some modern applications can work offline for a limited time (Gmail, for instance), but that is the exception, not the rule.

Updates happen automatically

When the company updates the site, every user gets the new version immediately. There is no "Update to version 2.0" — you just open the site and it is already updated.


How do we test web applications?

There is more than one way to test a web application:

Testing through the browser (UI Testing)

This is the most obvious approach — you open the site in the browser and interact with it as an ordinary user:

  • You click the buttons
  • You fill in the forms
  • You move between pages
  • You check whether everything works correctly

Example: if you are testing Amazon:

  • You search for a product
  • You add it to the basket
  • You go to Checkout
  • You enter the payment details
  • You confirm the order

All of this through the interface you see in the browser.

Testing through the API (Backend Testing)

Web applications have an API (Application Programming Interface) — a programmatic interface that lets the Frontend talk to the Backend. You can test this API directly, without opening the browser at all.

Example: when you add a product to the basket on Amazon:

  • The interface sends a request to the API: POST /cart/add
  • The API adds the product to the database
  • The API returns a response: "Added successfully"

You can test these steps directly against the API with tools like Postman or a REST client:

curl -X POST https://api.example.com/cart/add \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"productId": "B08N5WRWNW", "quantity": 2}'

Testing through the database (Database Testing)

Sometimes you need to confirm that the data was actually stored correctly in the database:

  • Was the order really recorded?
  • Is the amount correct?
  • Was the status updated?

You can connect to the database directly and look at the data.

Example: after placing an order on a food delivery site, you go to the database and confirm:

  • There is a new row in the Orders table
  • The amount is written correctly
  • The address is there
  • The status is pending
select id, status, total_amount, created_at
from orders
where customer_id = 4821
order by created_at desc
limit 1;

Testing on different browsers (Cross-Browser Testing)

The same site can appear differently on different browsers:

  • Chrome — the most used
  • Firefox — a popular browser
  • Safari — the default browser on Mac and iPhone
  • Edge — the default browser on Windows

You have to test that the site works properly on all of them.

Why? Because each browser interprets the code slightly differently. Something can work perfectly in Chrome and be broken in Safari.

Testing on different devices (Cross-Device Testing)

The site has to work on:

  • Desktop — large screen
  • Laptop — medium screen
  • Tablet — smaller screen
  • Mobile — small screen

Responsive Design: modern sites change their shape according to the screen size. When you open Amazon on a phone, the site shows a different version — bigger buttons, simplified menus, clearer text.

You have to test every size and confirm that everything is clear and easy to use.


The important test types for web applications

Every kind of application needs a focus on particular test types. For web applications, these are the most important:

Functional Testing

What is it? Confirming that all the site's features work correctly.

Examples:

  • Does login work?
  • Does search return correct results?
  • Does adding a product to the basket work?
  • Do filtering and sorting work?

Why does it matter? This is the foundation — if the features do not work, the site is useless.

Compatibility Testing

What is it? Confirming that the site works on different browsers and devices.

What do we test?

  • Browsers: Chrome, Firefox, Safari, Edge
  • Devices: Desktop, Mobile, Tablet
  • Operating systems: Windows, Mac, Linux, Android, iOS

Why does it matter? Your users are not all on the same browser. If the site does not work on Safari, you have lost every Mac and iPhone user.

A real example: a site works perfectly on Chrome but the buttons are hidden on Safari → users on Safari cannot complete their order → lost sales.

Visual/UI Testing

What is it? Confirming that the site looks right and reads clearly.

What do we test?

  • Do the colours display correctly?
  • Is the text readable?
  • Do the images load?
  • Is the layout tidy and unbroken?
  • Does the Responsive Design work (does it adapt to the screen size)?

Why does it matter? First impressions matter. A site that looks broken or unclear sends users away to another site.

Example: you open a site on your phone and find:

  • Text running off the screen
  • Buttons far too small to tap
  • Cropped images

These are visual problems and they need fixing.

Security Testing

What is it? Confirming that the site is safe and protected.

What do we test?

  • Is login secure? (HTTPS, encryption)
  • Is sensitive data protected?
  • Are there security holes? (SQL Injection, XSS)
  • Do permissions work correctly? (nobody can see somebody else's data)

Why does it matter so much for web applications? Because the web is open to everyone — anyone can reach the site and try to break into it. Sensitive information (passwords, payment details, addresses) has to be protected.

Example: a shopping site — without good security, someone could steal users' credit card details → a disaster for the company and the users.

Usability Testing

What is it? Confirming that the site is easy and clear for users.

What do we test?

  • Is it easy to find what you want?
  • Are the buttons clear and understandable?
  • Are the steps logical?
  • Does a new user understand what to do?

Why does it matter? A complicated or unclear site makes users give up and leave. It has to be simple and easy.

Example: you try to buy a product from a new site:

  • There is no clear "Add to Cart" button
  • The payment process is complicated — ten pages
  • It is not clear where to enter the address

You will give up and go to Amazon, where everything is clear and direct.

API Testing

What is it? Testing the programmatic interface that lets the Frontend talk to the Backend.

What do we test?

  • Does the API return the correct data?
  • Are the status codes correct? (200 for success, 404 for not found, 500 for an error)
  • Is the response fast?
  • Does error handling work?

Why does it matter? The whole site depends on the API. If the API is broken or slow, the site will not work properly.

Example: you search for "laptop" on a shopping site:

  • The Frontend sends: GET /search?query=laptop
  • The API has to return a list of laptops
  • If the API returns the wrong products or nothing at all, the user sees an empty page

Localization Testing

What is it? If the site is available in more than one language, we have to test each language.

What do we test?

  • Is the translation correct?
  • Does the text display properly? (especially Arabic, which runs right to left)
  • Are dates and numbers in the correct format?
  • Is every page translated?

Why does it matter? If your site is global, users from different countries speak different languages. Each one has to find the site in their own language.

Example: Facebook is available in more than 100 languages. They have to test that each language works correctly and the text is clear.


Considerations specific to web applications

There are particular things to keep in mind when testing sites:

Browser differences

Every browser interprets CSS and JavaScript slightly differently.

A common example:

  • A Flexbox layout works perfectly in Chrome
  • But on an older version of Safari there is an alignment problem
  • The result: the elements are neatly arranged in Chrome and broken in Safari

The fix: test on all the common browsers.

Cache problems

The browser stores the site's files (images, CSS, JavaScript) so that the site loads faster next time. But sometimes this causes problems:

  • The company updates the site
  • But the browser is still using the old stored files
  • The user sees the old version

The fix: test in Incognito mode, or clear the cache regularly.

Sessions and Cookies

Sites use sessions and cookies to remember you:

  • You log in → a cookie is stored
  • You leave and come back → you are still logged in

We have to test:

  • Does the session persist when you leave and return?
  • Is the cookie cleared when you log out?
  • What happens when the session expires?

Example: you log in to a banking site, leave it open, and come back two hours later → the site should ask you to log in again (for security).

Responsive Design

The site has to adapt to the screen size:

  • Desktop (1920x1080): side menus, large images, detailed tables
  • Tablet (768x1024): smaller menus, medium images
  • Mobile (375x667): hamburger menu, small images, a single column

We have to test every size.

Example: Amazon on a computer has a sidebar with all the categories. On mobile, that menu becomes a menu button so it does not take up space.

Connection speed

Users have different connection speeds:

  • Fast internet → the site loads immediately
  • Slow internet → the site takes time

We have to test that the site works even on a slow connection:

  • Do the images load? (or is there a placeholder?)
  • Is there a loading message?
  • Does the site become usable before everything has loaded?

Example: you open a site on a slow connection — if it stays a white screen for a minute, you will give up and leave. But if there is a loading indicator and the essential content appears quickly, you will wait.

Browser Extensions

Some extensions can affect the site:

  • An ad blocker can hide elements that are not adverts
  • Privacy extensions can block certain scripts
  • Password managers can change the shape of login forms

The fix: test with a clean browser (no extensions) and with a browser carrying the common ones.


Real examples from well-known sites

Let's look at how different kinds of site need a different focus in testing:

Amazon — e-commerce

Priorities:

  • Functional Testing: search, add to basket and checkout have to work 100%
  • Security Testing: payment details have to be protected
  • Compatibility Testing: people shop from every kind of device
  • Visual Testing: the site has to be attractive and tidy
  • Usability Testing: buying has to be easy and fast

Why? Because Amazon is a commercial site — any problem in the buying process equals lost sales.

Gmail — email

Priorities:

  • Functional Testing: sending and receiving mail, search, attachments
  • Security Testing: email is extremely private — it has to be protected
  • Usability Testing: organising and finding mail has to be easy
  • Compatibility Testing: people open Gmail from many devices

Why? Email holds sensitive information, and people use it every day from different devices.

Netflix — video streaming

Priorities:

  • Functional Testing: playing video, pausing, search
  • Compatibility Testing: a lot of people watch on different devices (TV browser, laptop, tablet)
  • Visual Testing: video quality, and the UI has to be clear
  • Usability Testing: finding a film and playing it has to be easy

Why? Netflix is all about the viewing experience — if the video does not play properly or the site is hard to use, people cancel their subscription.

Facebook — social media

Priorities:

  • Functional Testing: posting, comments, likes, sharing
  • Visual Testing: images and videos have to display correctly
  • Compatibility Testing: billions of users on countless devices and browsers
  • Security Testing: user privacy matters

Why? Facebook has billions of users all over the world — it has to work on everything.


Lesson summary: web applications are everywhere

Web applications are the backbone of the modern internet. From shopping to communication to work to entertainment — everything has moved to the web. And as testers, our role is to make sure these applications work correctly, are secure, are fast, and are easy to use.

The key points:

  • Web applications run in the browser and need no installation
  • You test them through the UI, the API and the database
  • Compatibility matters enormously — different browsers and devices
  • Security is fundamental — especially for sensitive information
  • Responsive Design has to work at every size

Next time you open any site, think about how many kinds of testing had to happen for it to look like that and run that smoothly. Behind every successful site there is a testing team working hard to guarantee an excellent experience for users.

Good luck!

Built with by Hatem's AI Agents