Historically speaking, there used to be two distinct jobs titles: Software Quality Control and Software Quality Assurance. The former meant testing software in order to detect the already existing errors, while the latter referred mainly to preventing the errors by means of testing and improving the very process of software creation.