http://www.perlmonks.org?node_id=502649


in reply to Neither system testing nor user acceptance testing is the repeat of unit testing (OT)

She had the perception that those three phases were meant to repeat the same testing, but with different people, so that we can reduce mistakes through excessive forces and effort.

I just want to pick on calling unit/system/acceptance testing phases.

They're different kinds of testing, but I think treating them as phases (first do all the unit testing, then do all the system/integration testing, then do all the user acceptance testing) can lead to many nasty situations.

For example, leaving all the user acceptance testing to the end means that if you've misinterpreted the requirements and have working code that doesn't meet the users needs, then you're going to be throwing a lot of work away.

In my experience it's much better to, as much as possible, do all three at the same time. Build your development process around small end-to-end increments of the project so you can be continually doing system and acceptance testing as you go.