Software testing basically refers to checking the software for compliance. Software is tested as to whether it meets the requirements and the needs of the client or the company. It is also tested to check whether there are still a few bugs or defects in the software. Since the quality is relative when it comes to software, the main criterion really is the intention for the creation of such software. Testing is done to test if the software created is correct according to the specifications issued by the company. The state and the behavior of the software are examined if it conforms with the requirements and the specifications given to its developers.
While testing is a part of the software quality assurance measures, it is not itself the same as SQA since the latter has a broader scope and is concerned with the overall business functions. Software testing is limited and is quite focused on the software at hand that is being tested.
There are two types of software testing. The first is static testing which merely reviews and walks through the software. It does not involve actual utilization of the software. Static testing only entails going over the code and checking the code for errors. It is only the syntax of the code that is checked.
Dynamic testing, on the other hand, involves running the software. It is when certain test cases are applied on the software at a particular development stage of the software to check the behavior of the software under different variables. It is when the actual outcomes are compared with the expected outcomes so that errors and bugs can be detected and corrected.
Assurance software testing actually just makes sure that the software is what the company needs and it is ready for utilization.