Software testing is the process of evaluating or detecting bugs in software cycle i.e detects defect in input and output. It consists of various processes for testing. The purpose of testing can be quality assurance, verification and validation, or reliability estimation.