Software testing is conducted by an independent group of testers, generally after the functionality is developed and before it is shipped to the customer. Some also perform software testing at the moment when the project starts and is continued till the process is completed.
One of the model used for software testing is Waterfall model which is a sequential design process used in software development process. This is a process in which progress is flown downwards like a waterfall, starting from the requirements phase to maintenance phase which is the last phase. Generally, phases of the waterfall model includes conception, initiation, analysis, design, construction, testing, implementation and testing.
The waterfalls model was initially used in manufacturing and construction industries. Since no formal software development methodologies existed at that time, the waterfalls model which is used in the hardware industries was simply adapted for software development also.
On June 1956, first presentation was held for describing the use of this model in software engineering. It was given by Herbert D. Benington in the Symposium on advanced programming methods for digital computers and this presentation was about the development of software for SAGE. The first formal description of the waterfall model is given in an article by Winston W. Royce in 1970.
To overcome the problems evolved by usage of pure waterfall model, many modified waterfall models have been introduced and these models may address some or all of the criticisms of the pure waterfall model. All the models used for software development use some or other phase of the waterfalls model.