Software testing is the process of checking software, to verify that it satisfies its requirements and to detect errors.