Software testing is the process of verifying a system with the purpose of identifying any errors, gaps or missing requirement versus the actual requirement.