because software is likely to have faults
to learn about the reliability of the software
to fill the time between delivery of the software and the release date
to prove that the software has no faults
because testing is included in the project plan
because failures can be very expensive
to avoid being sued by customers
to stay in business