Software development testing to ensure error free products

I recently had dinner with a friend who has moved into a software development position. One of his first tasks is to work with software development to learn more about testing. The program offers an initial incubation period where he will be exposed to all the different aspects of the business. He will then settle into a major position and work in a specialized role. He has been quite impressed by the attention that goes into software development testing. As he explained, commercial reality requires companies to release products as free from bugs as possible. If the software crashes or does not fulfill its intended purpose it can prove to be very costly for the organization.