Quality assurance is a broader concept that covers the entire software development life cycle. It is focused on the organizational aspects of quality management, on how software development and testing processes should be arranged so that defects are avoided and customers’ expectations are met. In contract, quality control methods are reactive and product-oriented, and are applied during the software testing life cycle. The goal of the quality control system is to detect and correct defects after the product or its part has been developed.