Finding defects which may get created by the programmer while developing the software.

Software testing is as an activity to check whether the actual results match the expected results

It ensures that the software system is Defect free.

It involves the execution of a software component or system component to evaluate one or more properties of interest.

Software testing also helps to identify errors, gaps, or missing requirements in the actual requirements.

It can be either done manually or using automated tools.