Software testing is the most important and time consuming part of software development life cycle, its purpose is to detect software failures so that defects may be recovered and corrected in early ...