Planning is the most important phase in project or product life cycle.
Software development, testing, deployment and maintenance are planned activities happening in the life cycle of a software product and they must be
planned in advance to ensure effectiveness of life cycle activities. Testing is a planned activity happening at several instances during software development life cycle. For development projects, it stars from the proposal stage and ends when the users have accepted the product. For maintenance
and support, it happens at every iteration of change and rarely ends as there are several retesting and regression
testing phases before final delivery. In case of product organisations, it may start from concept phase and may
go through various iterations of defect fixing, porting, reengineering and enhancement till the product retires.
There are many stages of software development and testing activities associated with each stage of product
Development. Generally testing activities start from definition of the following.