Тести́рование програ́ммного обеспе́чения — процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.
Обеспечение качества (QA) — комплекс мероприятий направленный на обеспечение качества разрабатываемого продукта, на всех стадиях разработки. QA направлено больше на процессы, их усовершенствование (оптимизацию) для минимизации количества багов (дефектов) в самом начале разработки продукта.Это довольно эффективно так как анализируются все аспекты в самом начале, а не когда продукт готов и выясняется, что работать с ним не совсем удобно или можно реализовать функциональность по другому. Переписывать готовый код довольно хлопотно с точки зрения разработки и ведет за собой увеличение количества ошибок.
Контроль качества (QC) — комплекс мероприятий направленных на оценку разработанного продукта и соответствие его установленным требованиям (спецификации).Quality control — направлено на поиск дефектов в готовом продукте, для того что б убедится что продукт соответствует требованиям и готов к передаче пользователю(заказчику).
Тестирование так же направлено на поиск существующих дефектов в продукте, таким образом относится к QC.
Вывод:
QA ориентированно на процесс, а QC на тестирование продукта.
QA — делаем вещи правильным образом.
QC — результат разработки — соответствует ожиданиям.
English version.
Testing: The process of executing a system with the intent of finding defects. (Note that the "process of executing a system" includes test planning prior to the execution of the test cases.)
Quality Assurance: Part of quality management focused on providing confidence that quality requirements will be fulfilled. Quality Assurance makes sure you are doing the right things, the right way.
Quality Control: A set of activities designed to evaluate a developed work product.
Quality Control makes sure the results of what you've done are what you expected.