Software quality assurance is the process of ensuring that the software being produced has been tested and meets the requirements of its end-users.
Software testing is a critical part of software development and maintenance. It includes test planning, test design, test execution, and test evaluation. Software testing can be performed by an independent testing team as well as by internal software developers and testers.