These two terms are often used interchangeably but this is wrong understanding of their meaning.
Software Quality Assurance is a set of processes/practices which aim to assure high quality of the product. Testing is only one of these processes. QA consists, but is not limited to, design, architecture, coding standards, code reviews, testing, change management, configuration management, release management, audits, etc.
Testing sometimes is the only area where quality assurance is implemented consciously, and this is probably the source of wrong understanding of the terms. If you wanted to use other term for testing it would be quality verification, not quality assurance.
In short: quality assurance is implemented all over the production process while testing is only one of stages of it.