1) Software testing helps reduce risks by identifying issues with reliability, scalability, portability, reusability, and usability. It evaluates software execution to find bugs or errors.
2) There is a difference between errors made by programmers, defects (bugs) caused by those errors, and failures occurring when defective code is executed.
3) Validation ensures the right product is built while verification ensures it is built correctly. Validation happens after verification to check if needs are actually met.