Software Testing involves operation of a system or application under controlled conditions and evaluating the result. It is oriented to 'detection'.
Quality Assurance (QA) involves the entire software development PROCESS- monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'.