Quality Control is a product focussed concept, where checking of the actual results are done to ensure that things are as expected. If the correct controls are in place you can know for certain that the actual results have been achieved because the actual results have been checked.
Quality assurance processes are put in place to provide some comfort that the end product is what you want. Quality control is making sure the end product really is what you want. That can still be a bit confusing so this article will walk through some examples to clarify the difference between Quality Assurance vs. Quality Control.
ManufacturingQuality assurance and quality control are both crucial concepts in terms of manufacturing to ensure a company's products are created effectively and in a manner they expect. If they're not customers may be dissatisfied and business lost.
Take for example car manufacturing. Quality assurance would mean setting up the processes necessary to prove comfort that the car is manufactured to the exact specifications you need. Ensuring there is a process to test the alloy composition in the materials provided, a process directing where bolts are to be inserted and tightened. Those processes would be considered quality assurance.
Quality control would be the physical and mechanical tests that take place throughout the process to ensure the quality assurance processes have been followed and you do in fact have the exact car you expected. Visual inspections throughout the process, reviewing the results of the various tests performed, these would all be quality controls performed.
Writing CodeWhen developing a program or application extensive code writing takes place and there are a lot of quality assurance and quality controls that need to be in place to ensure the program does what you want. In establishing a quality assurance program you would set out processes like required reviews at certain steps, replication of relevant aspects of code from other applications that you know work already. Those processes that employees have to follow would be part of your quality assurance program.
Writing code is so complex, however, that it is almost impossible to have a perfectly working program or application on the first try. This is where you quality control comes in. Programs and applications will be tested and tried with a variety of variables so that every aspect is actually tried before the program is considered finished. This quality control ensures that a flawed program is not delivered to customers (and is often not done nearly enough in practice as many programs and games require multiple fixes after delivery).