One of the really serious problems with modern software development is the fact that 99% of software development organizations equate Software Quality Assurance with Testing. This is a very costly misunderstanding. Quality Assurance is supposed to help reduce costs and help produce better software. Testing can only add to costs and it can only be done once something is built. So when testing starts, all the errors are already made and all the bad things that SQA is supposed to prevent have already occurred. Testing is pretty much the exact opposite of Quality Assurance.