Professional Documents
Culture Documents
Waterfall model:
- Sequential follow up of SDLC activities
- Requirements Analysis, HLD,DLD,
Coding/Development, Testing, Maintenance
- Late attention to the testing activity
- When earlier phases in the development slips it is the testing
phase that gets squeezed
- Harder to ensure quality because the testing team has not been
involved in the project from the earliest phase
- Errors are more costly to correct
- Testing is seen as a test execution phase
- Difficult to deal with the changes
- Working version of the software appears very late in the process
V-Model:
- Integrates development and testing activities
- Shows development activities on the left-hand and the
corresponding test activities on the right-hand
- Testing is not seen as a phase that happens at the end of
development
- For every stage of development,an equal stage of testing
needs to occur
- Testing based on documents/Errors found early/less
expensive/in build quality
- Correct tests are created
- Testing viewed as through out the life cycle
Testing Definition
The Process of exercising software to verify
that it satisfies specified requirements and
to detect errors
BS 7925-1
Testing is :
- the confirmation that we have built the
product right (Verification) and have built
the right product(Validation)
Test Levels
Component Testing
Integration Testing
System Testing
Acceptance Testing
Component Testing
Testing of individual software components(BS 7925 1)
Also known as Unit testing,Module testing, Program testing
Searches for defects in, and verifies the functioning of software
components(Programs,Objects,Classes etc)
Stubs ,drivers and simulators may be used
May include testing of functionality and specific non-functional
characteristics such as memory leaks etc.
Also includes structural testing(eg: branch coverage) with access to the
code
Usually done by the programmer who wrote the code
Defects are typically fixed as soon as they are found,without formally
recording incidents
Prepare and automate test cases (eg: J Unit)
BS 7925 2 defines techniques for the design and measurement of
component testing.
Integration Testing
Testing performed to expose faults in the interfaces and in
the interaction between integrated components.
Two Types:
Integration in the Small
Integration in the Large
Top-down Testing:
Main Program is tested first
Modules are integrated one at a time
Major emphasis is on testing interfaces
Interface errors are discovered early
Test Stubs are needed
Errors in critical modules at low levels are found late
Uses Depth-First approach
Design errors detected early
Stubs are used as passive subprograms to allow high level
control routines to be tested when low level component is
unavailable
Bottom-up Testing:
System Testing
Testing the System based on what it is supposed to
do (Functional) and how well it is doing(NonFunctional)
Two Types
Functional
Non-functional
Acceptance Testing:
Formal testing conducted to enable a user,customer
or other authorized entity to determine whether to
accept a system or component
Acceptance testing is high on the V model , a
counter part to the Requirement specification
process
User Acceptance Testing:
Testing conducted by and visible to customer
It is conducted at the final stage of Validation
Contract Acceptance Testing:
A demonstration of the acceptance criteria which
would have been defined in the contract being met.
Maintenance Testing
- Testing changes to the software after it has gone into
production
- Maintenance testing is something that can go for as
long as the system is in use after it has gone into
production
- Problem with maintenance testing may be old code &
their specs may be poor
- Scope of the maintenance testing to be judged in
relation to the changed code , how much has changed,
what areas does it really affect etc