Software testing has its own life cycle that intersects with every stage
of the SDLC. The basic requirements in software testing life cycle is to
control/deal with software testing – Manual, Automated and Performance.
Test Planning
This is the phase where Project Manager has to decide what things need to be
tested, do I have the appropriate budget etc. Naturally proper planning at this
stage would greatly reduce the risk of low quality software. This planning will
be an ongoing process with no end point.
Activities at this stage would include preparation of high level test
plan-(according to IEEE test plan template The Software Test Plan (STP) is
designed to prescribe the scope, approach, resources, and schedule of all
testing activities. The plan must identify the items to be tested, the features
to be tested, the types of testing to be performed, the personnel responsible
for testing, the resources and schedule required to complete testing, and the
risks associated with the plan.). Almost all of the activities done during this
stage are included in this software test plan and revolve around a test plan.
Test Analysis
Once test plan is made and decided upon, next step is to delve little more
into the project and decide what types of testing should be carried out at
different stages of SDLC, do we need or plan to automate, if yes then when the
appropriate time to automate is, what type of specific documentation I need for
testing.
Proper and regular meetings should be held between testing teams, project
managers, development teams, Business Analysts to check the progress of things
which will give a fair idea of the movement of the project and ensure the
completeness of the test plan created in the planning phase, which will further
help in enhancing the right testing strategy created earlier. We will start
creating test case formats and test cases itself. In this stage we need to
develop Functional validation matrix based on Business Requirements to ensure
that all system requirements are covered by one or more test cases, identify
which test cases to automate, begin review of documentation, i.e. Functional
Design, Business Requirements, Product Specifications, Product Externals etc. We
also have to define areas for Stress and Performance testing.
Test Design
Test plans and cases which were developed in the analysis phase are revised.
Functional validation matrix is also revised and finalized. In this stage risk
assessment criteria is developed. If you have thought of automation then you
have to select which test cases to automate and begin writing scripts for them.
Test data is prepared. Standards for unit testing and pass / fail criteria are
defined here. Schedule for testing is revised (if necessary) & finalized and
test environment is prepared.
Construction and verification
In this phase we have to complete all the test plans, test cases, complete
the scripting of the automated test cases, Stress and Performance testing plans
needs to be completed. We have to support the development team in their unit
testing phase. And obviously bug reporting would be done as when the bugs are
found. Integration tests are performed and errors (if any) are reported.
Testing Cycles
In this phase we have to complete testing cycles until test cases are
executed without errors or a predefined condition is reached. Run test cases
--> Report Bugs --> revise test cases (if needed) --> add new test
cases (if needed) --> bug fixing --> retesting (test cycle 2, test cycle
3….).
Final Testing and Implementation
In this we have to execute remaining stress and performance test cases,
documentation for testing is completed / updated, provide and complete different
matrices for testing. Acceptance, load and recovery testing will also be
conducted and the application needs to be verified under production conditions.
Post Implementation
In this phase, the testing process is evaluated and lessons learnt from that
testing process are documented. Line of attack to prevent similar problems in
future projects is identified. Create plans to improve the processes. The
recording of new errors and enhancements is an ongoing process. Cleaning up of
test environment is done and test machines are restored to base lines in this
stage.
Ref: http://editorial.co.in/software/software-testing-life-cycle.php
Other Related Articles
Comparison Between Black Box & White Box Testing
Making The Decision To Automate Your Software Testing
What is Software Testing
Beta Testing, Anyone? 10 Potent Strategies for Achieving Success
Software Testing and Software Development Lifecycles
An Introduction to Software Testing
Assessment in the software testing course
The Essentials of Software Testing |