Quality Assurance (QA) refers to the process of ensuring quality in every phase of the software development lifecycle, focusing on prevention and continuous improvement. Software testing, on the other hand, is a subset of QA that focuses on identifying and fixing bugs by running tests on the software to validate its functionality, performance, and security.