In iterative or incremental life cycle, instead of one large development time line from beginning to end, we cycle through a number of smaller self-contained life cycle phases for the same project.
There exist many variants of iterative life cycle. In iterative approach delivery is divided into increments or builds with each increment adding new functionality. Increments will need testing for the new functionality, regression for the existing functionality and integration testing for both new and existing parts.