I. Introduction
Software testing is a fundamental part of quality assurance for software projects. Agile development processes, continuous integration and short release cycles require frequent automatic test runs to reduce the number of defects and to prevent regressions during development.