Logo
/ web-application-testing

Top 5 Outstanding Tips for Web App Testing

By DeviQA on Wed Feb 08 2017 00:00:00 GMT+0000 (Coordinated Universal Time)

Subscribe Now!

Get the latest QA news and tips from DeviQA

Web Application (or Web App) is a client – server software application which the client runs in a website browser. Usually web applications include video or photo edition, messaging services, online retail sales, webmail, ​shopping carts etc. Web App may be also called website widget. Web applications usually use a combination of server-side script and client-side script (HTML, Javascript, etc.) to develop the application. web application vs web site

The client-side script deals with the presentation of the information while the server-side script deals with all the hard stuff like storing and retrieving the information.

To see an example of one of the most powerful web applications check most popular email Clients like Gmail or Yahoo. The great examples of the newest web applications are Google Apps and Microsoft 365.

Next, let’s check how a typical web application flow looks:

1.

User triggers a request to the web server over the Internet, either through a web browser or the application’s user interface.

2.

Web server forwards this request to the appropriate web application server.

3.

Web application server performs the requested task – such as querying the database or processing the data – then generates the results of the requested data.

4.

Web application server sends results to the web server with the requested information or processed data.

5.

Web server responds back to the client with the requested information that then appears on the user’s display.

Now we have a clear understanding of what Web App is so we can start our Web App testing. We prepared 5 tips which will help you to perform a quality testing.

Functional/Usability testing is important

Test all Web Application pages for correct formatting, data validation, Cookies and function. Functional testing is ideal to accomplish smoke testing, regression testing, and integration testing.

Test All Forms:

For example: All forms are submitted, all sample texts are displayed, UI is optimized. Once the form is submitted the data is properly submitted to a live database or is linked to expected email address.

Test Links:

For example: Make sure there is no broken links, all links link to expected pages, MailTo links work, link opens in the same/new tab. Make sure that each link was tested. All internal links of your web application should return 200 code request. There are many examples, where internal links return 301 code request and redirect to new pages. For check this issues you should use crawler tools, which crawls all internal links on your web application

Test Cookies:

For example: Testing cookies (sessions) are deleted either when cache is cleared or when they reach their expiry. Delete cookies (sessions) and test that login credentials are asked for when you visit the site.

Database Testing

When you testing web applications, you must also check for errors that may occur during the execution of various functions related to the database. In addition, you should check the load on the database and the correct execution of all queries.

Test workflow

For example: Test business scenarios with multiple pages navigation. Lastly do not forget about negative scenarios when unexpected step is performed. Make sure your Web Application handles it properly (shows appropriate error or displays any help message text).

When perform usability testing make sure you test site navigation in details: Links, buttons, texts, menus should be easily visible and identical though website application.

Following tools can help you: Selenium, Calkmark, Clicktale.

2) Single browser testing is not enough

The Web application should be tested on all supported browsers and on all supported versions as well. The Web Application should be tested on the older browser versions as nothing can be excluded until depreciated.

For example:

Test your Web application for correct function on several browsers, including Firefox, IE, Chrome, Opera, and Safari. Check application function with different browser security and profile settings. As the mobile become very popular nowadays make sure to check your Website App on mobile browsers as well. Some compatibility issues may be on mobile devices as well.

Following tools can help you: Browsershots, IE Tab, Browserling, Browserstack, BrowserCam.

3) Web app security testing needs to be done

This could be one of the most important parts because customer private data like credit cards or personal information can be stored. So what to check here:

Make sure secure pages are protected from unauthorized access

Check if the sessions are killed automatically after X hours(minutes) of user inactivity

Bounded files can not be downloaded without appropriate access

Verify that unrestricted access is not allowed if paste URL without login

Try to login with invalid data (username or password) or input text boxes etc.

Test CAPTCHA

Test if SSL is used for security measures.

Following tools can help you: Grabber, Vega, Wapiti, WebScarab.

Our article about: how to make security testing of web applications

4) Performance testing

You will need to perform performance testing to be sure that your Website Application works under all loads What you can test here:

Response using different connection speeds

Stress test to determine its break point

Browser, server side cache are enabled to reduce load times

Test if there are performance changes over a period of time

Following tools can help you: Jmeter, Load Runner

Our article about what is web application performance testing

5) If repeated tasks can be automated they should be automated

It’s important that the QA Engineer do not do the same testing on a Web application repeatedly. Big amount of automation testing tools are free and have good technical support. As result regression issues can be easily caught if you have good automation tests. You need to automate all main scenarios. This also means you should encourage test driven development.