/ 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)

Top 5 Outstanding Tips for Web App Testing
First of all we need to know what is Web Application. 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.

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](https://products.office.com/en-us/business/explore-office-365-for-business).

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

One finger
User triggers a request to the web server over the Internet, either through a web browser or the application’s user interface.
Two fingers
Web server forwards this request to the appropriate web application server.
Three fingers
Web application server performs the requested task – such as querying the database or processing the data – then generates the results of the requested data.
Four Fingers
Web application server sends results to the web server with the requested information or processed data.
Five Fingers
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.

1) 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.

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.

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](https://addons.mozilla.org/en-US/firefox/addon/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.

    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](http://www8.hp.com/us/en/software-solutions/loadrunner-load-testing/index.html?jumpid=va_uwxy6ce9tr)

    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.