Top 5 Outstanding Tips for Web App Testing
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:
User triggers a request to the web server over the Internet, either through a web browser or the application's user interface.
Web server forwards this request to the appropriate web application server.
Web application server performs the requested task – such as querying the database or processing the data – then generates the results of the requested data.
Web application server sends results to the web server with the requested information or processed data.
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 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.
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
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.
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.
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.
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 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.