Different people use different terms to represent their software testing process. Some people call it as "QA" (Quality Analysis), some call it as "software testing" while others represent it with a more formal term called "SQA" (Software Quality Analysis).
All of the above terms represent more or less the same concept - "ensure that the software does not have any defects" !
"Software testing" simply means testing the software to find and report defects (bugs).
"Software Quality Analysis" (SQA or QA) is an engineering and monitoring process where they make sure the software development team follows the proper process to develop the software. This includes preparing the requirements documents, functional specification, high level/low level design documents, test plans, test execution plans etc. Even though testing is also part of it, QA means a lot more. QA involves prevention of defects by monitoring the software development process and testing the software to make sure it works as expected.
In short, testing is the process in which a tester finds the defects in a software. Testing team comes into the project only during the later stages of the project, when the software is almost complete and ready to test.
On the other side, Quality Analysis involves the process through out the life cycle of the project - starting from the requirement analysis phase through the delivery stage. The QA team is responsible to ensure that the development team follows the correct process and thus prevent problems during later stages of the project.
QA team defines the process - which may include various steps like requirement analysis, documentation, approval by customer and various other authorities etc.
At any stage, if the QA team finds that the development team does not follow or meet the defined process, they are responsible to escalate it to the appropriate people including product manager or QA manager.
Testing or QA - which one to follow ?
The reality is, most of the customers are not aware of the QA process. Rather, they want to make sure that the software is tested well for defects. Due to this reason, majority of the small companies do not care much about the QA Process. Rather, they will use their testing team to test the software. The development team will develop the software by following whatever process they like (or, without following any specific process) and the testing team is responsible to find the bugs !
The QA process involves lot of time throughout various stages of the project. It requires documentation, approval and follow specific rules for development process. All these make the development process slower. However, the well managed QA process will help in long term benefits for complex projects and prevent problems during.