Blog

Articles to grow your career

Article

How to Test Web Applications?

Testing web applications is a task that a manual tester has to deal with quite often. In this article, we will explain some of the peculiarities of this process.

Cross-browser Compatibility

The first thing to check is the correctness of the display and operation of the web application on different browsers. Correctness refers to compliance with standards and requirements. Note, before starting testing, you need to find out which specific browsers are supported.

What we check during cross-browser testing:

  • product functionality that is implemented on the client side;
  • whether the graphic elements are displayed correctly;
  • whether the fonts, font size, symbols are displayed correctly;
  • whether the forms on the website are accessible, whether they perform their functions, and whether they are interactive.

It is necessary to understand that all major browsers must be tested but special attention should be paid to the Internet Explorer. There are often problems here. Pay attention to field focus, scalability, JavaScript performance.

Web Forms

Forms are essential parts of web applications. They help the client to interact with the server (the client is, for example, a web browser through which the user accesses the application server).

Pay attention to:

  • required fields: is it stated that they are required and whether they are actually required (checking for empty values);
  • input of special data – special characters: #%@№&^$*<>{}[];
  • presence of validation: what happens when the user enters invalid values, does the user receive an error message, what happens to the data after they are entered.

It is good practice to make a checklist of UI components that need to be checked (radio buttons, drop-downs, checkboxes).

But now let’s see what happens both from the server side and from the client side.

Server-side Validation

Imagine that you have a simple website login form with login and email fields. The values you entered are sent to the server and checked for existence in the database (authentication). If you are already registered and entered the correct data, then you get access and the corresponding rights (authorization). If not, you see a message stating that the email or login you specified does not exist.

Client-side Validation

It is about performing validation on values directly when you enter data. To do this, special validation scripts are connected to the Presentation Layer of the web application – what we see, the UI.

What such scripts can check:

  • whether the user entered the @ symbol in the email field;
  • are the required fields filled in;
  • whether the user entered numbers in the phone number input field;
  • do fields that should not be the same, match, etc.

What is it for? The answer is obvious: client-side validation reduces the number of calls to the server, reducing the load.

Database

When testing web applications, don’t forget about databases.

What we check:

  • the data entered by the client is saved in the database;
  • data recorded in the database is displayed correctly on the client;
  • data can be deleted or changed;
  • the number of open connections to the database;
  • the speed of processing requests.

server testing

Server

The server is tested separately from the client.

We check:

  • the presence of validation from the server side (it was mentioned above);
  • the correct server response to the submitted request from the client (correct status code, header, body, etc.) – tools such as Fiddler and Postman are used here;
  • the speed of processing requests.

Simple Users, Multiple Users

As you know, a large number of users can work simultaneously with a web application. What tests are needed here:

  • load testing (how many users can work simultaneously without problems);
  • authentication and authorization (what happens on the server side);
  • concurrent (parallel) access to resources (application speed should not change);
  • user access levels.
Alex Kara
By Alex Kara on Aug 30, 2021
Manual QA