100% found this document useful (2 votes)
594 views

Web Testing

Web Testing Techniques Usability Testing Performance Testing Functional Testing Load Testing Stress Testing

Uploaded by

Aprna Tripathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
594 views

Web Testing

Web Testing Techniques Usability Testing Performance Testing Functional Testing Load Testing Stress Testing

Uploaded by

Aprna Tripathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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