Given below are the details of each testing step that is carried out in each software quality and testing life cycle specified by IEEE and ISO standards:
1) SRS Review: Review of the software requirement specifications
2) Objectives are set for Major releases
3) Target Date planned for the Releases
4) Detailed Project Plan is built. This includes the decision on Design Specifications
5) Develop Test Plan based on Design Specifications
6) Test Plan: This includes objectives, the methodology adopted while testing, features to be tested and not to be tested, risk criteria, testing schedule, multi-platform support and the resource allocation for testing.
7) Test Specifications
This document includes technical details (Software requirements) required prior to testing.
8) Writing of Test Cases
Smoke (BVT) test cases
Sanity Test cases
Regression Test Cases
Negative Test Cases
Extended Test Cases
9) Development – Modules are developed one by one
10) Installers Binding: Installers are built around the individual product.
11) Build procedure :
A build includes Installers of the available products – multiple platforms.
12) Testing
Smoke Test (BVT): Basic application test to take decision on further testing
Testing of new features
Cross-browser and cross-platform testing
Stress testing and memory leakage testing.
13) Test Summary Report
Bug report and other reports are created
14) Code freezing
No more new features are added at this point.
15) Testing
Build and regression testing.
16) Decision to release the product
17) Post-release scenario for further objectives.
The application which should be automated must have these factors:
- The application should not be in the early stages of its
development.(The application should have all or some modules which
are stable and tested by manual testers)
- The UI of the application must be stable.(The UI must not change
frequently)
- The manual test cases of this application should be in written form.
You can get the most benefit out of your automated testing efforts by automating:
- Repetitive tests that run for multiple builds.
- Tests that tend to cause human error.
- Tests that require multiple data sets.
- Frequently used functionality that introduces high risk conditions.
- Tests that are impossible to perform manually.
- Tests that run on several different hardware or software platforms
and configurations.
- Tests that take a lot of effort and time when manual testing.
If manual testers are converted into automation engineers, they have to be trained on automation terminologies and concepts. If automation architect is hired from outside, he must get knowledge about the product to test, the manual testing process and what management is expecting.
Good training and strong communication between manual testers, developers and automation team is really necessary.