Faults can occur during any phase in the software development life cycle.Verification is possible on the output of each phase. But if faults remain undetected in the software these faults will be reflected in the code. The testing is done to detect these faults. Different level of testing are used in the testing phase
The first level of software testing is unit testing. In this type, different models are tested according to specific procedure during the design of module. This testing is essential for verification of code and goal is to test the internal logic of models
The second level of testing in this different models are combined into subsystems and the subsystems are then tested the goal is to check whether all the modules can integrate properly or not Emphasis is on testing the interface between different modules
The third level of testing is system testing. In this reference document to be processed is software requirement specification (SRS) and goal is to check whether all requirements are satisfied or not.
The last level of testing is acceptance testing . It is performed with the real data of client to check whether software is working properly or not.