Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
• Software Testing - Why needed?
• Test Automation
• Unit Testing
• Integration Testing
• System Testing
• Incremental methodology
E-Testing Methodology
Onsite
Offshore
Iteration
Knowledge
Repository
Requirement Post Deployment
Analysis Evaluation
Inputs on Tools,
Checklists,
Environment Functional,
Stress,
Performance,etc.
Regression,
Strategy Defects Release
Formulation Functional Test Tools
Load Test Tools Test Management
Tool
Test Cases
Test Planning Scripting Test Execution
Generation
Automation – Why Required?
● Functionality Testing
Tools for Functionality Testing are used mainly when the
application has to be tested in a number of hardware and
browser combinations.
Tools:Silk Test, SQA Robot,Winrunner.
● Performance Testing
To Test the Scalability of the application and to determine
Performance bottlenecks and Stability at high loads.
Tools: Silk Performer,Loadrunner, Webload,WAS.
Which Test Cases to
Automate?
Tests that need to be run for every build of the
application (sanity check, regression test)
Tests that use multiple data values for the same
actions (data driven tests)
Tests that require detailed information from
application internals (e.g., SQL, GUI attributes)
Stress/load testing
Which Test Cases Not to
Automate?
Usability testing
❏ "How easy is the application to use?"
One-time testing
"ASAP" testing
❏ "We need to test NOW!"
Ad hoc/random testing
❏ based on intuition and knowledge of application
Tests without predictable results
From Manual to Automated
Testing
Repeat steps until
Wait for Verify AUT
Perform user all applications
processes to functions as
actions are verified
complete expected
compliant
1 2 3 4
1 2 3 4
Synchronize
Generate
script playback Run test or
automated Add verification
to application suite of tests
script
performance
Testing Is a Team Effort
TEAM MEMBER RESPONSIBILITY
•Script generation
•Customization of Scripts
•Parameterization of data
•Maintenance of Test Scripts in Test Suites
•Save Test Results
1 2 3 4
Record user Synchronize
script to Add verification
Run test or
actions in statements to
application suite of tests
script under test check AUT
Initial/End Conditions
● Object based
● Readable script
● Maintainable script
(editable)
● Script not affected by user
interface changes
❏ if object moves location on
GUI, script will still replay
correctly
● Portable script
❏ a context sensitive script can
be ported to different
platforms with different
configurations
A Closer Look at GUI Objects
menu window
static text
list item
edit field
scroll bar
frame
Initial/End Conditions
ANALOG vs.
CONTEXT SENSITIVE
SCRIPTS
Context Sensitive Script
R-eview
button_press ("OK");
output14
Analog Recording
● Screen-coordinate
dependent
● Test script describes
mouse and keyboard
activities
● 3 commands:
x
❏ mouse press/release
❏ mouse move
❏ keyboard type
y
● Covers all types of
applications
Analog Script
keyboard timing
output14
Analog or Context-Sensitive?
Functionality Context
Application under test Sensitive Analog
Physical Description
of window or object
highlighted above
The GUI Map
Characteristics Strengths
• Allows separation of physical •Maintainability
attributes from test scripts –If a button label changes in the
• Enables WinRunner to application, update the button
description once in the GUI map
uniquely identify objects in
rather than in 500 tests
the AUT using physical
•Readability
attributes
–button_press("Insert") instead of
• -Allows WinRunner to refer to button_press("{class:
objects in the script using an ThunderSSCommand}");
intuitive logical name •Portability
• Provides the connection –Use the same script for all platforms,
between logical names a-nd with a different GUI map for each
physical attributes platform
Check Points
● Db Check
● Bitmap Check
● Text Check
Why Synchronize?
Without synchronization point With synchronization point
t
rip
rip
T
T
AU
AU
Sc
Sc
Run script Run script
Synchronization
Script Server
fails Waits for Waits
server; processes data
cannot
point
continue
Server returns
Waits
results
Client affirms
Continues transaction is
complete
Synchronization Points
ert_Sale
Insert_Sale
Insert_Sale
Insert_Sale
Insert_Sale
Insert_Sale
Checkpoint
details can be
opened in a
separate
window
Thank You