Web Testing

Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

Testing Web Applications

Dr. Aprna Tripathi

Web Testing Dr. Aprna Tripathi 1


Objectives
• Learn what to test in web applications.
• Learn how to test in a web application.

Web Testing Dr. Aprna Tripathi 2


Introduction

• Web-based applications present new challenges, both for


developers and testers. These challenges include:
– Short releases cycles
– Constantly changing technology
– Possible huge number of users during initial website launch
– Inability to control the user’s running environment
– 24-hour availability of the website
• Any difficulty in response time, accuracy, or ease of use
will make the user to click on a competitor's site.

Web Testing Dr. Aprna Tripathi 3


Topology of a Web Site

F
Browser
i
r Database
Server
I Internet e Web
Browser S w Server
P a
l
Browser l Application
Server

Web Testing Dr. Aprna Tripathi 4


The Need for Web Testing

• Is the site content meaningful?


• Is this application easy to use?
• How about browser compatibilities?
• How reliable is our technology?
• Do the Servers have enough power?
• How many visitors are we expecting?
• Are the machines fast enough?
• How much activity can the site handle?
Web Testing Dr. Aprna Tripathi 5
Functional and Usability Issues

• The first tests for a website should focus on the


site’s intended behavior by assessing the
following issues:
– Functionality
– Usability
– Navigation
– Forms
– Page content

Web Testing Dr. Aprna Tripathi 6


Why is Functionality Testing Important?

Missing
image

Web Testing Dr. Aprna Tripathi 7


Functional Testing
• Functional testing involves making sure features
that most affect user interactions work properly.
These include:
– Forms
– Searches
– Popup windows
– Shopping carts
– Online payments
• Functional testing evaluates the content of
dynamically generated pages and verifies many
behind the scene (connections to database)
Web Testing Dr. Aprna Tripathi 8
Functional Testing

• Another aspect of functionality testing is to


verify many behind-the-scenes features not
readily apparent to the user such as
– Connection to legacy systems
– Connection to database
– Connection to third party applications
– Business scenarios

Web Testing Dr. Aprna Tripathi 9


Steps to Perform Usability Testing
• Step 1: Identify the website’s purpose
– The designer must understand why people come to
this website
– What type of tasks they might perform
• Step 2: Identify the intended users
– Identify the profiles of typical users by specifying
specific characteristics like: gender, age,
educational level etc.

Web Testing Dr. Aprna Tripathi 10


• Step 3: Define tests and conduct the usability testing
– Test cases must be clear, define and easy to use.
– During test case preparation knowledge level of participant
must be considered
– All the observations must be properly documented
• Step 4: Analyze the acquired information
– Summary of observed results
– List of usability problems
– Identification of any trends
– Analysis of videotapes
– Statistical analysis of questionnaires

Web Testing Dr. Aprna Tripathi 11


Why Usability Testing
• Low tolerance level of many users during
accessing website
• Frustrated users can easily click over to a
competitor’s site.
• For subscription based website, irritated users
can become increasingly discontented due to
high waiting time and subscription loss may
occurred.

Web Testing Dr. Aprna Tripathi 12


Usability Testing
• Usability testing assesses the website’s user
friendliness and suitability by gathering information
about how users interact with the site.
• The key to usability testing is to study what a user
actually does.
• Usability testing steps:
– Identify the website’s purpose
– Identify the intended users
– Define tests and conduct the usability testing
– Analyze the acquired information

Web Testing Dr. Aprna Tripathi 13


Navigation Testing
• Good navigation is an essential part of a website,
especially those that are complex and provide a lot of
information.
• Most users expect the following:
– Easy and quick access to the information they want
– Logical hierarchy of pages
– Confirmation of where they are at any point
– Facility to return to previous states or the homepage
– Consistent look and layout of every page
– Uncluttered pages

Web Testing Dr. Aprna Tripathi 14


Link Testing
• As the part of navigation testing, the tester
must ensure that all links works as expected;
– Following all links presented on a website,
including hyperlinked text, linked graphics, java
script enabled controls etc.
– Verifying that the pages retrieved are the ones
expected
– Ensuring that all errors are user friendly; for
example making sure that no ‘ 404 No found; error
exists

Web Testing Dr. Aprna Tripathi 15


Forms Testing
• Websites that use forms need to be tested to ensure that
each field works properly and that the form posts all
data as intended by the designers.
• Testing forms include the following actions:
– Using the tab key to verify that the form traverses fields in
the proper order, both forward and backward
– Testing boundary values
– Checking that forms traps invalid data correctly, especially
data and numeric formats
– Verifying that the form updates information correctly

Web Testing Dr. Aprna Tripathi 16


Page Content Testing

• Each web page must be tested for correct


content from the user perspective.
• These test fall into two categories:
– Ensuring that each component functions correctly
– Ensuring that the content of each is correct
• It includes checking content for accuracy as well as
proofreading for proper spelling, grammar and
terminology.

Web Testing Dr. Aprna Tripathi 17


Page Content Testing
• First category of test includes:
– All images and graphics display correctly across
various browsers.
– All content is present as per the requirements.
– Page structure is consistent across the browsers
– Web pages are visually appealing
– Links to relevant content inside and out of the site
are accurate

Web Testing Dr. Aprna Tripathi 18


Regression testing of Pages
• Since most of the websites undergo continual
changes in content, tester must have to make
sure its adverse effect.
• Regression testing includes:
– Determining whether the new pages download the
same as prior pages
– Checking whether new pages are identical with
prior versions
– Verifying whether links are still correct

Web Testing Dr. Aprna Tripathi 19


Configuration and Compatibility Testing

• A key challenge in web applications is ensuring


that the user sees a web page as the designer
intended:
– The user can select different browser software and
browsers options.
– Use different network software and online service
– Run concurrent applications
• Compatibility testing ensures product
functionality and reliability on the supported
browsers and platforms that exist on the customer
computer.
Web Testing Dr. Aprna Tripathi 20
Configuration and Compatibility Testing
(Cont.)
• Guideline for testing web applications (by
listing the platform and browser environments
to be tested).

Browser compatibility table

Web Testing Dr. Aprna Tripathi 21


Reliability and Availability

• A key requirement of a website is that:


– It is available whenever the user requests it, often 24 hours a
day, every day.
– The number of users accessing a website simultaneously may
also affect the site’s availability.
• To assess availability, the tester must build tests around
anticipated usage spikes which can include:
– For store applications: promotional campaigns and sales
– For business cycles: month-end and quarter-end dates
– For banking applications: direct deposit dates
– During maintenance: required downtime for backups,
upgrades, and other operations.

Web Testing Dr. Aprna Tripathi 22


Performance
• Performance testing evaluates system
performance under normal and heavy usage.
• Website performance is crucial to the success of
any web application.
• Factors, that are affecting the website’s
performance are:
– Download time
– Client platforms
– User arrival rates
– Internet access speeds
– Usage patterns
Web Testing Dr. Aprna Tripathi 23
Performance
• Performance testing should begin early in test
cycle.
• Types of performance testing
– Scalability testing
– Load testing
– Stress testing

Web Testing Dr. Aprna Tripathi 24


Performance: Scalability Testing
• Scalability concerns the website’s ability to
handle the volumes and types of activities that
can occur after launch.
• The following types of scenarios affect
scalability:
– How closely the test environment matches the
production environment
– Millions of users accessing the site during launch
– Activity spikes due to marketing promotions

Web Testing Dr. Aprna Tripathi 25


Performance: Scalability Testing
• Key goals to ensure scalability of the system
includes:
– Determine which types of scenarios to anticipate
– Identify business cycles
– Plan for capacity by modeling the users expected
to access the site.
– Identify the levels and types of activities that can
degrade the performance.
– Produce performance measure like requests/ sec,
transactions/sec
Web Testing Dr. Aprna Tripathi 26
Performance: Load Testing
• The purpose of load testing is to model real
world experiences, typically by generating
many simulations users accessing the website.
• Load testing may need to be repeated at least
once.

Web Testing Dr. Aprna Tripathi 27


Performance: Stress Testing

• Stress testing consists of subjecting the system to


varying and maximum loads to evaluate the resulting
performance.
• Stress testing can be automated. Tools can report the
following type of information:
– Number of requests, transactions and kilobyte/second
– Round trip time (time from the user makes a request to the time that the
users receives the result)
– Number of concurrent connections
– Degradation of performance
– Types of visitors to the site and their number
– CPU and memory usage of the application server
Web Testing Dr. Aprna Tripathi 28
Security Testing
• Security is a primary concern when
communicating and conducting business
especially sensitive and business critical
transactions over the internet.
• Regardless whether the application requires the
user to enter a password to access the website, the
tester must check for internet threats.
• To verify if the application is secured on web as
data theft and unauthorized access are more
common issues.
Web Testing Dr. Aprna Tripathi 29
Security testing
• Techniques to verify the security level of the system.
– Injection
– Broken Authentication and Session Management
– Cross-Site Scripting (XSS)
– Insecure Direct Object References
– Security Misconfiguration
– Sensitive Data Exposure
– Missing Function Level Access Control
– Cross-Site Request Forgery (CSRF)
– Using Components with Known Vulnerabilities
– Unvalidated Redirects and Forwards
Web Testing Dr. Aprna Tripathi 30
End-to-end Transaction Testing
• End-to-end transactions follow the workflow
to the customer from beginning of the visit
until the customer leaves the site.

Web Testing Dr. Aprna Tripathi 31


Database Testing
• Database testing is an essential part of the web
testing.
• Key issues include:
– Data integrity (no data corruption)
– Data validity (accurate information provided to the
customer and accurate information passed back to
the database)
– Data manipulation and updates (updating the
number of books sold, books available, ...)
Web Testing Dr. Aprna Tripathi 32
Post-Implementation Testing
• Post-implementation testing verifies the
behavior of the application in the production
environment.
• It is not feasible to duplicate the test
environment to match the production
environment.
• Post-implementation testing takes place in a
“production maintenance window”.

Web Testing Dr. Aprna Tripathi 33


Key Points

• Testing web applications present new challenges.


• Functional and usability tests focus on the site’s intended
behavior:
– Functional testing asserts whether the main features function
correctly.
– Usability testing evaluates whether a site is user friendly by
observing users as they interact with the site.
– Testing a form ensures that each field works properly.
– Navigation testing ensures that the user can accomplish the
desired tasks by verifying access to pages, images, links, and
other page components.
– Testing page content ensures that the information provided by
the website is correct.
Web Testing Dr. Aprna Tripathi 34
Key Points (Cont.)

• Configuration and compatibility testing make


sure that the application functions correctly
across the various hardware and software
environments.
• Reliability and availability testing assesses
whether the website is accessible whenever the
users request it by testing around anticipated peak
usage such as marketing promotions and high-
activity cycles.
Web Testing Dr. Aprna Tripathi 35
Key Points (Cont.)

• Performance testing ensures that the website server


responds to browser requests within defined parameters.
As part of performance testing:
– Scalability testing assesses the website's ability to meet the
load requirements.
– Load testing evaluates how the system functions when
processing many simultaneous requests from a multitude of
users.
– Stress testing subjects the system to varying loads.
• Security testing aims to check for internet threats or
protect sensitive information.
Web Testing Dr. Aprna Tripathi 36
Key Points (Cont.)

• End-to-end transaction testing tests all parts


that make up a particular transaction by
following a customer's workflow from
entering to leaving the site.
• Database testing verifies the integrity, validity
and manipulation and updates of the data.
• Post-implementation testing verifies an
application's behavior in the production
environment.

Web Testing Dr. Aprna Tripathi 37

You might also like