Testing Life Cycle
Testing Design
Testing should begin in the requirements phase
of the software development life cycle. During the design
phase, testers work with developers in determining what
aspects of a design are testable and with what parameters
those tests work.
Test Planning
Test Plan.
Early in the deployment planning phase, the
testing team creates a test plan. The test plan defines the
objectives and scope of the testing effort, and identifies the
methodology the team will use to conduct tests. It also
identifies the hardware, software, and tools required for
testing and the features and functions that will be tested. A
well-rounded test plan notes any risk factors that jeopardize
testing and includes a testing schedule.
Test strategy.
Decide how to approach the testing in terms of
people, tools, procedures and support. A good test strategy
is:
– Specific
– Practical
– Justified
The purpose of a test strategy is to clarify
the major tasks and challenges of the test project.
Testbed Creation
Testbed is an execution environment for
testing consisting specific hardware ,network,Operating
System,configuration of product under test,system software and
other applications.
Test development: Test
procedures, test cases, test datasets, test scripts to use in
testing software.
Test Procedure.
Test Procedure must define guidelines for
creating test cases. It should explain how to run these test
cases, the creation, testing and maintenance of testing
scripts.Software testing procedures must also define the
hardware and software resources that are needed to keep the
testing process on track and the length of time each will be
needed. If the resources are not available, it won't be
possible to meet project deadlines.No testing procedure should
ever begin without a clear understanding of what results are.
Test Cases.
Test case is a set of inputs, execution
preconditions, and expected outcomes developed for a
particular objective, such as to exercise a particular program
path or to verify compliance with a specific requirement. The
basic objective of writing test cases is to validate the
testing coverage of the application.
General Test Case template:
| Test case id |
Unit |
Assumptions |
Test data |
Steps |
Expected result |
Pass/Fail |
Comments |
Test execution: Testers execute the
software based on the plans and tests and report any errors
found to the development team.
Test reporting: Once testing is completed,
testers generate metrics and make final reports on their test
effort and whether or not the software tested is ready for
release.
Test reporting is done in different ways
1. Defect Analysis Report ( DAR) : Using defects as data
for continuous quality improvement. Defect analysis generally
seeks to classify defects into categories and identify
possible causes in order to direct process improvement efforts
2. Test Coverage Matrix: In Test coverage matrix the
test implementation and operations are mentioned in column and
the test cases are mentioned in row. It is a very good
technique for test coverage.
3. Traceability Matrix: Traceability matrix defines the
mapping between customer business requirements and testcases
prepared by testers.Used by testing team to verify how far the
testcases prepared have covered the requirements of the
functionalities to be tested.
Test result analysis: is done by the
development team usually along with the client, in order to
decide what defects should be treated, fixed, rejected
or deferred to be dealt with later.
Defect Retesting: Once a defect has been
dealt with by the development team, it is retested by the
testing team.
Test Closure: Once the test meets the exit
criteria, the activities such as capturing the key outputs,
lessons learned, results, logs, documents related to the
project are archived and used as a reference for future
projects
.