This article explains about Different steps
in Life Cycle of Testing Process. in Each phase of the development
process will have a specific input and a specific output. Once the
project is confirmed to start, the phases of the development of project
can be divided into the following phases:
- Software requirements phase.
- Software Design
- Implementation
- Testing
- Maintenance
In the whole development process, testing consumes highest amount of
time. But most of the developers oversee that and testing phase is
generally neglected. As a consequence, erroneous software is released.
The testing team should be involved right from the requirements stage
itself.
The various phases involved in testing, with regard to the software development life cycle are:
1. Requirements stage
2. Test Plan
3. Test Design.
4. Design Reviews
5. Code Reviews
6. Test Cases preparation.
7. Test Execution
8. Test Reports.
9. Bugs Reporting
10. Reworking on patches.
11. Release to production.
Requirements Stage
Normally in many companies, developers itself take part in the
requirements stage. Especially for product-based companies, a tester
should also be involved in this stage. Since a tester thinks from the
user side whereas a developer can’t. A separate panel should be formed
for each module comprising a developer, a tester and a user. Panel
meetings should be scheduled in order to gather everyone’s view. All
the requirements should be documented properly for further use and this
document is called “Software Requirements Specifications”.
Test Plan
Without a good plan, no work is a success. A successful work always
contains a good plan. The testing process of software should also
require good plan. Test plan document is the most important document
that brings in a process – oriented approach. A test plan document
should be prepared after the requirements of the project are confirmed.
The test plan document must consist of the following information:
• Total number of features to be tested.
• Testing approaches to be followed.
• The testing methodologies
• Number of man-hours required.
• Resources required for the whole testing process.
• The testing tools that are to be used.
• The test cases, etc
Test Design
Test Design is done based on the requirements of the project. Test
has to be designed based on whether manual or automated testing is
done. For automation testing, the different paths for testing are to be
identified first. An end to end checklist has to be prepared covering
all the features of the project.
The test design is represented pictographically. The test design
involves various stages. These stages can be summarized as follows:
• The different modules of the software are identified first.
• Next, the paths connecting all the modules are identified.
Then the design is drawn. The test design is the most critical one,
which decides the test case preparation. So the test design assesses
the quality of testing process.
Test Cases Preparation
Test cases should be prepared based on the following scenarios:
• Positive scenarios
• Negative scenarios
• Boundary conditions and
• Real World scenarios
Design Reviews
The software design is done in systematical manner or using the UML
language. The tester can do the reviews over the design and can suggest
the ideas and the modifications needed.
Code Reviews
Code reviews are similar to unit testing. Once the code is ready for
release, the tester should be ready to do unit testing for the code. He
must be ready with his own unit test cases. Though a developer does the
unit testing, a tester must also do it. The developers may oversee some
of the minute mistakes in the code, which a tester may find out.
Test Execution and Bugs Reporting
Once the unit testing is completed and the code is released to QA,
the functional testing is done. A top-level testing is done at the
beginning of the testing to find out the top-level failures. If any
top-level failures occur, the bugs should be reported to the developer
immediately to get the required workaround.
The test reports should be documented properly and the bugs have to be reported to the developer after the testing is completed.
Release to Production
Once the bugs are fixed, another release is given to the QA with the
modified changes. Regression testing is executed. Once the QA assures
the software, the software is released to production. Before releasing
to production, another round of top-level testing is done.
The testing process is an iterative process. Once the bugs are
fixed, the testing has to be done repeatedly. Thus the testing process
is an unending process.
|