Testing of GUI in Web Application
GUI Testing Handbook,
check other parts: GUI Testing Introduction
| Testing GUI in Windows
| GUI of Web Application |
Automation of GUI Tests |
GUI Test
Automation Tips and Tricks
Web Application Introduction.
Web services are commonly mistaken
for websites. Websites are mainly meant for interaction with humans and
humanoids. Web services are application oriented programs which serves as a
service designed for use by another program.
In most cases, web services reside in the server. Web services are
self servicing, self contained application components which provide the
service to the client by acting as a server. In a typical client server
application that is migrated as web application, the client requests for the
information as a service request to the web service in the server which
responds through a service response. The service response is then utilized
by the client to reflect the information through the application’s client
GUI interface.
Web Application Testing
Web testing an application should
cover the following areas of functionality, compatibility, interface,
security,
performance
and usability.
Functionality testing
is a testing process which concentrates on the database requests, cookies
testing (a very important part of any web application testing), and the
links used to connect to other web pages, the information storage and
retrieval process using forms.
Compatibility testing
in simple terms is defined as a test of co-existence of the application in
terms of browsers, platforms, Operating system, mobility, storage and
printing.
Interface testing
is one of the key elements in testing which ensures that the interfaces
between the concerned client and servers execute in tandem. Web applications
establish links between the web server and the application server at the
onset. The application server in turn connects to the database server for
data retrieval, processing and storage. It is an important factor that these
connections or interfaces work seamlessly without any failure or degradation
in performance of speed and accuracy. The testing should check for
appropriate error messages, roll back in case of failure to execute or user
interruption. The complexity of this test is in ensuring that the respective
interface be it web server or application or database interface captures the
errors and initiates the appropriate error messages to the web application.
Security testing
is mandatory testing with in depth strategies to explore
the various possibilities of unauthorized access into the application. It
includes user access, areas of user access, grants to the application
functionality, access as a logged in internal user to external links, logs
of user activity, and permission based download of information.
Performance testing
as the name signifies is testing the performance of the web application.
Though the application is a client server application ported to web, the
basic performance testing with respect to client server application is
already covered under the client server testing aspect. Here the
concentration is on the performance of the web interface of the application
and its response. The application is tested on load and stress. Load testing
in a web application deals with testing the application with different
connection speeds to check if the performance of the application is
consistent across speeds. Since web applications deal with unknown number of
users with unpredictable demand on the application in generality, the
database retrieval of huge information, simultaneous access of the
application during normal hours and peak hours, large amount of information
storage is checked for performance in this test.
Usability testing
is the testing which focuses on the front end of the web application. The
assumption in a web application is that the users cannot be classified or
rated in their capability to understand the functionality of the
application. Usability becomes the most important criteria for the effective
implementation of a web application. This test confirms the effectiveness of
usage by a user with little or no knowledge of application. The analyses of
web application testing have broadly classified the usability into three
categories – navigation, communication of content and appropriate help.
Testing is a process which endorses
the application’s suitability to be implemented in real time environment.
Though the concepts and methodology of testing remain the same across
various applications, the emphasis on the area of testing varies on the type
of application. The important and realistic approach to web testing should
follow this check list – navigation,
clarity in communication of content, accessibility, consistency in
presentation, design and maintenance, visual presentation of information.
Navigation
should establish the familiarity in the usage of the application on repeated
usage. This includes standardized usage of colors for mandatory fields,
inclusion of links at the appropriate positions conveying their intent and
color consistency, capability to access the fields through multiple input
devices e.g. keyboard or mouse, convenience of usage in terms of linking to
other pages or different sections of the application. In short, navigation
testing confirms the ease of use of the application to a novice user.
Content
is another important area in web application testing.
This test checks for the clarity in communication of content to the target
audience. Tone of the content and adapting familiar usage in language is
tested here. In depth testing of content should have these parameters
tested. Testing is done on spelling errors. Specific standards of User
Interface on Web application exists which concentrates on fonts, colors, and
frames. For example, dark colors are best avoided in the theme as it is
found annoying to the users. Content testing also concentrates on location
of Images and sizes of images, the anchor links presence and their
connectivity to the respective pages, their placement and color codes.
Accessibility
is the next area in web application testing, Accessibility as the name
suggests deals with access to the appropriate servers, resources and the
human contacts. The general question on accessibility is the presence of it
in usability testing. It forms a part of usability testing as it is
indirectly responsible for the users wait time for a response. This testing
also checks for the compatibility and ease of use with physically challenged
users and the communication channels to contact the help desk or system
administrator.
Consistency
is a factor that correlates with users’ familiarity with the application of
similar nature. It is commonly termed as ‘look and feel’ of the application.
Web applications for instance use a standardized login screen with a user
name and a password with help on signing in problems with appropriate help
content. Consistency testing checks for this standardized look and feel
across the application, the uniformity in the usage of repeated visual
themes and also the consistency of the theme without graphical elements.
Design and maintenance
testing checks for hyperlinks usage to associate related items, dead links
and orphaned pages, forms with no functionality, broken scripts. The most
important section of maintenance is handling the length and size of forms so
not to overflow making navigation difficult.
Visual Presentation
testing focuses on the moderate usage of colors, following recommended
standards of presenting application on the web, the color resolution factors
of images, overloading or overcrowding the application with animations and
images affecting the load time, and the help or feedback to lead through
difficult functionality in the application as a visual presentation or
interactive presentation. Though this aspect of help of visual or
interactive presentations is in its nascent stage, it serves as a better
reach to users in a least or no end user training scenarios.
A Table listing the focus areas and the items to be
tested associated with the focus areas.
10 Important things to Remember in GUI testing of Web
application
- Test the usage of
Frames in the application
- Test the Scrolling text for
inconsistency
- Test for existence of
complex URLs embedded
particularly dynamic pages
- Make sure Orphan pages do not
exist
- Look for Long scrolling pages
or forms of Input
- Identify pages with No
support for navigation
- Check for usage of
non standardized link colors
- List out forms which contain
Information which is no longer relevant
- Identify forms which take long
to download and recommend for optimization
- Check Reports and capability to
download or convert to standard formats of storage and retrieval
Glossary
Orphan Pages. Pages which are not linked by other pages
Cookie. A small text file stored by the web application in the PC of the user
Web service. Self Servicing self contained application component used in Web
|