CTFL-Chapter 3-Testing Throughout The Software Life Cycle v2.2.0
CTFL-Chapter 3-Testing Throughout The Software Life Cycle v2.2.0
Chapter
Chapter 3
3 Page 1
Certified Tester
Testing Throughout the Software
Life Cycle
Software Testing Foundations Certified Tester
MSTB-GTB
2017
Version 2.2.0
© Copyright MSTB-GTB
V 2.2.0 / 2017
Disclaimer
• These slides are published under CC BY-NC-SA 4.0. This means besides
other things that they can be freely changed and used for non-commercial
purposes. By that we like to reach maximum flexibility for the CTFL
teachers at universities, colleges, and alike. However, we also have to
take into account the interests of the commercial trainings providers,
whose explicit request is not to have these slides freely available in the
Internet.
• Hence, we ask you to make use of the slides only within your lecture
series and exercises on CTFL related matter. Please also advise the
students that a free distribution of the slides would risk the GTB and/or
MSTB cooperation with universities, colleges, etc. – at least wrt. the
exchange of the slides.
• CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/
© Copyright MSTB-GTB
Chapter 3 Page 2 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3 After this lecture, you should ...
© Copyright MSTB-GTB
Chapter 3 Page 3 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Learning Objectives for Testing Throughout the Software Life Cycle
3 (according to the Certified Tester Foundation Level Syllabus, Version 2011)
© Copyright MSTB-GTB
Chapter 3 Page 4 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Learning Objectives for Testing Throughout the Software Life Cycle
3 (according to the Certified Tester Foundation Level Syllabus, Version 2011)
© Copyright MSTB-GTB
Chapter 3 Page 5 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing in Software Development Models
Test Levels
Testing of New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 6 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 7 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
General V-Model (sequential development model)
Component
Component Testing
Specification
Programming
Legend
Test cases base on the respective
documents
© Copyright MSTB-GTB
Chapter 3 Page 8 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
General V-Model - Construction Phase (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 9 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
General V-Model - Construction Phase (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 10 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
General V-Model - Test Levels
© Copyright MSTB-GTB
Chapter 3 Page 11 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Validation
© Copyright MSTB-GTB
Chapter 3 Page 12 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Verification
• In addition to validating testing, using the V-model
also requires verification testing.
• Definition: Confirmation by examination and through the provision
of objective evidence that specified requirements have been
fulfilled [ISO 9000].
• Verification, unlike validation, is based on a single development
phase and proves the correctness and completeness of the results
from a phase relative to its direct specification (phase input
documents).
• Examines whether the specifications have been implemented
correctly, regardless of the intended purpose or use of the product.
• In practice, every test contains both validation and verification
aspects. The relative amount of validation increases with every
level of testing.
© Copyright MSTB-GTB
Chapter 3 Page 13 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
V-Model: Summary
© Copyright MSTB-GTB
Chapter 3 Page 14 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Digression: W-Model – Development of the V-Model
Programming Modification
Legend:
Test, debug Source:
Review, Test cases,, Spillner, Roßner, Winter, Linz:
Documents Test frame modify, re-test Software Testing Practice – Test Management.
Rocky Nook, 2007
© Copyright MSTB-GTB
Chapter 3 Page 15 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Iterative-Incremental Development Models
© Copyright MSTB-GTB
Chapter 3 Page 16 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Testing in Iterative-Incremental Development Models
© Copyright MSTB-GTB
Chapter 3 Page 17 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Examples of Iterative-Incremental Development Models
• Prototyping
• Rational Unified Process (RUP)
• Agile Development Models
– Extreme Programming (XP)
– Dynamic Systems Development Method (DSDM)
– SCRUM
– ... Sources:
• RUP
Kruchten, P.: Der Rational Unified Process – Eine Einführung.
Addison-Wesley-Longman, 1999.
• XP
Beck, K.: Extreme Programming. Addison-Wesley, München, 2000
• DSDM
Stapleton, J. (Hrsg.): DSDM: Business Focused Development
(Agile Software Development Series). Addison-Wesley, 2002
• SCRUM
Beedle, M.; Schwaber, K.: Agile Software Development with
Scrum. Prentice Hall, 2001
© Copyright MSTB-GTB
Chapter 3 Page 18 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Tips for Good Testing
© Copyright MSTB-GTB
Chapter 3 Page 19 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing in Software Development Models
Test Levels Component Test
Test of New Product Versions
theSoftware Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 20 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 21 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Remarks
• The individual testing levels component testing, integration testing, system
testing and acceptance testing are explained in the V-Model.
• The testing levels also occur in other development models. Their names
may, however, be different.
• Testing levels start with the testing of small units and then gradually move
up to integrate the whole system until it is complete and accepted by the
customer.
• Additional possible levels are:
– Component integration testing
is carried out after component testing to test the interaction of software
components.
– System integration testing
is carried out after the system testing to test the interaction between
different systems or between hardware and software.
© Copyright MSTB-GTB
Chapter 3 Page 22 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Test Levels
• The distinction between different levels of testing is more than just
a time-based subdivision of testing activities.
• Test levels are distinguished from each other by:
- different test objects
- different test basis
- different testing strategy
- application of different test methods
- using different testing tools
- different goals and results
- different responsibilities
- different specialized test personnel required
• If configuration data is part of the system, the test of these data
should also be taken into account in the test planning.
© Copyright MSTB-GTB
Chapter 3 Page 23 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Explanation
• Component testing is the first test level, following directly after the
programming phase
• The created software modules are subjected to a systematic test for
the first time.
• Depending on the programming language used, these smallest units
of software are called differently
- modules, units or
classes (in case of object oriented programming).
- the corresponding tests are called module, unit, and class testing.
• Abstracted from the programming language the terms components or
software modules are used.
© Copyright MSTB-GTB
Chapter 3 Page 24 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Objects
© Copyright MSTB-GTB
Chapter 3 Page 25 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Harness (1/2)
Stub k
© Copyright MSTB-GTB
Chapter 3 Page 26 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Harness (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 27 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Objectives (1/4)
© Copyright MSTB-GTB
Chapter 3 Page 28 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Objectives (2/4)
© Copyright MSTB-GTB
Chapter 3 Page 29 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Objectives (3/4)
© Copyright MSTB-GTB
Chapter 3 Page 30 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Objectives (4/4)
• Maintainability
– includes all those properties of a program that will determine how
easy or difficult it is going to be to change or enhance the
program. The crucial factor is how much effort is needed to
understand the program and its context.
– The following testing aspects are in the foreground: code
structure, modularity, commenting the code, understandability,
currentness of documents etc.
• Maintainability cannot, of course, be verified by dynamic testing.
– Analysis of program code and specifications are necessary.
Central to this is the static test and, in particular, the (code)
review.
– Since the characteristics of each component are examined, such
static analysis is best carried out in the context of the component
tests.
© Copyright MSTB-GTB
Chapter 3 Page 31 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Strategy (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 32 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Component Testing – Test Strategy (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 33 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
"Test-first" Approach at Component Testing
• Principle:
First, create the test cases and automate the test execution. Only then
develop/program the test object (software to be tested).
• Iterative approach:
Test object is checked with test cases and improved until the tests
show no failures
© Copyright MSTB-GTB
Chapter 3 Page 34 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing in Software Development Models
Test Levels Integration Test
Test of New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 35 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 36 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Explanation
© Copyright MSTB-GTB
Chapter 3 Page 37 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Test Objects
• Individual components are assembled progressively
into larger units (integration) and undergo an integration test.
• Each sub-system can be the basis for further integration of larger units.
• Test objects of the integration testing can thus be successively
assembled units.
• In practice
– a software system is rarely developed on a greenfield, but an
existing system is modified, extended or linked with other
systems.
– many system components are standard products which are
purchased on the market. In component testing, those old or
standard components probably go unnoticed. In integration
testing, these system parts need to be taken into account and
their interaction with other parts needs to be controlled.
© Copyright MSTB-GTB
Chapter 3 Page 38 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Test Harness
© Copyright MSTB-GTB
Chapter 3 Page 39 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Test Objectives (1/2)
• The objectives of integration testing are clear:
– detect defects in the interfaces.
– detect defects in the interaction between components.
– test non-functional characteristics (e.g. performance) if possible
• Problems can occur even when trying to integrate two components, when
they cannot be built
– because their interface formats are incompatible
– because some data is missing
– because the developers have split the system into different
components than specified.
• It can be difficult to find problems affecting the performance of the
interacting program parts.
• These are defects in the data exchange between the components which
can only be detected by a dynamic test.
© Copyright MSTB-GTB
Chapter 3 Page 40 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Test Objectives (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 41 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing without Component Testing?
© Copyright MSTB-GTB
Chapter 3 Page 42 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (1/6)
© Copyright MSTB-GTB
Chapter 3 Page 43 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (2/6)
© Copyright MSTB-GTB
Chapter 3 Page 44 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (3/6)
Bottom-up Integration
– The test begins with the elementary components of the
system that do not call other components (except the
functions of the operating system). Successively larger
subsystems are assembled from tested components,
followed by a test of this integration.
Advantage
– No stubs are needed.
Disadvantage
– Higher components must be simulated by drivers.
© Copyright MSTB-GTB
Chapter 3 Page 45 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (4/6)
© Copyright MSTB-GTB
Chapter 3 Page 46 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (5/6)
Ad-hoc Integration
– The components are integrated, for example in the
(random) order of their completion. Once a component has
completed its testing, it is checked whether it belongs to an
already existing and previously tested component, or it fits
into a semi-integrated subsystem. If so, both elements are
integrated and the integration test is executed between the
two.
Advantage
– Time saved, as each component is integrated in its proper
environment as early as possible.
Disadvantage
– Stubs as well as drivers are needed.
© Copyright MSTB-GTB
Chapter 3 Page 47 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy (6/6)
Disadvantages
– The waiting time for the big-bang to finish is a lost in test
execution time. Since testing often suffers from a lack of time
anyway, not one day of testing should be given away.
– All failures are concentrated on one build; it will be difficult or
impossible to get the system to work at all.
– The localization and correction of defects is difficult and time
consuming.
© Copyright MSTB-GTB
Chapter 3 Page 48 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy
? Example (1)
Example hierarchy
B C D
E F G
© Copyright MSTB-GTB
Chapter 3 Page 49 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy
? Example (2)
Big-Bang Integration
Test
A
Test
B
A
Test
Test
C
A,B,C,
B C D
D,E,F,
G E F G
Test
D
Test
E Test
F
Component test
Integration test
Time
© Copyright MSTB-GTB
Chapter 3 Page 50 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy
? Example (3)
Top-Down Integration
Test
A
Test
B
Test
C Test A
Test
A,B,C,
A,B,
D,E,F, B C D
C,D
G
Test
D E F G
Test
E
Test
F
Test
G
Component test
Time Integration test
© Copyright MSTB-GTB
Chapter 3 Page 51 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Integration Strategy
? Example (4)
Bottom-Up Integration
Test
A Test
Test B,E,F
B
Test
A
C Test
A,B,C,
D,E,F, B C D
G
Test
Test
E F G
D
D,G
Test
E
Test
F
Test
G
Component test
Time Integration test
© Copyright MSTB-GTB
Chapter 3 Page 52 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Integration Testing – Choosing a Strategy
© Copyright MSTB-GTB
Chapter 3 Page 53 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Addendum: Test Plan - Terms from the glossary
© Copyright MSTB-GTB
Chapter 3 Page 54 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing with Software Development Models
Test Levels System Testing
Testing New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 55 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 56 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture: System Testing
Requirements-based
test
Test of whole
system
© Copyright MSTB-GTB
Chapter 3 Page 57 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Definition
© Copyright MSTB-GTB
Chapter 3 Page 58 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Objects
© Copyright MSTB-GTB
Chapter 3 Page 59 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Harness (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 60 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Harness (2/2)
• To save costs, time and effort, the system testing for database-
based information systems is often performed in the customer’s
production environment instead of a separate test environment.
• This is undesirable for the following reasons:
– In system testing, failures will occur. This brings the risk that
the customer’s production environment will be affected.
Expensive failures and loss of data in the customer’s
productive system can be the result.
– The testers have little or no control over the parameters and
configurations of the production environment. Through the
simultaneous operation of other customer systems, the test
criteria might be subtly modified. The system testing that has
already been conducted is hard or even impossible to
reproduce.
© Copyright MSTB-GTB
Chapter 3 Page 61 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Testing Objective (1/2)
How well does the completed system fulfill the
stated requirements?
• Two classes of requirements are considered separately:
– Functional requirements
– Non-functional requirements
• Functional requirements
– Specify the behavior which the system or system parts have
to perform.
– They describe “what” the system(part) has to perform. Their
implementation is required in order for the system to be
suitable for use.
– Characteristics of the quality attribute “functionality” according
to [ISO 9126] are: suitability, accuracy, interoperability,
security, compliance.
© Copyright MSTB-GTB
Chapter 3 Page 62 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Testing Objective (2/2)
How well does the completed system fulfil the
stated requirements?
• Non-functional requirements
– Describe “how” well certain attributes of the system(part)
behavior should be performed.
– Its implementation strongly influences how satisfied the
customer or user will be with the product and how much they
like using it.
– Quality attributes according to [ISO 9126] are: reliability,
efficiency, usability. Indirectly, maintainability and portability
may also influence the customer‘s satisfaction.
– With some projects data is the main focus, e.g., with data
conversion projects and with applications like Data
Warehouses. Requirements relating to data quality must also
be considered in the system test.
© Copyright MSTB-GTB
Chapter 3 Page 63 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Testing Strategy
Functional Requirements (1/3)
© Copyright MSTB-GTB
Chapter 3 Page 64 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Testing Strategy
Functional Requirements (2/3)
© Copyright MSTB-GTB
Chapter 3 Page 65 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Testing Strategy
Functional Requirements (3/3)
© Copyright MSTB-GTB
Chapter 3 Page 66 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Non-functional Requirements (1/4)
© Copyright MSTB-GTB
Chapter 3 Page 67 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Non-functional Requirements (2/4)
• Volume testing
– Observation of system behavior in relation to the amount of
data transmitted (e.g. processing large volumes of data).
• Stress testing
– Observation of system behavior when overloaded.
• Testing (data) security
– Test of access authorisations to the system or data.
• Testing reliability
– During nonstop operation (e.g. amount of failures per hour
with given user profile).
• Testing robustness
– Against incorrect operation, programming errors, hardware
failure etc. Tests also include system recovery handling.
© Copyright MSTB-GTB
Chapter 3 Page 68 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Non-functional Requirements (3/4)
• Testing compliance/conversion of data
– Verifying the compatibility of existing systems. Import/export of
database etc.
• Testing different configurations
– of the system, e.g., different versions of operating systems,
language, hardware platform etc.
• Testing usability
– Verifying the suitability of operation, understandability, and of
system output etc., in relation to the needs of the user.
• Testing documentation
– Testing conformity with the system behavior (e.g. user manual)
• Testing portability/maintainability
– Understandability and current content of development documents,
modular system structure etc.
© Copyright MSTB-GTB
Chapter 3 Page 69 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Non-functional Requirements (4/4)
© Copyright MSTB-GTB
Chapter 3 Page 70 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Quality Characteristics
Quality Characteristics*
according to [ISO 9126] * replaced by [ISO 25010]
Functional testing Testing robustness Testing usability Load testing Testing Testing various
maintainability configurations
Testing (data) Testing recovery Verification of user Performance (code review,
security documentation testing architecture-review)
including online
Testing data help Volume testing Verification of
compatabiltiy / data documentation
conversion Stress testing
Static analysis
© Copyright MSTB-GTB
Chapter 3 Page 71 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing – Test Strategy
Quality Characteristics
Quality Characteristics*
according to [ISO 25010]
Functional Performance
Reliability Usability Security Compatibility Portability Maintain-ability
suitability Efficiency
Learnability
Appropriateness
Functional Confidentiality Modularity
Maturity Tecognizability
completeness Time behavior
Integrity Installability Reusability
Availability Operability Co-Existence
Functional Resource
Non-repudiation Replaceability Analyzability
correctness Recoverability User error Interoperability utilization
protection Accountability Adaptability Modifiability
Functional Fault tolerance Capacity
appropriateness User interface Authenticity Testability
aesthetics
Accessibility
Functional Testing Testing Testing Testing various configurations Testing Load testing
testing robustness usability (data) maintain- Performance
security ability testing
Volume testing
Stress testing
© Copyright MSTB-GTB
Chapter 3 Page 72 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing
Requirements on the Quality of Data (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 73 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing
Requirements on the Quality of Data (2/2)
Currency Remarks
Volatility, Punctuality
Requirements on the quality of
data depend on the exact
Relevance context of the project and has
Completeness
Information to be set specifically for the
Does the detailing and demand met?
the amount of data fit project.
to the purpose?
Currency: Duration between
Quality of Data occurence of event in the real
world and the change in the
Correctness information system
Is the data syntactically Consistency
correct? Does the data
Volatility: Time period in
Is the data consistent? which a value remains valid
portray reality
(semantically correct)?
Punctuality: Moment of
delivering data from the
Reliability
source system
Transformation and
origin of data
traceable?
© Copyright MSTB-GTB
Chapter 3 Page 74 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Analysis of Data Quality
• Automated
– Detecting statistical information aided by tools that indicate a
problem and identify false data
– By using profiling-tools
• Manual/semi-automated
– Interdisciplinary teams consisting of IT-specialists and domain
experts evaluate the results of the automated analysis on the
basis of tool supported analysis
– They also create a list of business rules that can be used for
the data cleansing.
© Copyright MSTB-GTB
Chapter 3 Page 75 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Data Cleansing
© Copyright MSTB-GTB
Chapter 3 Page 76 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Continuous Quality Assurance
• Organisational:
– Create responsibilities for data (Data Owner), who bear
responsibility for the quality of data
– Implementation of instruments for prevention (constructive)
and identification (analytical) of new quality problems
© Copyright MSTB-GTB
Chapter 3 Page 77 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing - Problems (1/3)
© Copyright MSTB-GTB
Chapter 3 Page 78 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing - Problems (2/3)
• Neglected decisions
– If the testers identify the original requirements, they will realize
that in the minds of the various persons there are very
different opinions and expectations regarding one single
matter.
– No wonder, because during the project it has been neglected
to record the requirements in a written form, to agree upon
and approve them.
– Therefore the system test not only has to gather the
requirements, but also needs to seek clarification and obtain
decisions which have been omitted for many months. This
needs to be done when it is actually too late.
– This gathering of information is very time and cost intensive.
Test and acceptance of the system are delayed.
© Copyright MSTB-GTB
Chapter 3 Page 79 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
System Testing - Problems (3/3)
• Projects fail
– If requirements are not documented, the developers are
missing clear objectives. The probability that the implemented
system fulfills the implicit customer requirements is therefore
extremely low.
– Nobody can sincerely hope that even a partially suitable
system can be produced under these project conditions.
– In these kinds of projects, the system test can often only
“officially” confirm the failure of the project.
© Copyright MSTB-GTB
Chapter 3 Page 80 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing with Software Development Models
Test Levels Acceptance Testing
Testing New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 81 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 82 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture: Acceptance Testing
Contractual Operational
acceptance test test
© Copyright MSTB-GTB
Chapter 3 Page 83 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing - Definition
• Previous test levels are performed by the producer
or the designing project group, before the software is passed to the
customers/users.
• According to the general process model before the software is
deployed (, especially if an individual software specified for customer
has been designed,) the final test level performed is the acceptance
testing.
• The main focus here is the view and opinion of the client/user. Finding
defects is not the main focus in acceptance testing. The goal is to
establish confidence in the product and assess its fitness for the
intended use.
• Acceptance testing might be the only test that the customer can
comprehend or in which he is directly involved.
• Acceptance testing is a special form of system testing which is often
performed at the customer‘s site.
© Copyright MSTB-GTB
Chapter 3 Page 84 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing – Contract and Regulation
Acceptance Testing
© Copyright MSTB-GTB
Chapter 3 Page 85 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing – Contract Testing (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 86 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing – Contract Testing (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 87 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing – Operational testing
© Copyright MSTB-GTB
Chapter 3 Page 88 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing –
Site acceptance testing (1/2)
© Copyright MSTB-GTB
Chapter 3 Page 89 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Acceptance Testing –
Site acceptance testing (2/2)
© Copyright MSTB-GTB
Chapter 3 Page 90 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Alpha and Beta Testing (1/3)
© Copyright MSTB-GTB
Chapter 3 Page 91 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Alpha and Beta Testing (2/3)
© Copyright MSTB-GTB
Chapter 3 Page 92 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Alpha and Beta Testing (3/3)
© Copyright MSTB-GTB
Chapter 3 Page 93 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing with Software Development Models
Test Levels Acceptance Testing
Testing New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 94 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 95 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Testing New Product Versions (Maintenance Testing)
© Copyright MSTB-GTB
Chapter 3 Page 96 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Software Maintenance (1/3)
© Copyright MSTB-GTB
Chapter 3 Page 97 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Software Maintenance (2/3)
© Copyright MSTB-GTB
Chapter 3 Page 98 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Software Maintenance (3/3)
– “We will have to create new versions over and over again, so it
is not that serious if the testing is not that detailed and some
defects are overlooked.” This is the wrong attitude.
© Copyright MSTB-GTB
Chapter 3 Page 99 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Modification (1/3)
• Planned enhancement changes
– Apart from maintenance work caused by defects or failures there
is also modification and extension work that the project
management has planned from the beginning.
– This is part of the normal product enhancements.
– This includes, for example,
• Adjustments due to a planned modification of neighboring
system.
• Implementation of a planned functionality that could not be
delivered at time of initial deployment due to lack of time.
• Extensions required because of market changes.
• A software project is therefore in no way completed with the delivery
of the first product version.
© Copyright MSTB-GTB
Chapter 3 Page 100 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Modification (2/3)
• Defect fixing
– Defect from operating
– Emergency changes („Hot Fixes“)
• Changes of environment
– Updating operating system
– Updating database management system
– Upgrades of commercial software
– Patches of external components
– etc.
• Quality improvement
– Improving factors for quality, e.g., maintainability,
performance, usability without change of functional amount
© Copyright MSTB-GTB
Chapter 3 Page 101 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Modification (3/3)
© Copyright MSTB-GTB
Chapter 3 Page 103 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Regression Testing (1/4)
© Copyright MSTB-GTB
Chapter 3 Page 104 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Regression Testing (2/4)
© Copyright MSTB-GTB
Chapter 3 Page 105 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Regression Testing (3/4)
© Copyright MSTB-GTB
Chapter 3 Page 106 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Regression Testing (4/4)
© Copyright MSTB-GTB
Chapter 3 Page 107 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
3
Chapter
Testing
Throughout
} Testing in Software Development Models
Test Level Acceptance Testing
Testing of New Product Versions
the Software
Overview of Test Types
Life Cycle
© Copyright MSTB-GTB
Chapter 3 Page 108 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Big Picture
Test for Development Test
Development
data security levels levels W-Model
Test for
robustness
Maintenance General Iterative-incremental
test V-Model development model
Usability test
© Copyright MSTB-GTB
Chapter 3 Page 109 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Test Levels and Test Types
• Test objectives vary from step to step.
• Several test types are implemented in different intensity.
• The basic test types are:
– Functional testing (test of functionality)
– Non-functional testing (test of non-functional software
characteristics)
– Structure-based testing (test of software structure/software
architecture)
– Change-oriented testing (test in connection with changes,
also known as changing-application test)
• All types can be implemented on these test levels:
– Component testing - System testing
– Integration testing - Acceptance testing
© Copyright MSTB-GTB
Chapter 3 Page 110 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Functional Testing
© Copyright MSTB-GTB
Chapter 3 Page 111 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Non-Functional Testing
© Copyright MSTB-GTB
Chapter 3 Page 112 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Structure-based Testing
• Structure-based testing (White-box test design approach, refer
Chapter 5) is based on the internal structure of a component or the
architecture of the software or the system.
• Basics are e.g.
– the control flow within components,
– the calling-hierarchy of procedures or structured menus or
– the structure of abstract models of the software (finite state
machine)
• The objective is to cover all elements of the considered structure via
testing.
• Suitable and sufficient test cases need to be designed.
• Structure oriented testing are applied in component and integration
testing, or as an addition in higher test levels (e.g. to cover menu
structures).
© Copyright MSTB-GTB
Chapter 3 Page 113 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Change-oriented Testing
© Copyright MSTB-GTB
Chapter 3 Page 114 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
✓ Summary (1/3)
© Copyright MSTB-GTB
Chapter 3 Page 115 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Summay (2/3) – Comparing the Test Levels
Criteria Component Testing Integration Testing System Testing Acceptance Testing
Testing Finding defects in software Finding defects in Verification if specified Gaining confidence in the
Objectives (components), that can be tested inferfaces and in requirements (functional, system or in a certain
separately interactions between non-functional) are non-functional attribute
integrated components. fulfilled by product.
Test Basis Component specification Software and Specified for system User requirements
Detailed Design system design and requirements System requirements
Data model Architecture Use cases Uses cases
Program code Workflows Functional Business processes
Application cases specificaiton Risk analysis report
Business processes
Risk analysis report
Typical Test Isolated software components Individual components to System guidelines, Business processes of
Objects (partitions, unit, module) be integrated, sub user and operation integrated systems
Components, programs systems and added guidelines Operation and
Data conversion program, standard components System configuration maintenance processes
migration program Implementation of data and configuration data User approach
Database module base Forms
Infrastructure Reports
Interfaces Configuration data
System configuration
data
Testing Stub, driver, simulators Reuse/extension of stubs, Testing and production Testing and production
Harness drivers, simulators from environment should environment should
the component testing correspond as much © Copyright
as MSTB-GTB
correspond as much as
Chapter 3 Page 116 Software Testing Foundations Certified Tester
possible. V 2.2.0 / 2017
possible.
✓ Summary (3/3)
© Copyright MSTB-GTB
Chapter 3 Page 117 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
??? You should now be able to answer the following questions
© Copyright MSTB-GTB
Chapter 3 Page 118 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
??? Now you should be able to answer the following questions
© Copyright MSTB-GTB
Chapter 3 Page 119 Software Testing Foundations Certified Tester
V 2.2.0 / 2017
Finally
© Copyright MSTB-GTB
Chapter 3 Page 120 Software Testing Foundations Certified Tester
V 2.2.0 / 2017