Professional Documents
Culture Documents
ST L05 Testing Internet Applications
ST L05 Testing Internet Applications
ST L05 Testing Internet Applications
© 2016
Lecture Learning Objectives
Objectives
▪ Provide some of the basic concepts about testing
internet applications.
▪ Identify the difference between testing internet-
based applications and testing traditional
applications.
Outcomes
▪ Understand the difference between internet-based
applications and traditional applications
3
08 | Testing Internet Applications
5
Guiding Questions
6
A Typical Application Model
HUMAN SW/HW
7
Application Model – Mainframe Sys.
HUMAN SW/HW
Mainframe
HUMAN SW/HW
HUMAN SW/HW
12
Application Model – Web-based Sys.
13
Distributed Application Architecture
A distributed system is a software system in which
components located on networked computers
communicate and coordinate their actions by passing
messages.
and servers
15
Section Questions
18
Guiding Questions
What are components of web-based systems? How
are they operated?
▪ Data storage
20
Thin-client vs. Thick-client Systems
CLIENT SERVER
Logic/Rule
User interface
Components
Data Access
Components
Data storage
21
Thin-client vs. Thick-client Systems
CLIENT SERVER
User interface
Data storage
22
Section Questions
What are components of web-based systems? How are
they operated?
25
Web-based Sys. vs. Traditional C/S Sys.
Traditional Client-Server Systems Web-based Client-Server System
Client-side Applications
Clients of traditional C/S system are Web-based client is running in the context of a
platform-specific (Win 32/64, Linux, web browser.
etc.)
There are many different web browsers and
A client application will be developed many difference versions of the same browser.
and tested for that target platform. Web browser compatibility issues.
Event Handling
It supports many kinds of event- - It supports only single-clicking for navigation
handling, such as mouse-over, mouse and data submission, and mouse-over ALT
single-click, mouse double-click or attribute for an alternate description of
mouse-click with a modifier key such as graphic.
Ctrl.
- It offers very limited keyboard event
support.
- It supports explicit submission model (one-
way request and submission model).
26
Web-based Sys. vs. Traditional C/S Sys.
27
Web-based Sys. vs. Traditional C/S Sys.
28
08 | Testing Internet Applications
30
Guiding Questions
31
Web Testing Challenges – Examples
Locales
Some internationalization issues
▪ Language translation
▪ Time zone difference
▪ Currency conversion
32
Web Testing Challenges – Examples
Business environment
The tester must thoroughly understand
the structure of remote system, and
work closely with its owners and
developers to ensure security and
accuracy.
Security
Since your site is open to the world,
you must protect it from hackers.
Testing environment
Need to duplicate the production
environment.
33
Web Testing Challenges – Examples
34
Web Testing Challenges – Examples
Presentation tier Business tier Data tier
Have a copy editor check Ensure data are Test for proper data
grammar and style. collected correctly. encryption and security
(credit card and user’s
personal information, in
particular).
Check cursor positioning when Test backend data entry
page loads to ensure it is in the and management routines
correct textbox. for usability and accuracy.
Confirm that default button is
selected when the page loads.
Check for consistent and user-
friendly feedback on interactive
operations.
Check for business- or industry-
specific terms and style.
Table 8.2 – Examples of Presentation, Business, and Data Tier Testing
35
Section Questions
40
Guiding Questions
What is an overall testing strategy for web
applications?
Testing Strategies
for
Web App.
Business Data Layer
Layer Testing Testing
43
Presentation Layer – Content Testing
Objective
▪ Find defects relating to human-interface elements
of a website.
Why is it important?
▪ Providing grammatically correct, but inaccurate,
information harms your company’s credibility as
much as any other GUI defect.
44
Presentation Layer – Content Testing
What should you do for content testing?
▪ You need to search for defects in
• Overall aesthetics (screen layout, colors)
• Font type/size
• Graphic resolutions
• Default values
• Spelling
Objective
▪ Test the website architecture by trying to find
navigational and structural errors.
• missing pages
• wrong files
• or anything that sends the user to the wrong area of the site.
46
Presentation Layer – Website Architecture
48
Presentation Layer – User Environment
49
Strategies for Business Layer Testing
Strategies:
• Internal and external components Testing
Testing Strategies
for
Web App.
Business Data Layer
Objective: Layer Testing Testing
Focus on finding errors
in the business logic of
your Web application.
50
Test Internal and External Components
51
Business Layer – Performance Testing
Test to see whether the application meets
documented performance specifications (generally
specified in response times and throughput rates).
Response time
▪ The length of time between sending of an inquiry from the
client, to the display of the last byte of the response at a user
terminal.
Throughput
▪ The amount of work that can be performed by a computer
system or component in a given period of time.
52
Business Layer – Data Validation
Objective
▪ Test to detect
errors in data
collected from
customers.
53
Business Layer – Transactional Testing
Objective
▪ Test to uncover errors in transaction processing, which may
include credit card processing, e-mailing verifications, and
calculating sales tax.
Why is it important?
▪ Your e-commerce site must process transactions correctly
100 percent of the time. No exceptions.
54
Business Layer – Transactional Testing
55
Strategies for Data Layer Testing
Testing Strategies
for
Web App.
Business Data Layer Objective:
Layer Testing Testing Focus primarily on testing
the DBMS that your app.
uses to store and retrieve
info.
56
Data Layer Testing – Challenges
57
Data Layer – Response Time Testing
Objective
▪ Focus on identifying database operations that do not meet
performance objectives.
Challenges
59
Data Layer – Data Integrity Testing
Objective
▪ Data integrity testing
strives to find defects
in how you store data.
60
Data Layer – Data Integrity Testing
▪ For date and time fields, time zone issues come into play.
• For instance, do you store time based on the location of the client, the
Web server, the application server, or the RDBMS?
61
Data Layer – Data Integrity Testing
62
Fault Tolerance & Recoverability Testing
Robustness
▪ is the ability of a computer system to cope with errors during
execution.
Objective
▪ Your goal when testing the database system robustness is to
try to exceed the numbers of MTBF and MTTR.
64
Fault Tolerance & Recoverability Testing
• Another scenario is that you build fault tolerance into your application so
that a downed database affects the system very little.
65
Fault Tolerance & Recoverability Testing
• If you cannot recover the database during recoverability testing, then you
need to modify your backup plan.
66
Fault Tolerance & Recoverability Testing
• If the local server fails, are the remote systems current, and can your
software connect to a remote system quickly?
67
Section Questions
What is an overall testing strategy for web applications?
69
Take Away
71
References
1. Hung Q. Nguyen, Testing Applications on the Web,
John Wiley & Sons, 2001: Chapter 2 & 5
72
Questions & Answers
73