Any software development process is complex; it takes considerable time and efforts, many different experts participate in it. Nowadays mobile testing, desktop testing or web site testing is an integral part of a software development life cycle.
At the beginning of a project the managers organize meeting, where they discuss all the important issues.
Before Proceeding to Software Development, the Management Discusses and Determines:
- who are the customers;
- who are the project team members;
- what are the main requirements to the software product;
- what is the project schedule, when the software should be released;
- other project details.
Then the programmers elaborate the project plan and the testers – the test plan based on the application requirements specification. The managers split the tasks among the project members.
After this the developers begin to write the code and the testers – test cases. When the software modules are ready, the test engineers execute smoke testing of every module. If smoke tests pass, more thorough module testing is performed. In case they fail, the responsible for the module developers must correct the found errors before proceeding to further testing and writing code.
When the system modules are created and joined together, integration testing and later system testing are executed. System testing requires the most time and efforts, as it includes numerous testing types. Regression testing is executed after every error fixing in order to make sure that the errors are properly corrected, and the corrections didn’t break anything in the application.
When the software is written, and all the found defects are corrected and verified, the decision is made about the product release.