Software testing focuses on identifying defects by executing the software, whereas software quality assurance (QA) encompasses a broader process of ensuring quality through standards, processes, and continuous improvement throughout the software development lifecycle.