Professional Documents
Culture Documents
Software Testing: Testing in The Software Developement Life Cycle (SDLC)
Software Testing: Testing in The Software Developement Life Cycle (SDLC)
Software Testing: Testing in The Software Developement Life Cycle (SDLC)
Chapter 2
Testing in the Software
Developement Life Cycle (SDLC)
Contents
3 Test Levels
4 Types of Testing
1.The Role of Software Testing in
SDLC
Software development models:
• A development life cycle for a software product involves
capturing the initial requirements from the customer,
expanding on these to provide the detail required for
code production, writing the code and testing the
product, ready for release.
• Some software development models: Waterfall, V-Model,
Prototype model, Spiral model, Agile model…
From the view of testing, the V-model according to
plays an especially important role. The model shows
that testing activities are as valuable as development
and programming.
V-Model
Development and testing tasks are corresponding
activities of equal importance. The two branches
of the V symbolize this.
V-Model
The left branch represents the development process:
• Requirements definition
capturing of user needs
• Functional specification
Definition of functions required to meet user needs
• Technical system design
technical design of functions identified in the functional
specification
• Component specification
detailed design of each module or unit to be built to meet
required functionality
• Programming: use programming language to build the
specified component (module, unit, class…)
V-Model
The right branch defines a test level for each
specification and construction level
• Component test:
Verifies whether each software, component correctly fulfills its
specification.
• Integration test
Checks if groups of components interact in the way that is specified
by the technical system design.
• System test
Verifies whether the system as a whole meets the specified
requirements.
• Acceptance test
Checks if the system meets the customer requirements, as specified
in the contract and/or if the system meets user needs and
expectations.
V-Model
V-model illustrates the testing aspects of
verification and validation (IEEE definition)
• Validation – The process of evaluating a system or
component during or at the end of the development
process to determine whether it satisfies specified
requirements.
• Verification – The process of evaluating a system or
component to determine whether the products of a
given development phase satisfy the conditions
imposed at the start of that phase.
Verification refers only one single phase of
development process.
V-Model
Some most important characteristics and ideal
behind the V-model:
• Implementation and testing activities are separated
but are equally important (left side/right side)
• V-model illustrates the testing aspects of verification
and validation.
• Each test level is testing against its corresponding
development level.
2.1 Validation and Verification
By IEEE definition:
• Validation – The process of evaluating a system or
component during or at the end of the development
process to determine whether it satisfies specified
requirements. - Is the deliverable fit for the purpose?
- Does it provide a solution to the problem?