Professional Documents
Culture Documents
Software Testing Presentation
Software Testing Presentation
s
s
Software testing is no exception
Software testing is no exception
Historically there has not been a generally accepted set of
Historically there has not been a generally accepted set of
testing definitions
testing definitions
SIM Group Ltd., SQS Group AG, 2002
Testing Terminology
To resolve this issue, the BCS SIGIST created a Standard
To resolve this issue, the BCS SIGIST created a Standard
Glossary of Testing Terms
Glossary of Testing Terms
British Computer Society British Computer Society
Special Interest Group In Software Testing Special Interest Group In Software Testing
This is now a British Standard
This is now a British Standard
BS7925 BS7925- -1 1
SIM Group Ltd., SQS Group AG, 2002
Testing Terminology
You will need to read the document and start to learn the
You will need to read the document and start to learn the
terminology used in software testing
terminology used in software testing
You will be exposed to the terminology and customers will
You will be exposed to the terminology and customers will
assume you know what they mean
assume you know what they mean
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Why Testing is Necessary
Why Testing is Necessary
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
In this session we will
In this session we will
Understand what testing is and why it is necessary
Understand what testing is and why it is necessary
Define some of the words used in software testing
Define some of the words used in software testing
Look at the cause and cost of errors
Look at the cause and cost of errors
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
Why Test?
Why Test?
To find bugs
To find bugs
What is a bug?
What is a bug?
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
What is Testing?
What is Testing?
the process of executing a program with the intent to certify it the process of executing a program with the intent to certify it s s
Quality Quality
Mills Mills
the process of executing a program with the intent of finding the process of executing a program with the intent of finding
failures / faults failures / faults
Myers Myers
the process of exercising software to detect bugs & to verify th the process of exercising software to detect bugs & to verify that at
it satisfies specified functional & non it satisfies specified functional & non- -functional requirements functional requirements
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
Why is Testing becoming more important?
Why is Testing becoming more important?
The Y2K problem The Y2K problem
EMU EMU
e Commerce e Commerce
Increased user base Increased user base
Increased complexity Increased complexity
Speed to Market Speed to Market
SIM Group Ltd., SQS Group AG, 2002
Definitions
SIM Group Ltd., SQS Group AG, 2002
Definitions
ERROR
ERROR
FAULT
FAULT
Ariane Ariane V, Venus Probe, Mars Explorer and Polar Lander V, Venus Probe, Mars Explorer and Polar Lander
SIM Group Ltd., SQS Group AG, 2002
Why do errors occur?
The Cost Of Errors
The Cost Of Errors
In extreme cases a software or systems error may cost
In extreme cases a software or systems error may cost
LIVES
LIVES
Usually safety critical systems are tested exhaustively
Usually safety critical systems are tested exhaustively
Aeroplane, railway, nuclear power systems etc Aeroplane, railway, nuclear power systems etc
Unfortunately there are exceptions to this
Unfortunately there are exceptions to this
London Ambulance Service London Ambulance Service
SIM Group Ltd., SQS Group AG, 2002
Why do errors occur?
The Cost Of Errors
The Cost Of Errors
The cost of defects increases proportionately (tenfold?) with
The cost of defects increases proportionately (tenfold?) with
the passing of each successive stage in the system
the passing of each successive stage in the system
development process before they are detected
development process before they are detected
To correct a problem at requirements stage may cost
To correct a problem at requirements stage may cost
1
1
To correct the problem post
To correct the problem post
-
-
implementation may cost
implementation may cost
000
000
s
s
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
Why Test?
Why Test?
Identifies faults
Identifies faults
Reduces live defects Reduces live defects
Improves the quality of the users application Improves the quality of the users application
Increases reliability Increases reliability
To help ensure live failures don To help ensure live failures don t impact costs & profitability t impact costs & profitability
To help ensure requirements are satisfied To help ensure requirements are satisfied
To ensure legal requirements are met To ensure legal requirements are met
To help maintain the organisation To help maintain the organisation s reputation s reputation
Provides a measure of quality
Provides a measure of quality
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
Quality Measurements
Quality Measurements
Quality can be measured by testing for
Quality can be measured by testing for
correctness correctness
reliability reliability
usability usability
maintainability maintainability
testability testability
reusability reusability
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
How much is enough?
How much is enough?
How do we know when to stop?
How do we know when to stop?
There are many factors to consider There are many factors to consider
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
Exhaustive Testing
Exhaustive Testing
Find all faults by testing everything?
Find all faults by testing everything?
To test everything is rarely possible
To test everything is rarely possible
The time required makes it impractical
The time required makes it impractical
The resource commitment required makes it impractical
The resource commitment required makes it impractical
SIM Group Ltd., SQS Group AG, 2002
Why Testing is Necessary
If we can
If we can
successful
successful
destructive
destructive
Development is
Development is
constructive
constructive
Testing asks questions
Testing asks questions
Testers need to ask questions
Testers need to ask questions
A tester needs many qualities...
A tester needs many qualities...
SIM Group Ltd., SQS Group AG, 2002
What makes a Tester?
Intellectual qualities
Intellectual qualities
Can absorb incomplete facts
Can absorb incomplete facts
Can work with incomplete facts
Can work with incomplete facts
Can learn quickly on many levels
Can learn quickly on many levels
Good verbal communication
Good verbal communication
Good written communication
Good written communication
Ability to prioritise
Ability to prioritise
Self
Self
-
-
organisation
organisation
SIM Group Ltd., SQS Group AG, 2002
What makes a Tester?
Knowledge
Knowledge
How projects work
How projects work
How computer systems and business needs interact
How computer systems and business needs interact
What makes IT tick
What makes IT tick
-
-
technology
technology
What makes IT tick
What makes IT tick
-
-
commercial aspects
commercial aspects
Testing techniques
Testing techniques
Testing best practice
Testing best practice
To be able to think inside and outside of a system
To be able to think inside and outside of a system
specification
specification
SIM Group Ltd., SQS Group AG, 2002
What makes a Tester?
More skills to acquire
More skills to acquire
How to find bugs
How to find bugs
-
-
planning, preparation & execution
planning, preparation & execution
How to understand systems
How to understand systems
How to read specifications
How to read specifications
How to extract testable functionality
How to extract testable functionality
How to work efficiently
How to work efficiently
How to focus on essentials
How to focus on essentials
SIM Group Ltd., SQS Group AG, 2002
Reporting Defects
Defects need to be reported to
Defects need to be reported to
Developers to enable them to fix them
Developers to enable them to fix them
Management so they can track progress
Management so they can track progress
Communication to both groups is vital
Communication to both groups is vital
SIM Group Ltd., SQS Group AG, 2002
Communication with Developers
A good relationship is vital
A good relationship is vital
Developers need to keep testers up to date with changes to
Developers need to keep testers up to date with changes to
the application
the application
Testers need to inform developers of defects to allow fixes to
Testers need to inform developers of defects to allow fixes to
be applied
be applied
SIM Group Ltd., SQS Group AG, 2002
Communication with Management
Managers need progress reports
Managers need progress reports
The best way is through metrics
The best way is through metrics
Number of tests planned & prepared
Number of tests planned & prepared
Number of tests executed to date
Number of tests executed to date
Number of defects raised & fixed
Number of defects raised & fixed
How long planning, preparation and execution stages take
How long planning, preparation and execution stages take
SIM Group Ltd., SQS Group AG, 2002
The Psychology of Testing
Testing Independence
Testing Independence
SIM Group Ltd., SQS Group AG, 2002
Testing Independence
It is important that testing is separate from
It is important that testing is separate from
development
development
The developer is likely to confirm adherence not deviation
The developer is likely to confirm adherence not deviation
The developer will make assumptions
The developer will make assumptions
-
-
the same when
the same when
testing as developing
testing as developing
SIM Group Ltd., SQS Group AG, 2002
Testing Independence
Levels of Independence
Levels of Independence
Low
Low
-
-
Developers write their own tests
Developers write their own tests
Medium
Medium
-
-
Tests are written by another developer
Tests are written by another developer
High
High
-
-
Tests written by an independent body
Tests written by an independent body
Tests written by another section Tests written by another section
Tests written by another organisation Tests written by another organisation
Utopia
Utopia
-
-
Tests generated automatically
Tests generated automatically
SIM Group Ltd., SQS Group AG, 2002
The Psychology Of Testing
Summary
Summary
Testers require a particular set of skills
Testers require a particular set of skills
The desire to break things The desire to break things
The desire to explore and experiment The desire to explore and experiment
Communication Communication
Questioning Questioning
Testing requires a different mentality to development
Testing requires a different mentality to development
Destroying Destroying things rather than creating them things rather than creating them
Testing should be separate from development Testing should be separate from development
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Re
Re
-
-
Testing & Regression Testing
Testing & Regression Testing
SIM Group Ltd., SQS Group AG, 2002
Re-Testing & Regression Testing
In this session we will
In this session we will
Understand how fault fixing and re
Understand how fault fixing and re
-
-
testing are key to the
testing are key to the
overall testing process
overall testing process
Look at how test repeatability helps
Look at how test repeatability helps
Understand what regression testing is and where it fits in
Understand what regression testing is and where it fits in
Understand how to select test cases for regression testing
Understand how to select test cases for regression testing
SIM Group Ltd., SQS Group AG, 2002
Re-Testing
Testing is directed at finding faults
Testing is directed at finding faults
These faults will need to be corrected and a new version of
These faults will need to be corrected and a new version of
the software released
the software released
The tests will need to be run again to prove that the fault is
The tests will need to be run again to prove that the fault is
fixed
fixed
This is known as Re
This is known as Re
-
-
Testing
Testing
SIM Group Ltd., SQS Group AG, 2002
Re-Testing
The need for re
The need for re
-
-
testing needs to be planned & designed
testing needs to be planned & designed
for
for
Schedules need to allow for re
Schedules need to allow for re
-
-
testing
testing
Tests need to be easily re
Tests need to be easily re
-
-
run
run
The environment needs to be easily restored
The environment needs to be easily restored
SIM Group Ltd., SQS Group AG, 2002
Regression Testing
Re
Re
-
-
testing of a previously tested program following
testing of a previously tested program following
modification to ensure that FAULTS have not been
modification to ensure that FAULTS have not been
introduced or uncovered as a result of the changes
introduced or uncovered as a result of the changes
made
made
substantial
substantial
faults
faults
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
The average cost of fixing a defect increases tenfold
The average cost of fixing a defect increases tenfold
with every step of the development process
with every step of the development process
In code reviews you will find and fix defects in an average of
In code reviews you will find and fix defects in an average of
1
1
-
-
2 minutes
2 minutes
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
In initial testing, defect fix times will average between
In initial testing, defect fix times will average between
10 to 20 minutes
10 to 20 minutes
In integration testing each defect can cost an hour or
In integration testing each defect can cost an hour or
more
more
In system test each defect can cost 10 to 40 or more
In system test each defect can cost 10 to 40 or more
engineer hours
engineer hours
Watts Humphrey Watts Humphrey
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Early test design can prevent fault multiplication
Early test design can prevent fault multiplication
Analysis of specification during test preparation often brings
Analysis of specification during test preparation often brings
faults in the specification to light
faults in the specification to light
If faults in documentation are not found then the system may
If faults in documentation are not found then the system may
be developed incorrectly
be developed incorrectly
SIM Group Ltd., SQS Group AG, 2002
Economics of testing
An example
An example
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in the requirements
Finding the error in the requirements
Change requirements document
Change requirements document
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in the specifications
Finding the error in the specifications
Change requirements document
Change requirements document
Change specifications
Change specifications
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in the code
Finding the error in the code
Change requirements document
Change requirements document
Change specifications
Change specifications
Change the code
Change the code
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in system testing
Finding the error in system testing
Change requirements document
Change requirements document
Change specifications
Change specifications
Change the code
Change the code
Change the tests, re
Change the tests, re
-
-
test & regression test
test & regression test
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in UAT
Finding the error in UAT
Change requirements document
Change requirements document
Change specifications
Change specifications
Change the code
Change the code
Change the tests, re
Change the tests, re
-
-
test & regression test
test & regression test
Re
Re
-
-
do UAT
do UAT
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in Live
Finding the error in Live
Change requirements document
Change requirements document
Change specifications
Change specifications
Change the code
Change the code
Change the tests, re
Change the tests, re
-
-
test & regression test
test & regression test
Re
Re
-
-
do UAT
do UAT
Plus...
Plus...
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Finding the error in Live
Finding the error in Live
User to report and log fault
User to report and log fault
Users must be advised of fix, work
Users must be advised of fix, work
-
-
around etc
around etc
The live database may need to be fixed
The live database may need to be fixed
Deploying the new build may take hours
Deploying the new build may take hours
Loss of business
Loss of business
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Additionally
Additionally
Faults found in coding or later require changes to the code
Faults found in coding or later require changes to the code
library
library
Documentation and help files will have to be changed
Documentation and help files will have to be changed
Every fault requires investigating and logging
Every fault requires investigating and logging
Administration costs
Administration costs
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
The cost of not Testing
The cost of not Testing
What is the cost of testing?
What is the cost of testing?
Which is cheaper?
Which is cheaper?
Testing and finding faults before release Testing and finding faults before release
Not testing and finding faults once the system is live Not testing and finding faults once the system is live
Companies do not typically have figures for either
Companies do not typically have figures for either
SIM Group Ltd., SQS Group AG, 2002
Economics of Testing
Summary
Summary
The purpose of testing is to find faults
The purpose of testing is to find faults
The earlier a fault is found the cheaper (and easier) it is to f
The earlier a fault is found the cheaper (and easier) it is to f
ix
ix
Starting testing early will help find faults quicker
Starting testing early will help find faults quicker
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
High Level Test Planning
High Level Test Planning
SIM Group Ltd., SQS Group AG, 2002
High Level Test Planning
In this session we will
In this session we will
Look at how a test plan is put together Look at how a test plan is put together
Understand how it should be used and maintained Understand how it should be used and maintained
Understand why they are so important to a testing project Understand why they are so important to a testing project
SIM Group Ltd., SQS Group AG, 2002
High Level Test Planning
What is a test plan?
What is a test plan?
A project plan for testing
A project plan for testing
Covering all aspects of testing
Covering all aspects of testing
SIM Group Ltd., SQS Group AG, 2002
High Level Test Planning
Before you plan
Before you plan
A test strategy must be in place
A test strategy must be in place
SIM Group Ltd., SQS Group AG, 2002
The Different Sections of a Test Plan
Test plan identifier Test plan identifier
Introduction Introduction
Test items Test items
Features to be tested Features to be tested
Features not to be tested Features not to be tested
Approach Approach
Item pass / fail criteria Item pass / fail criteria
Suspension criteria & Suspension criteria &
resumption criteria resumption criteria
Test deliverables Test deliverables
Testing tasks Testing tasks
Environment Environment
Responsibilities Responsibilities
Staffing and training needs Staffing and training needs
Schedules Schedules
Risks and contingencies Risks and contingencies
Approvals Approvals
Based upon IEEE 829 Based upon IEEE 829- -1998 standard for 1998 standard for
software test documentation software test documentation
SIM Group Ltd., SQS Group AG, 2002
Test Plan Identifier
A unique identifier for the test plan
A unique identifier for the test plan
SIM Group Ltd., SQS Group AG, 2002
Introduction
The introduction should
The introduction should
Give an overview of the plan
Give an overview of the plan
A summary of the requirements A summary of the requirements
Discuss what needs to be achieved Discuss what needs to be achieved
Detail why testing is needed Detail why testing is needed
Reference to other documents
Reference to other documents
Quality assurance and configuration management Quality assurance and configuration management
SIM Group Ltd., SQS Group AG, 2002
Test Items
The various items to be used in the tests
The various items to be used in the tests
The software items
The software items
Their versions numbers / identifiers
Their versions numbers / identifiers
How they will be handed over to testing
How they will be handed over to testing
References to relevant documents
References to relevant documents
SIM Group Ltd., SQS Group AG, 2002
Features to Be Tested
List all features of the SUT that will be tested under this
List all features of the SUT that will be tested under this
plan
plan
SIM Group Ltd., SQS Group AG, 2002
Features Not to Be Tested
List all features of the SUT that will not be tested under
List all features of the SUT that will not be tested under
this plan
this plan
Between the test items, features to be tested and features not t Between the test items, features to be tested and features not to be o be
tested we have scope of the project tested we have scope of the project
SIM Group Ltd., SQS Group AG, 2002
Approach
Describes the approach to testing the SUT
Describes the approach to testing the SUT
This should be high level, but sufficient to estimate the time
This should be high level, but sufficient to estimate the time
and resources required
and resources required
What this approach will achieve What this approach will achieve
Specify major activities Specify major activities
Testing techniques Testing techniques
Testing tools / aids Testing tools / aids
Constraints to testing Constraints to testing
Support required Support required - - environment & staffing environment & staffing
SIM Group Ltd., SQS Group AG, 2002
Item Pass / Fail Criteria
How to judge whether a test item has passed
How to judge whether a test item has passed
Expected vs. Actual results
Expected vs. Actual results
Certain % of tests pass
Certain % of tests pass
Number of faults remaining (known and estimated)
Number of faults remaining (known and estimated)
Should be defined for each test item
Should be defined for each test item
SIM Group Ltd., SQS Group AG, 2002
Suspension criteria & resumption requirements
Reasons that would cause testing to be suspended
Reasons that would cause testing to be suspended
Steps necessary to resume testing
Steps necessary to resume testing
SIM Group Ltd., SQS Group AG, 2002
Test Deliverables
Everything that goes to make up the tests
Everything that goes to make up the tests
All documentation
All documentation
e.g. Specification, test plans, procedures, reports e.g. Specification, test plans, procedures, reports
Code releases
Code releases
Testing tools
Testing tools
Test management tools, automation tools, excel, word etc Test management tools, automation tools, excel, word etc
Test systems
Test systems
Manual and automated test cases Manual and automated test cases
SIM Group Ltd., SQS Group AG, 2002
Testing Tasks
Preparation to perform testing
Preparation to perform testing
Test case identification Test case identification
Test case design Test case design
Test data storage Test data storage
Baseline application Baseline application
Special skills needed
Special skills needed
Spreadsheet skills, test analysis, automation etc Spreadsheet skills, test analysis, automation etc
Inter
Inter
-
-
dependencies
dependencies
SIM Group Ltd., SQS Group AG, 2002
Environment
Requirements for test environment
Requirements for test environment
Hardware & software
Hardware & software
PCs, servers, routers etc PCs, servers, routers etc
SUT, interfaced applications, databases SUT, interfaced applications, databases
Configuration
Configuration
Maybe operating systems or middleware to test against Maybe operating systems or middleware to test against
Facilities
Facilities
Office space, desks, internet access Office space, desks, internet access
SIM Group Ltd., SQS Group AG, 2002
Responsibilities
Who is responsible?
Who is responsible?
For which activities
For which activities
For which deliverables
For which deliverables
For the environment
For the environment
SIM Group Ltd., SQS Group AG, 2002
Staffing and Training Needs
Staff required
Staff required
Test managers, team leaders, testers, test analysts Test managers, team leaders, testers, test analysts
Skill levels required
Skill levels required
Automation experience Automation experience
Spreadsheet skills, etc Spreadsheet skills, etc
Training requirements
Training requirements
Tools specific training Tools specific training
Refresher courses, etc. Refresher courses, etc.
Overall project resource requirements Overall project resource requirements
SIM Group Ltd., SQS Group AG, 2002
Schedule
Timescales, dates and milestones
Timescales, dates and milestones
Resources required to meet milestones
Resources required to meet milestones
Availability of software and environment
Availability of software and environment
Deliverables
Deliverables
SIM Group Ltd., SQS Group AG, 2002
Risks and Contingencies
What might go wrong?
What might go wrong?
Actions for minimising impact on testing should things go
Actions for minimising impact on testing should things go
wrong
wrong
SIM Group Ltd., SQS Group AG, 2002
Approvals
Who has approved the test plan
Who has approved the test plan
Names and dates of approval
Names and dates of approval
Why is it so important
Why is it so important
Evidence that the document has been viewed Evidence that the document has been viewed
Shows that the approach has been agreed and has the backing Shows that the approach has been agreed and has the backing
of those who matter of those who matter
You have commitment, now make them stick to it! You have commitment, now make them stick to it!
SIM Group Ltd., SQS Group AG, 2002
High Level Test Planning
Summary
Summary
Test plans are created to ensure that the requirements are
Test plans are created to ensure that the requirements are
understood
understood
To ensure that maximum test coverage is achieved
To ensure that maximum test coverage is achieved
To identify all items that will form the test
To identify all items that will form the test
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Acceptance Testing
Acceptance Testing
SIM Group Ltd., SQS Group AG, 2002
Acceptance Testing
In this session we will
In this session we will
Understand what acceptance testing is
Understand what acceptance testing is
Why you would want to do it Why you would want to do it
How you would plan it and prepare for it How you would plan it and prepare for it
What you need to actually do it What you need to actually do it
Understand the different types of acceptance testing
Understand the different types of acceptance testing
SIM Group Ltd., SQS Group AG, 2002
Introduction
What is Acceptance Testing ?
What is Acceptance Testing ?
"Formal testing conducted to enable a user, customer or other
"Formal testing conducted to enable a user, customer or other
authorised entity to determine whether to accept a system or
authorised entity to determine whether to accept a system or
component."
component."
SIM Group Ltd., SQS Group AG, 2002
User Acceptance Testing
What is User Acceptance Testing (UAT)?
What is User Acceptance Testing (UAT)?
Exactly what it says it is!!
Exactly what it says it is!!
Users of end product conducting the tests
Users of end product conducting the tests
The set
The set
-
-
up will represent a working Environment
up will represent a working Environment
Covers all areas of a project, not just the system
Covers all areas of a project, not just the system
A.K.A Business Acceptance Testing or Business Process
A.K.A Business Acceptance Testing or Business Process
Testing
Testing
SIM Group Ltd., SQS Group AG, 2002
Systems
Test
UAT
Alpha /
Beta
Unit
Test
Where does it fit in?
SIM Group Ltd., SQS Group AG, 2002
level
time
Service Level
Testing
Operational
Requirements
Design
Specifications
Functional
Specification
Component
Testing
System
Testing
Integration
Testing (large)
User Acceptance
Testing
Program
Specification
Business
Requirements
A typical development life-cycle V-Model
SIM Group Ltd., SQS Group AG, 2002
Planning UAT
Why plan?
Why plan?
Things to consider
Things to consider
Preparing Tests
Preparing Tests
Manual
Manual
Automated
Automated
SIM Group Ltd., SQS Group AG, 2002
Why Plan?
If you don
If you don
Acceptance criteria will have been defined in the contract
Acceptance criteria will have been defined in the contract
Before the software is accepted it is necessary to show that
Before the software is accepted it is necessary to show that
its matches its
its matches its
in situ
in situ
In a replica of the production / live environment In a replica of the production / live environment
Use stubs & drivers where external systems aren Use stubs & drivers where external systems aren t available t available
Test the system and its
Test the system and its
t
t
mean it will work in a live environment
mean it will work in a live environment
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Non
Non
-
-
Functional System Testing
Functional System Testing
SIM Group Ltd., SQS Group AG, 2002
Non-Functional System Testing
In this session we will
In this session we will
Understand what Non
Understand what Non
-
-
Functional System Testing is
Functional System Testing is
Understand the need for non
Understand the need for non
-
-
functional system testing
functional system testing
Look at the various types of non
Look at the various types of non
-
-
functional system testing
functional system testing
SIM Group Ltd., SQS Group AG, 2002
Non-Functional System Testing
Non
Non
-
-
Functional System Testing is defined as:
Functional System Testing is defined as:
Users, generally, focus on the Functionality of the system
Users, generally, focus on the Functionality of the system
SIM Group Ltd., SQS Group AG, 2002
Non-Functional System Testing
Functional testing may show that the system performs as per
Functional testing may show that the system performs as per
the requirements
the requirements
Will the system work if now deployed?
Will the system work if now deployed?
There are other factors critical to the successful use of a
There are other factors critical to the successful use of a
system
system
SIM Group Ltd., SQS Group AG, 2002
Security Testing
How easy is it for an unauthorised user to access the
How easy is it for an unauthorised user to access the
system?
system?
How easy is it for an unauthorised person to access the data?
How easy is it for an unauthorised person to access the data?
SIM Group Ltd., SQS Group AG, 2002
Usability Testing
Testing the ease with which users can learn and use the
Testing the ease with which users can learn and use the
product
product
Employ people to use the application as a user and study
Employ people to use the application as a user and study
how they use it
how they use it
A beta
A beta
-
-
test may be a cheap way of doing Usability testing
test may be a cheap way of doing Usability testing
There is no simple way to examine HOW people use the
There is no simple way to examine HOW people use the
product
product
SIM Group Ltd., SQS Group AG, 2002
Storage Testing
Study how memory and storage is used by the product
Study how memory and storage is used by the product
Predict when extra capacity may be needed
Predict when extra capacity may be needed
SIM Group Ltd., SQS Group AG, 2002
Installability Testing
Does the installation work?
Does the installation work?
Is it easy to carry out?
Is it easy to carry out?
Does it uninstall correctly?
Does it uninstall correctly?
SIM Group Ltd., SQS Group AG, 2002
Documentation Testing
Should include recovery from system back
Should include recovery from system back
-
-
ups
ups
SIM Group Ltd., SQS Group AG, 2002
Load Testing
t
t
mean that testing is complete
mean that testing is complete
There are a range of non
There are a range of non
-
-
functional tests that need to be
functional tests that need to be
performed upon a system
performed upon a system
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Functional System Testing
Functional System Testing
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
In this session we will
In this session we will
Understand what functional system testing is
Understand what functional system testing is
Understand the benefits of functional system testing
Understand the benefits of functional system testing
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
What is System Testing?
What is System Testing?
Testing of the complete system
Testing of the complete system
May be the last step in integration testing in the small May be the last step in integration testing in the small
May be the first time that enough of the system has been put May be the first time that enough of the system has been put
together to make a working system together to make a working system
Ideally done by an independent test team
Ideally done by an independent test team
Two types
Two types
-
-
functional and non
functional and non
-
-
functional
functional
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
A Functional Requirement is
A Functional Requirement is
Functional System testing is geared to checking the function
Functional System testing is geared to checking the function
of the system against specification
of the system against specification
May be requirements based or business process based
May be requirements based or business process based
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
Testing Based on Requirements
Testing Based on Requirements
Requirements specification used to derive test cases
Requirements specification used to derive test cases
System is tested to ensure the requirements can be met
System is tested to ensure the requirements can be met
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
Testing carried out against Business processes
Testing carried out against Business processes
Based on expected use of the system
Based on expected use of the system
Builds use cases
Builds use cases
-
-
test cases that reflect actual or expected
test cases that reflect actual or expected
use of the system
use of the system
SIM Group Ltd., SQS Group AG, 2002
SIM Group Ltd., SQS Group AG, 2002
Functional System Testing
Summary
Summary
Functional system testing allows us to test the system against
Functional system testing allows us to test the system against
the specifications, user requirements and business processes
the specifications, user requirements and business processes
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Integration Testing in the Small
Integration Testing in the Small
SIM Group Ltd., SQS Group AG, 2002
Integration Testing in the Small
In this session we will
In this session we will
Understand what
Understand what
is
is
Look at how & why we do
Look at how & why we do
End to
End to
End
End
missing bits
missing bits
What is a component?
What is a component?
Playtime
Playtime
?
?
Often a short unscripted session with a component can be of
Often a short unscripted session with a component can be of
benefit
benefit
More common at later stages (once formal test techniques
More common at later stages (once formal test techniques
have been completed)
have been completed)
SIM Group Ltd., SQS Group AG, 2002
Component Testing
Not done too well?
Not done too well?
Some basics would quickly improve it:
Some basics would quickly improve it:
Checklists
Checklists
Standards
Standards
Procedures
Procedures
Code & version control
Code & version control
Sign off
Sign off
SIM Group Ltd., SQS Group AG, 2002
Component Testing
Summary
Summary
Component testing is intended to test a software component
Component testing is intended to test a software component
before it is knitted into the system
before it is knitted into the system
There are lots of different approaches
There are lots of different approaches
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Maintenance Testing
Maintenance Testing
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
In this session we will
In this session we will
Look at the challenges that face testers when an application
Look at the challenges that face testers when an application
changes post implementation
changes post implementation
See how to ensure that maintenance applied to the system
See how to ensure that maintenance applied to the system
does not cause failures
does not cause failures
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
What is Maintenance Testing?
What is Maintenance Testing?
Testing of changes to existing, established systems
Testing of changes to existing, established systems
Where maintenance has been performed on the (old) code Where maintenance has been performed on the (old) code
Checking that the fixes have been made and that the system
Checking that the fixes have been made and that the system
has not regressed
has not regressed
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
The Challenge
The Challenge
Old Code
Old Code
No Documentation
No Documentation
Out of Date Documentation (worse)
Out of Date Documentation (worse)
How much testing to do and when to stop testing
How much testing to do and when to stop testing
Mitigation of risk vs. lost revenue Mitigation of risk vs. lost revenue
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
Often applications will need maintenance
Often applications will need maintenance
In doing this minor changes will be required
In doing this minor changes will be required
These need to be tested quickly & effectively to allow service
These need to be tested quickly & effectively to allow service
to be restored
to be restored
These systems may have been in place and working for
These systems may have been in place and working for
years
years
They are likely to be vital to the running of the business They are likely to be vital to the running of the business
They may be in use 24/7 They may be in use 24/7
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
You need to be able to test the changes quickly and
You need to be able to test the changes quickly and
effectively
effectively
As well as being able to prove that the change introduced
As well as being able to prove that the change introduced
does not impact the other functions
does not impact the other functions
A Regression test is in order
A Regression test is in order
SIM Group Ltd., SQS Group AG, 2002
Maintenance Testing
A regression test is
A regression test is
White Box testing
White Box testing
or
or
Structural testing
Structural testing
Focuses on Lines of Code
Focuses on Lines of Code
Looks at specific conditions
Looks at specific conditions
Looks at the mechanics of the Application
Looks at the mechanics of the Application
Useful in the early stages of testing.
Useful in the early stages of testing.
SIM Group Ltd., SQS Group AG, 2002
White Box Testing
Requires a detailed knowledge of the code
Requires a detailed knowledge of the code
Business Function / Process not a prime consideration
Business Function / Process not a prime consideration
Aim to achieve code coverage, not just functional coverage
Aim to achieve code coverage, not just functional coverage
Plays a lesser role later in the testing cycle
Plays a lesser role later in the testing cycle
SIM Group Ltd., SQS Group AG, 2002
White Box Testing
Code Coverage objective
Code Coverage objective
To devise tests that exercise each significant line of program
To devise tests that exercise each significant line of program
code at least once
code at least once
This does not mean every combination of paths and data
This does not mean every combination of paths and data
-
-
which is normally unattainable
which is normally unattainable
SIM Group Ltd., SQS Group AG, 2002
Black & White Box Testing
Techniques and measurements
Techniques and measurements
Systematic techniques exist for black and white box testing
Systematic techniques exist for black and white box testing
Give us a systematic approach to testing Give us a systematic approach to testing
Test cases are developed in a logical manner Test cases are developed in a logical manner
Enable us to have a sub Enable us to have a sub- -set of tests that have a high probability set of tests that have a high probability
of finding faults of finding faults
By using defined techniques we should be able to produce
By using defined techniques we should be able to produce
corresponding measurements
corresponding measurements
Means we can see how testing is progressing Means we can see how testing is progressing
SIM Group Ltd., SQS Group AG, 2002
Black & White Box Testing
Software Testing Tools
Software Testing Tools
Are useful for both Black & White Box Testing
Are useful for both Black & White Box Testing
Can increase productivity and quality of tests
Can increase productivity and quality of tests
Particularly useful for white box testing
Particularly useful for white box testing
SIM Group Ltd., SQS Group AG, 2002
Black & White Box Testing
Summary
Summary
A systematic approach is needed for both
A systematic approach is needed for both
Tests need to be planned, prepared, executed and verified
Tests need to be planned, prepared, executed and verified
against the code
against the code
Expected results need to be defined and understood
Expected results need to be defined and understood
Tools can help increase productivity and quality
Tools can help increase productivity and quality
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Black box test techniques
Black box test techniques
SIM Group Ltd., SQS Group AG, 2002
Black box test techniques
In this session we will
In this session we will
Understand what black box testing is
Understand what black box testing is
Look at some of the different types of black box testing
Look at some of the different types of black box testing
SIM Group Ltd., SQS Group AG, 2002
Black box test techniques
Black box testing is
Black box testing is
Also known as Glass Box testing, Clear Box testing
Also known as Glass Box testing, Clear Box testing
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Why do we need White Box Why do we need White Box
techniques? techniques?
Provide formal structure to Provide formal structure to
testing code testing code
Enable us to measure how Enable us to measure how
much of a component has been much of a component has been
tested tested
Example Example
<100 lines of code <100 lines of code
100,000,000,000,000 possible 100,000,000,000,000 possible
paths paths
At 1,000 tests per second At 1,000 tests per second
would still take 3,170 years to would still take 3,170 years to
test all paths test all paths
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
To plan and design effective cases requires a
To plan and design effective cases requires a
knowledge of the
knowledge of the
Programming language used
Programming language used
Databases used
Databases used
Operating system(s) used
Operating system(s) used
And ideally knowledge of the code itself
And ideally knowledge of the code itself
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
BS7925
BS7925
-
-
2 lists all the white box test techniques
2 lists all the white box test techniques
Statement Testing
Statement Testing
Branch / Decision Testing
Branch / Decision Testing
Branch Condition Testing
Branch Condition Testing
Branch Condition Combination Testing
Branch Condition Combination Testing
Modified Condition Decision Testing
Modified Condition Decision Testing
Linear Code Sequence & J ump
Linear Code Sequence & J ump
Data Flow Testing
Data Flow Testing
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Statement Testing
Statement Testing
Test cases are designed and run with the intention of
Test cases are designed and run with the intention of
executing every statement in a component
executing every statement in a component
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Statement Testing example
Statement Testing example
a; a;
if (b) if (b)
{ {
c; c;
} }
d; d;
Any test case with b TRUE will achieve full statement coverage Any test case with b TRUE will achieve full statement coverage
NOTE: NOTE: Full statement coverage can be achieved without Full statement coverage can be achieved without
exercising with b FALSE exercising with b FALSE
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Branch / Decision testing
Branch / Decision testing
A technique used to execute all branches the code may take
A technique used to execute all branches the code may take
based on decisions made
based on decisions made
Test Cases designed to ensure all branches & decision points
Test Cases designed to ensure all branches & decision points
are covered
are covered
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Branch / Decision testing example
Branch / Decision testing example
a; a;
if (b) if (b)
{ {
c; c;
} }
d; d;
100% statement coverage requires 1 test case (b = True) 100% statement coverage requires 1 test case (b = True)
100% branch / decision coverage requires 2 test cases 100% branch / decision coverage requires 2 test cases
(b = True & b = False) (b = True & b = False)
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Other techniques
Other techniques
Branch Condition testing, Branch Condition Combination
Branch Condition testing, Branch Condition Combination
testing & Modified Condition Decision testing
testing & Modified Condition Decision testing
Condition testing is based upon an analysis of the conditional Condition testing is based upon an analysis of the conditional
control flow within the component control flow within the component
LCSAJ
LCSAJ
Linear Code Sequence And J ump Linear Code Sequence And J ump
Data flow testing
Data flow testing
Tests the flow of data through a component Tests the flow of data through a component
SIM Group Ltd., SQS Group AG, 2002
White Box Test Techniques
Summary
Summary
White box testing can be done immediately after code is
White box testing can be done immediately after code is
written
written
Doesn Doesn t need the complete system t need the complete system
Does need knowledge of the code Does need knowledge of the code
A combination of all techniques are required for a successful
A combination of all techniques are required for a successful
test
test
Don Don t rely on just one technique t rely on just one technique
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Error Guessing
Error Guessing
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
In this session we will
In this session we will
Understand how you can use experience to
Understand how you can use experience to
predict
predict
where
where
errors may occur
errors may occur
Understand how this can benefit testing
Understand how this can benefit testing
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Used to guess where errors may be lurking
Used to guess where errors may be lurking
Based on information about how the system has been put
Based on information about how the system has been put
together and previous experience of testing it
together and previous experience of testing it
Use to complement more systematic techniques not instead
Use to complement more systematic techniques not instead
of
of
Not ad
Not ad
-
-
hoc testing, but testing that targets certain parts of the
hoc testing, but testing that targets certain parts of the
application
application
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Based on the user's or tester's experience of the
Based on the user's or tester's experience of the
commercial aspects of the system
commercial aspects of the system
e.g.
e.g.
Table based calculations such as calculating benefits payments Table based calculations such as calculating benefits payments
Where the user is allowed a high degree of flexibility in GUI Where the user is allowed a high degree of flexibility in GUI
navigation using multiple windows navigation using multiple windows
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Experience of the developers or the development cycle
Experience of the developers or the development cycle
e.g.
e.g.
Knowledge of an individual's Knowledge of an individual's style style
Knowledge of the development lifecycle and especially the Knowledge of the development lifecycle and especially the
change management process change management process
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Experience of the operating systems used
Experience of the operating systems used
e.g.
e.g.
It is known that Windows NT is better at storage management It is known that Windows NT is better at storage management
than Windows 95 than Windows 95
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Should still be planned
Should still be planned
Is part of the test process
Is part of the test process
Should be used as a supplement to systematic techniques Should be used as a supplement to systematic techniques
Ad
Ad
-
-
Hoc testing can be encouraged if
Hoc testing can be encouraged if
The tester maintains a log of those tests performed & is able to The tester maintains a log of those tests performed & is able to
reasonably recollect what actions were performed reasonably recollect what actions were performed
If you have the time to run an extra (Ad
If you have the time to run an extra (Ad
-
-
Hoc) test that passes
Hoc) test that passes
there is little loss
there is little loss
If it finds a defect then that If it finds a defect then that s a bonus s a bonus
SIM Group Ltd., SQS Group AG, 2002
Error Guessing
Summary
Summary
You can never do enough testing!
You can never do enough testing!
The more tests that you can run the more errors you may find The more tests that you can run the more errors you may find
Error guessing can help ensure that areas where defects are
Error guessing can help ensure that areas where defects are
likely to occur are fully tested
likely to occur are fully tested
Uses experience and gut feeling to supplement systematic
Uses experience and gut feeling to supplement systematic
testing techniques
testing techniques
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Reviews and the Test Process
Reviews and the Test Process
SIM Group Ltd., SQS Group AG, 2002
Static Testing
Over the next three sessions we will
Over the next three sessions we will
Discover the various approaches to Static Testing
Discover the various approaches to Static Testing
Discover the benefits of Static Testing
Discover the benefits of Static Testing
Discover the issues with Static Testing
Discover the issues with Static Testing
SIM Group Ltd., SQS Group AG, 2002
Static Testing
What is Static Testing?
What is Static Testing?
How is this done
How is this done
By reviewing the system deliverables
By reviewing the system deliverables
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
Why review
Why review
To identify faults as soon as possible in the development
To identify faults as soon as possible in the development
lifecycle
lifecycle
Reviews offer the chance to find faults in the system
Reviews offer the chance to find faults in the system
specifications
specifications
This should lead to:
This should lead to:
Development productivity improvements Development productivity improvements
Reduced development time Reduced development time- -scales scales
Lifetime cost reductions Lifetime cost reductions
Reduced fault levels Reduced fault levels
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
When to review?
When to review?
As soon as an object is ready, before it is used as a product
As soon as an object is ready, before it is used as a product
or the basis for the next step in development
or the basis for the next step in development
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
What to Review
What to Review
Anything and everything can be reviewed
Anything and everything can be reviewed
Requirements, System and Program Specifications should be
Requirements, System and Program Specifications should be
reviewed prior to publication
reviewed prior to publication
System Design deliverables should be reviewed both in terms
System Design deliverables should be reviewed both in terms
of functionality & technical robustness
of functionality & technical robustness
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
What should be reviewed?
What should be reviewed?
Program specifications should be reviewed before
Program specifications should be reviewed before
construction
construction
Programs should be reviewed before execution
Programs should be reviewed before execution
Test Plans should be reviewed before execution
Test Plans should be reviewed before execution
Test Results should be reviewed before implementation
Test Results should be reviewed before implementation
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
Reviews can be hazardous
Reviews can be hazardous
If misused they can lead to friction
If misused they can lead to friction
The errors & omissions found should be regarded as a good
The errors & omissions found should be regarded as a good
thing
thing
The author(s) should not take errors & omissions personally
The author(s) should not take errors & omissions personally
It is a positive step to identify defects and issues before the
It is a positive step to identify defects and issues before the
next stage
next stage
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
Building a Quality culture
Building a Quality culture
In order for them to work, Reviews must be regarded as a
In order for them to work, Reviews must be regarded as a
positive step and must be properly organised
positive step and must be properly organised
This is often a part of the company
This is often a part of the company
s Quality culture
s Quality culture
Define the review panel Define the review panel
Define the roles of its Define the roles of its members members
Define the review procedures Define the review procedures
Sell Sell the quality culture to staff the quality culture to staff
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
There are other dangers in a regime of regular reviews
There are other dangers in a regime of regular reviews
Lack of Preparation
Lack of Preparation
No follow up to ensure correction has been made
No follow up to ensure correction has been made
The wrong people doing them
The wrong people doing them
SIM Group Ltd., SQS Group AG, 2002
Reviews & the Test Process
Systems development is very complex
Systems development is very complex
This means that it is difficult to build a system with all
This means that it is difficult to build a system with all
elements completely & accurately specified
elements completely & accurately specified
By reviewing a deliverable, its deficiencies can be identified
By reviewing a deliverable, its deficiencies can be identified
and remedied earlier
and remedied earlier
requirements
requirements
Anything generated by a project can be reviewed
Anything generated by a project can be reviewed
In order for them to be effective, reviews must be well
In order for them to be effective, reviews must be well
managed
managed
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Types of Review
Types of Review
SIM Group Ltd., SQS Group AG, 2002
Static Testing
Session Topics
Session Topics
1. Reviews and the Test Process
1. Reviews and the Test Process
2. Types of Review
2. Types of Review
3. Static Analysis
3. Static Analysis
SIM Group Ltd., SQS Group AG, 2002
Types of Review
In this session we will
In this session we will
Look at the types of review & the activities performed
Look at the types of review & the activities performed
Look at goals & deliverables
Look at goals & deliverables
Look at roles & responsibilities
Look at roles & responsibilities
Examine the suitability of each type of review
Examine the suitability of each type of review
Discover review pitfalls
Discover review pitfalls
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Author
Author
s Review
s Review
Informal Review
Informal Review
Walkthroughs
Walkthroughs
Presentations
Presentations
Prototypes
Prototypes
Checklists
Checklists
Templates
Templates
Technical Review
Technical Review
Inspections
Inspections
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Author
Author
s review
s review
Before issuing a document, the author should ALWAYS
Before issuing a document, the author should ALWAYS
check
check
Conformance to company standards Conformance to company standards
Fitness for purpose Fitness for purpose
Presentation Presentation
Spelling Spelling
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Informal Review
Informal Review
It is very helpful to ask a colleague to read through the
It is very helpful to ask a colleague to read through the
deliverable to
deliverable to
Identify jargon to eliminate or translate Identify jargon to eliminate or translate
Make sure it all makes sense Make sure it all makes sense
Rationalise the sequence Rationalise the sequence
Identify where the author Identify where the author s familiarity with the subject assumes s familiarity with the subject assumes
the reader knows more than he or she actually does the reader knows more than he or she actually does
This is the least effective form of review as there is no
This is the least effective form of review as there is no
recognised way of measuring it
recognised way of measuring it
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Walkthrough
Walkthrough
For some technical deliverables or complex processes it is
For some technical deliverables or complex processes it is
very useful for the author to walk through the document
very useful for the author to walk through the document
Reviewers are asked to comment and query the concepts
Reviewers are asked to comment and query the concepts
and processes that are to be delivered
and processes that are to be delivered
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Presentations
Presentations
Used to explain to users your understanding of their
Used to explain to users your understanding of their
Requirements
Requirements
To explain how you will test those requirements i.e. your
To explain how you will test those requirements i.e. your
approach
approach
To gain agreement for the next step
To gain agreement for the next step
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Prototypes
Prototypes
Allows the non
Allows the non
-
-
technician to see what is going to be built
technician to see what is going to be built
Enables the business to refine their business flows or adjust
Enables the business to refine their business flows or adjust
sequences on input screens
sequences on input screens
Is used to demonstrate and display features of the [proposed]
Is used to demonstrate and display features of the [proposed]
system
system
GUI screens, Database designs, Network architecture etc GUI screens, Database designs, Network architecture etc
Has been around for years in the form of mock ups and screen Has been around for years in the form of mock ups and screen
layouts layouts
Much improved with the advent of GUI Much improved with the advent of GUI s and tools to paint s and tools to paint
screens quickly and effectively screens quickly and effectively
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Checklists
Checklists
Extremely simple and useful method of ensuring that all
Extremely simple and useful method of ensuring that all
elements of a deliverable have been considered
elements of a deliverable have been considered
Tends to ensure conformity of content, sequence and style
Tends to ensure conformity of content, sequence and style
Can be devised for almost any activity
Can be devised for almost any activity
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Templates
Templates
Very useful to standardise the style, sequence & content of
Very useful to standardise the style, sequence & content of
code and documents
code and documents
Saves time re
Saves time re
-
-
inventing
inventing
Requires agreement by all who will use them
Requires agreement by all who will use them
SIM Group Ltd., SQS Group AG, 2002
Types of Review
Technical (Peer) Review
Technical (Peer) Review
Your Peers can also perform more formal technical reviews in
Your Peers can also perform more formal technical reviews in
larger groups
larger groups
Often used by workgroups as a self
Often used by workgroups as a self
-
-
checking mechanism
checking mechanism
It
It
Buddy system
Buddy system
Each developer is responsible for testing his / her colleagues
Each developer is responsible for testing his / her colleagues
work
work
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Each team has a single tester
Each team has a single tester
Is not involved in the actual development, solely concentrates
Is not involved in the actual development, solely concentrates
on testing
on testing
Able to work with the team throughout the development
Able to work with the team throughout the development
process
process
May be too close to the team to be objective
May be too close to the team to be objective
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Dedicated test teams may be in place
Dedicated test teams may be in place
These do no development whatsoever
These do no development whatsoever
Take a more objective view of the system under test
Take a more objective view of the system under test
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Internal Test Consultants
Internal Test Consultants
Provide testing advice to project teams
Provide testing advice to project teams
Involvement throughout the lifecycle
Involvement throughout the lifecycle
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Testing outsourced to specialist agencies
Testing outsourced to specialist agencies
Guarantees independence
Guarantees independence
Empathy with the Business of the organisation?
Empathy with the Business of the organisation?
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Production of Testing Production of Testing
Strategies Strategies
Creation of Test Plans Creation of Test Plans
Production of Testing Scripts Production of Testing Scripts
Proving of Testing Scripts Proving of Testing Scripts
Execution of Testing Scripts Execution of Testing Scripts
Logging Results Logging Results
Executing necessary re Executing necessary re- -tests tests
Automation expertise Automation expertise
Technical support Technical support
Database admin, Database admin,
environment admin environment admin
User Interface expertise User Interface expertise
Multi
Multi
-
-
disciplined teams needed to cover
disciplined teams needed to cover
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Testing teams will typically include
Testing teams will typically include
Test analysts to prepare, execute and analyse tests
Test analysts to prepare, execute and analyse tests
Test Consultants prepare strategies and plans
Test Consultants prepare strategies and plans
Test automation experts
Test automation experts
Database administrator or designer
Database administrator or designer
User interface experts
User interface experts
Test environment management
Test environment management
And others..
And others..
SIM Group Ltd., SQS Group AG, 2002
Test Organisation
Summary
Summary
Testing structures will vary between organisations
Testing structures will vary between organisations
Testing teams require a range of skills
Testing teams require a range of skills
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Configuration Management
Configuration Management
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
In this session we will
In this session we will
Gain an understanding of Configuration Management
Gain an understanding of Configuration Management
Look at the potential impact of poor Configuration
Look at the potential impact of poor Configuration
Management on testing
Management on testing
And understand how introducing Configuration Management
And understand how introducing Configuration Management
helps address those problems
helps address those problems
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
What is Configuration Management?
What is Configuration Management?
Ensuring that no
Ensuring that no
-
-
one is able to change a part of the system
one is able to change a part of the system
without proper procedures being in place
without proper procedures being in place
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
Closely linked to Version Control
Closely linked to Version Control
Version Control looks at each component
Version Control looks at each component
Holds the latest version of each component
Holds the latest version of each component
What versions of components works with others in a
What versions of components works with others in a
configuration
configuration
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
Without
Without
it,
it,
testing can be seriously impeded
testing can be seriously impeded
Developers may not be able to match source to object code
Developers may not be able to match source to object code
Simultaneous changes may made to the same source
Simultaneous changes may made to the same source
Although this may be allowed Although this may be allowed
Unable to identify source code changes made in a particular
Unable to identify source code changes made in a particular
version of the software
version of the software
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
Critical to successful testing
Critical to successful testing
It associates programs with specifications, with test plans,
It associates programs with specifications, with test plans,
with test data
with test data
When a component is successfully tested test results can be
When a component is successfully tested test results can be
included
included
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
It enables you to understand what versions of
It enables you to understand what versions of
components work with each other
components work with each other
It allows you to understand the relationship between test
It allows you to understand the relationship between test
cases, specifications, and components
cases, specifications, and components
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
If any configuration component is out of step
If any configuration component is out of step
-
-
Results
Results
are unpredictable
are unpredictable
This applies throughout the project lifecycle, and beyond
This applies throughout the project lifecycle, and beyond
SIM Group Ltd., SQS Group AG, 2002
Configuration Management
t doesn
t doesn
unless...
unless...
The testing environment may need to be re
The testing environment may need to be re
-
-
set before a test
set before a test
can be re
can be re
-
-
run
run
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Use previous experience or best estimates to predict
Use previous experience or best estimates to predict
the reliability of components
the reliability of components
Plan to run tests for the unreliable elements sooner rather
Plan to run tests for the unreliable elements sooner rather
than later
than later
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Allow time for re
Allow time for re
-
-
testing
testing
Time must be included for identifying, investigating & logging
Time must be included for identifying, investigating & logging
faults
faults
Faults that have been
Faults that have been
fixed
fixed
must be re
must be re
-
-
tested
tested
Whenever a change is made to the SUT or the environment a
Whenever a change is made to the SUT or the environment a
regression test should be run
regression test should be run
How do we build these factors into the estimation?
How do we build these factors into the estimation?
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Test Monitoring
Test Monitoring
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Test Preparation
Test Preparation
Estimate number of tests needed
Estimate number of tests needed
Estimate time to prepare
Estimate time to prepare
Refine these figures
Refine these figures
Track percentage of tests prepared
Track percentage of tests prepared
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Test Execution
Test Execution
Assess the coverage achieved to date by testing
Assess the coverage achieved to date by testing
Coverage Coverage - - amount of tests completed, amount of code amount of tests completed, amount of code
exercised by tests, amount of features tested so far exercised by tests, amount of features tested so far
Estimate time required to run the test suite
Estimate time required to run the test suite
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Whilst testing you can monitor
Whilst testing you can monitor
The number of tests run
The number of tests run
The number of tests passed & failed
The number of tests passed & failed
The number of defects raised
The number of defects raised
These can be categorised by Severity, Priority & Probability These can be categorised by Severity, Priority & Probability
The number of re
The number of re
-
-
tests
tests
-
-
that pass & that fail
that pass & that fail
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
The status of the project should be regularly reported
The status of the project should be regularly reported
Any deviations from the schedule raised ASAP
Any deviations from the schedule raised ASAP
Any critical faults found should be raised immediately
Any critical faults found should be raised immediately
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Test Control
Test Control
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Controlling measures
Controlling measures
Assign extra resource
Assign extra resource
Re
Re
-
-
allocate resource
allocate resource
Adjust the test schedule
Adjust the test schedule
Arrange for extra test environments
Arrange for extra test environments
Refine the completion criteria
Refine the completion criteria
SIM Group Ltd., SQS Group AG, 2002
Test Estimation, Monitoring & Control
Summary
Summary
Multiple factors must be considered when estimating the
Multiple factors must be considered when estimating the
length of time we need to perform testing
length of time we need to perform testing
Once testing has started it is necessary to monitor the
Once testing has started it is necessary to monitor the
situation as it progresses
situation as it progresses
Careful control must be kept to ensure project success
Careful control must be kept to ensure project success
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Incident Management
Incident Management
SIM Group Ltd., SQS Group AG, 2002
Incident Management
In this session we shall
In this session we shall
Understand what an
Understand what an
incident
incident
is
is
Understand the impact they have on the testing process
Understand the impact they have on the testing process
Understand how they are logged, and tracked
Understand how they are logged, and tracked
Understand why & how they should be analysed to help
Understand why & how they should be analysed to help
ensure they don
ensure they don
t happen again
t happen again
SIM Group Ltd., SQS Group AG, 2002
Incident Management
An
An
incident
incident
Incidents should be recorded and tracked
Incidents should be recorded and tracked
Analysis of incidents will enable us to see where problems
Analysis of incidents will enable us to see where problems
arose and to aid in test process improvement
arose and to aid in test process improvement
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Standards for Testing
Standards for Testing
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
In this session we will
In this session we will
Understand the various standards that may influence testing
Understand the various standards that may influence testing
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
There are three types of standards that affect testing
There are three types of standards that affect testing
Quality Assurance standards
Quality Assurance standards
Industry specific standards
Industry specific standards
Testing Standards
Testing Standards
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
Quality Assurance standards
Quality Assurance standards
Only specify that testing should be done
Only specify that testing should be done
e.g. e.g. ISO 9000 ISO 9000- -3:1991 3:1991
Quality management and quality assurance standards Quality management and quality assurance standards- -Part 3: Part 3:
Guidelines for the application of ISO 9001 to the development, Guidelines for the application of ISO 9001 to the development,
supply and maintenance of software supply and maintenance of software
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
Industry specific standards
Industry specific standards
Specify what level of testing to perform
Specify what level of testing to perform
e.g. railway, medical, insurance e.g. railway, medical, insurance
ASTM F153 ASTM F153- -95 Standard Test Method for Determining the Yield of 95 Standard Test Method for Determining the Yield of
Wide Inked Computer Ribbons Wide Inked Computer Ribbons
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
Testing standards
Testing standards
Specify how to perform testing
Specify how to perform testing
e.g. e.g. BS7925 BS7925- -1 1 Software Testing vocabulary Software Testing vocabulary
BS7925 BS7925- -2 2 Software component testing Software component testing
IEEE 829 IEEE 829 Standard for Test Documentation Standard for Test Documentation
SIM Group Ltd., SQS Group AG, 2002
Standards for Testing
Summary
Summary
There are a range of standards that can influence testing
There are a range of standards that can influence testing
These come from different sources and affect different areas
These come from different sources and affect different areas
of testing
of testing
Additionally, various industries have legal requirements that
Additionally, various industries have legal requirements that
will influence testing
will influence testing
SIM Group Ltd., SQS Group AG, 2002
ISEB Foundation Certificate in Software Testing
Types of CAST Tool
Types of CAST Tool
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
In this session we will
In this session we will
Understand that help is at hand in the form of CAST Tools
Understand that help is at hand in the form of CAST Tools
CAST CAST - - Computer Aided Software Testing Computer Aided Software Testing
Look at the range of tools available in the market today
Look at the range of tools available in the market today
Identify the areas in which tools can best help the testing
Identify the areas in which tools can best help the testing
process
process
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Why do we need / use them?
Why do we need / use them?
To automate the most repetitious and time consuming tasks
To automate the most repetitious and time consuming tasks
Tools are able to do some things that people cannot easily do
Tools are able to do some things that people cannot easily do
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Requirements testing Requirements testing
Static Analysis Static Analysis
Test Design Test Design
Data Preparation Data Preparation
Character Based Test Character Based Test
Running Running
GUI Test Running GUI Test Running
Test Harnesses Test Harnesses
Drivers & Simulators Drivers & Simulators
Performance Performance
Dynamic Analysis Dynamic Analysis
Debugging Debugging
Comparison Comparison
Test Management Test Management
Coverage Measurement Coverage Measurement
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Requirements Testing tools
Requirements Testing tools
There are tools available to help verify and validate
There are tools available to help verify and validate
requirements
requirements
They use requirements models
They use requirements models
Can check consistency and animations
Can check consistency and animations
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Static Analysis tools
Static Analysis tools
There are tools on the market that can help with analysing
There are tools on the market that can help with analysing
code
code
These tools analyse the quality and complexity of the code
These tools analyse the quality and complexity of the code
and paths through the code
and paths through the code
Many use McCabe, Halstead or McClure metrics
Many use McCabe, Halstead or McClure metrics
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Test Design
Test Design
tools
tools
Help with designing of test cases
Help with designing of test cases
These generate test cases from a specification
These generate test cases from a specification
Normally held in a CASE tool repository Normally held in a CASE tool repository
Or from formally specified requirements held in the tool itself Or from formally specified requirements held in the tool itself
Some tools generate test cases from analysis of the code
Some tools generate test cases from analysis of the code
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Data Preparation tools
Data Preparation tools
Help with data preparation
Help with data preparation
These enable data to be selected from existing databases or
These enable data to be selected from existing databases or
created, generated, manipulated and edited for use in tests
created, generated, manipulated and edited for use in tests
May create data in a simple database or a complex
May create data in a simple database or a complex
mainframe database
mainframe database
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Character Based Testing tools
Character Based Testing tools
Used with character based applications
Used with character based applications
Terminals on Mainframes, Unix and mid Terminals on Mainframes, Unix and mid- -range systems (System range systems (System
36/38) 36/38)
Early PC (DOS) systems Early PC (DOS) systems
The tools simulate user entered keystrokes and capture
The tools simulate user entered keystrokes and capture
screen responses for comparison
screen responses for comparison
Normally used to automate regression and functional system Normally used to automate regression and functional system
testing testing
Many tools available to cover this
Many tools available to cover this
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
GUI Test Running tools
GUI Test Running tools
Testing for GUI based applications
Testing for GUI based applications
Testing software running in graphical operating systems i.e.
Testing software running in graphical operating systems i.e.
Windows
Windows
Most of our work in this area Most of our work in this area
Mostly for functional and regression tests Mostly for functional and regression tests
Tools must be able to identify and interact with the objects on
Tools must be able to identify and interact with the objects on
screen
screen
Tests scripted in a Test Script Language
Tests scripted in a Test Script Language
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Web Testing tools
Web Testing tools
Testing web based applications
Testing web based applications
Increasingly tools are becoming available to help test E
Increasingly tools are becoming available to help test E
-
-
Commerce, web
Commerce, web
-
-
based applications
based applications
Existing tools that have Existing tools that have evolved evolved to include web testing to include web testing
Dedicated web testing tools Dedicated web testing tools
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool Test
Harnesses & Drivers
Harnesses & Drivers
These are key to building up integration tests
These are key to building up integration tests
Used to execute the software under test
Used to execute the software under test
i.e. for systems that do not have a user interface i.e. for systems that do not have a user interface
These are small modules that drive data into the area under
These are small modules that drive data into the area under
test
test
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Simulators
Simulators
Simulate events or systems
Simulate events or systems
There will be times when it is necessary to test a system that
There will be times when it is necessary to test a system that
interacts with an event or system that does not physically
interacts with an event or system that does not physically
exist
exist
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Performance Testing tools
Performance Testing tools
Measure what a system operates like in normal
Measure what a system operates like in normal
circumstances
circumstances
Drive the SUT & monitor the response time for specified Drive the SUT & monitor the response time for specified
transactions transactions
Load generation
Load generation
How the system performs when accessed by many users How the system performs when accessed by many users
The tool simulates a number of users accessing the SUT The tool simulates a number of users accessing the SUT
The tools can simulate multiple sessions from one device
The tools can simulate multiple sessions from one device
LoadRunner, QALoad etc LoadRunner, QALoad etc
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Dynamic Analysis tools
Dynamic Analysis tools
Provide run time information on the state of the executing
Provide run time information on the state of the executing
software
software
Typically used to monitor system resources
Typically used to monitor system resources
Find errors that can be difficult to find
Find errors that can be difficult to find
statically
statically
i.e. use and de
i.e. use and de
-
-
allocation of system memory and flag memory
allocation of system memory and flag memory
leaks
leaks
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Debugging tools
Debugging tools
Used mainly by programmers to reproduce bugs and
Used mainly by programmers to reproduce bugs and
investigate the state of programs
investigate the state of programs
Debuggers enable programmers to execute programs line by
Debuggers enable programmers to execute programs line by
line, to halt the program at any statement and to set and
line, to halt the program at any statement and to set and
examine program variables
examine program variables
SIM Group Ltd., SQS Group AG, 2002
Types of CAST Tool
Comparison tools
Comparison tools
Comparing two elements is a key activity in testing
Comparing two elements is a key activity in testing
Eyeballing
Eyeballing