Professional Documents
Culture Documents
Chapter
2011
Version 1.0
Be able to use examples to describe the way in which a software defect can cause harm to
people, to the environment, or to a company;
Know what is meant by the terms deficiency, defect, failure, defect condition / defect and error
and explain this with examples and compare;
Be able to describe why testing is part of quality assurance and give examples of how testing
contributes to a higher quality;
Chapter 1
Page 2
Chapter 1
Describe, with examples, the way in which a defect in software can cause
harm to a person, to the environment or to a company (K2)
LO-1.1.2
Distinguish between the root cause of a defect and its effects (K2)
LO-1.1.3
LO-1.1.4
Describe why testing is part of quality assurance and give examples of how
testing contributes to higher quality (K2)
LO-1.1.5
Explain and compare the terms error, defect, fault, failure and the
corresponding terms mistake and bug, using examples (K2)
LO-1.2.2
LO-1.2.3
Page 3
Chapter 1
Recall the five fundamental test activities and respective tasks from planning
to closure (K1)
Recall the psychological factors that influence the success of testing (K1)
LO-1.5.2
Page 4
Incident
Review
Test Condition
Independence
Chapter 1
Page 5
Test Basis
Quality
Risk
Test Objective
Test Plan
Testware
Test Design
Test Run Log
Quality Assurance
Error cause
Confirmation Test
Exhaustive Test
Test Coverage
Software Test
Debugging
Test Policy
Failure
Error
Regression Test Requirement
Error Test Execution
Test Case Error Guessing
Defect Testing Test Suite
Chapter
Fundamentals
of Testing
Chapter 1
Page 6
Page 7
Connection:
Error - Fault/Defect - Failure
People make mistakes; they commit errors.
Example:
A programmer commits
an error by re-using a
a piece of software which is
not intended in the context
of the current project
(the Ariane 5 satellite
launching rocket)
Error
ISTQB Glossary:
Error: Human action that produces an incorrect result [after IEEE 610].
Chapter 1
Page 8
Chapter 1
Page 9
Connection:
Error - Fault/Defect - Failure
An error made by a person
(e.g. a developer) can result
in a defect in the sofware.
(Defect and Fault are
synonymous terms)
Example: After the
programmer has
re-used the piece of
code in the wrong
context, the software
contains a defect/fault.
Defect/Fault
Error
in a program
ISTQB Glossary:
Defect: A flaw in a component or system that can cause the component
or system to fail to perform its required function, e.g. an incorrect statement or
data definition A(the
defect,
if encountered
execution,
may cause a
full definition
followsduring
on page
12)
failure of the component or system.
Chapter 1
Page 10
Connection:
Error - Fault/Defect - Failure
A failure is the effect of
a defect when executing
a program (test object)
which appears to the
outside.
Failure
Defect/Fault
Error
Example:
Boom
The Ariane 5
rocket crashes
on its first
mission.
Cost ~ $7 billion
ISTQB Glossary:
Deviation of the component or
system from its expected delivery,
service or result [after Fenton].
Chapter 1
Page 11
in a program
which appears
Fault/Defect Failure
Additional comments
Defect (full definition from ISTQB glossary): A flaw in a
component or system that can cause the component or system to
fail to perform its required function, e.g. an incorrect statement or
data definition. A defect, if encountered during execution, may
cause a failure of the component or system.
Defect masking: An occurrence in which one defect prevents the
detection of another [after IEEE 610]
A failure
can also be called a malfunction or an external defect
can also (but rarely) be caused by cosmic radiation, electromagnetic fields or hardware failure. Such failures can cause
slow execution, incorrect output or the termination of execution.
Debugging is the development activity that finds, analyzes and
removes the cause of the failure.
Chapter 1
Page 12
Chapter 1
Page 13
Page 14
Chapter 1
Page 15
External and
Internal Quality
Quality in Use
Effectiveness
Productivity
Security
Satisfaction
Fulfillment of tasks
within the
accuracy and
completeness
limits
Fulfillment of tasks
within the
expenditure limits
for users (time,
costs, ...)
Fulfillment of tasks
within the limits of
risk (life and
health,
business...)
Subjective user
satisfaction within
the context of use
Page 16
Quality in Use
Functionality
Reliability
Suitability
Maturity
Accuracy
Interoperability
Fault tolerance
(Data) Security
Compliance
Recoverability
Compliance
Usability
Understandability
Learnability
Operability
Attractiveness
Compliance
External and
Internal Quality
Efficency
Time behavior /
Performance
Resource
utilization
Compliance
Maintainability
Portability
Analyzability
Adaptivity
Changeability
Installability
Stability
Co-Existence
Testability
Replaceability
Compliance
Compliance
ISO/IEC 9126: Evaluation of software products, quality characteristics and guidance on usage
Chapter 1
Page 17
Chapter 1
Page 18
Chapter 1
Page 19
Chapter 1
Page 20
Chapter 1
Page 21
Chapter 1
Page 22
Chapter 1
Page 23
Stability
The capability of the software product to avoid unexpected effects
from modifications in the software [ISO 9126].
Testability
The capability of the software product to enable modified software to
be tested [ISO 9126].
Chapter 1
Page 24
Chapter 1
Page 25
Co-Existence
The capability of the software product to co-exist with other
independent software in a common environment sharing common
resources [ISO 9126].
Replaceability
The capability of the software product to be used in place of
another specified software product for the same purpose in the
same environment [ISO 9126].
Chapter 1
Page 26
Quality Requirements
Quality requirements state what quality attributes the product
should have at what quality level.
The sum of all quality attributes and the specific variants
Not all quality attributes can be achieved equally well.
E.g. efficiency may come at the expense of maintainability
Set priorities
In close consultation with clients and users.
Quality requirements (with the exception of functionality) are
part of the non-functional requirements in the specifications.
Chapter 1
Page 27
Chapter 1
Page 28
Quality Assurance - QA
Quality Assurance
Analytic QA
Artefacts
Constructive QA
Processes
Audits
Software, etc.
Dynamic
Testing:
White-Box,
Black-Box
Chapter 1
Page 29
Software, Documentation,
etc.
Norms, standards,
project management,
software techniques,
exchange of experiences,
training
...
Static Testing:
Reviews,
Static Analysis
Software Testing Foundations Certified Tester
Chapter
Fundamentals
of Testing
Chapter 1
Page 30
Chapter 1
Page 31
Chapter 1
Page 32
Chapter 1
Page 33
Testing Effort?
Testing is economically useful, as long as the costs of finding and
fixing a defect in testing are lower than the costs that are
associated with the occurrence of a defect when used.
M. Pol, T. Koomen, A. Spillner:
Management and Optimization of the Test Process
(German). dpunkt-Verlag, 2. Edition, 2002
Page 34
Chapter 1
Page 35
Particularly important:
Select appropriate test procedures which are compatible with
the test objectives and quality objectives
Avoid unnecessary tests which provide no new information
Take positive and negative test conditions into account
It can also be useful to test for functionality that has not been
requested
Chapter 1
Page 36
Prioritization of Tests
Limited resources (time and personnel) require that the most important
test cases are carried out first!
Criteria for prioritization:
Expected impact (the severity of the damage a defect would cause)
Probability of occurrence of a failure
Combined consideration of impact and likelihood of occurrence
( Risk = Likelihood * Impact)
Perception of the failure
Prioritization of requirements by the customer
Importance of quality characteristics by the customer
Priority of test cases from the perspective of development (serious
consequences and / or complex cases first)
High project risk
Where many defects are found, more defects are likely to be
discovered! A change in the priority must be possible!
Chapter 1
Page 37
Chapter
Fundamentals
of Testing
Chapter 1
Page 38
Royce, W. W.:
Managing the Development of Large Software
Systems: Concepts and Techniques
Proc. WESCON, IEEE Computer Society Press, Los
Alamitos, CA, 1970.
Reprinted at the ICSE'87, Monterey, California, USA.
March 30 - April 2, 1987
Chapter 1
Page 39
Boehm, B.:
Software Engineering Economics
Prentice-Hall Inc., London, 1981
Chapter 1
Page 40
Barry W. Boehm:
Guidelines for Verifying and Validating Software
Requirements and Design Specification.
EURO IFIP 79, P.A. Samet (eds.) North-Holland, IFIP
1979, 711-719
Chapter 1
Page 41
General V-Model
Definition of Requirements
Acceptance Testing
Functional
System Design
System Testing
Technical
System Design
Integration Testing
Component
Specification
Component Testing
Programming
Key
Test cases based on
corresponding documents
Chapter 1
Page 42
Test Process
A test plan is necessary for every test level (level test plan)
Chapter 1
Page 43
Planning and
Chapter 1
Page 44
Implementation and
Execution
Control
Evaluation and
Report
Closure
Finish
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Page 45
Start
Chapter 1
Page 46
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Start
Planning and
Analysis and
Design
Chapter 1
Page 47
Start
Planning and
Analysis and
Design
Control
Test cases are partly linked together to create test suites (test
procedure specification) for test execution
Each test case should only contain one or a few elementary
process steps or system calls
Pay attention in the test design to the post-conditions of the
test cases. These are the pre-conditions of next test cases.
Chapter 1
Page 48
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Verifying that the test system and test environment has been set
up correctly.
Before test execution: Verifying completeness of parts to be tested.
Chapter 1
Page 49
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 50
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 51
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 52
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 53
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 54
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
2,5
Finish
Failure Severity
1,5
low
medium
high
0,5
critical
0
W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11
Chapter 1
Page 55
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
60
Test Closure
50
Finish
40
30
New failures
20
Corrected defects
10
In Process
0
W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11
Chapter 1
Page 56
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 57
Start
Planning and
Analysis and
Design
Implementation
and Execution
Control
Evaluation and
Report
Test Closure
Finish
Chapter 1
Page 58
Chapter
Fundamentals
of Testing
Chapter 1
Page 59
Chapter 1
Page 60
Test Specification
High Level and Specific Test Cases (1)
Example:
A company has ordered a program that should calculate the
Christmas bonus of the staff in relation to the time they have been
working there. In the description of the requirements you find the
following text:
Staff who have been with the company for more that three years will
receive 50 % of the monthly salary as Christmas bonus. Staff who
have been with the company for more than five years will receive 75
%. Staff who have been with the company for more than eight years
will receive 100 % of their monthly salary.
How do the test cases look like?
Chapter 1
Page 61
Test Specification
High Level and Specific Test Cases (2)
From the text you can set up the following relationship between the
allowance of the bonus and the time working for the company:
Chapter 1
equals bonus = 0 %
3<
equals bonus = 50 %
5<
equals bonus = 75 %
Page 62
>8
Test Specification
High Level and Specific Test Cases (3)
High Level (logical)
Test Case
x<=3
3<x<=5
5<x<=8
x>8
Expected result
(bonus in %)
50
75
100
Input value x
(years with the company)
12
Expected result
(bonus in %)
50
75
100
Input value x
(years with the company)
Remarks:
no pre- and post-conditions or constraints are considered
the test cases were not derived systematically
only positive tests with expected results
Chapter 1
Page 63
Chapter 1
Page 64
Chapter 1
Page 65
Chapter 1
Page 66
Chapter
Fundamentals
of Testing
Chapter 1
Page 67
Psychology of Testing
Making mistakes is human
- but who likes admitting that?
Development = constructive
Test = destructive?
Testing is an extremely creative
and intellectually challenging task
Chapter 1
Page 68
Chapter 1
Page 69
Test Know-how
The tester should have test know-how
A developer probably does not have this or first has to gain it (often
with not enough time available)
Even better, the know-how has already been acquired at university
Chapter 1
Page 70
Chapter 1
Page 71
Chapter 1
Page 72
Chapter
Fundamentals
of Testing
Chapter 1
Page 73
Recognizing the ACM and IEEE code of ethics for engineers, the ISTQB
states the following code of ethics:
1. PUBLIC
Certified software testers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER
Certified software testers shall act in a manner that is in the best interests
of their client and employer, consistent with the public interest.
Chapter 1
Page 74
Chapter 1
Page 75
Chapter 1
Page 76
Summary
Failure Not fulfilling the requirements!
Describing this situation as failure
cause: fault/defect in the software
that has been caused by an error made by a person
Tests are important measures for securing the quality criteria
Functionality, reliability, usability, efficiency, maintainability und
portability [according to ISO 9126]
Exhaustive testing is not possible. Tests are always random
checks, therefore they can detect failures only with a certain
probability
The intensity and amount of testing depends on the expected risk
of faulty behavior of the program
Tests should be prioritized
Chapter 1
Page 77
Summary
While executing the test case, the test object shows its actual behavior. If there is a discrepancy
between expected and actual behavior there is a failure.
A test oracle determines the expected values for each test case before test execution
Chapter 1
Page 78
Chapter 1
Page 79
Finally
Installation
Copy file:
Cancel
Sort results
Yes
Chapter 1
Page 80
No