Hourglass Smart Test Job Runner is a tool used to remotely trigger Test Automation CI/CD jobs that it determines has the greatest “risk” of where defects can occur in your software under test. Imagine your software project has 50 or more CI/CD Test automation jobs that take a long time to run and complete. Within the past week, developers have checked in code and made changes that could impact the quality of the product and the release date is approaching. The manual test team has other priorities and running all 50 jobs for regression does not scale. This is where Hourglass Smart Test Job Runner can help. Using Machine Learning and other statistical data analysis computations leveraging data from the project, it will determine the top areas of code where there is a higher chance of finding a defect, and then trigger your test automation jobs that ensure test coverage of those areas.
The tool runs on a host and triggers “risky” jobs twice daily. It uses two subcomponents to determine which jobs are better suited for testing at that point in time: Hourglass Bug Predictor and Hourglass Code Risk Analyzer. Hourglass Bug Predictor uses Machine Learning to train a K-Star model that integrates with Jira. Using bug history in Jira, and defining areas of code based on components, labels, priorities, and custom fields, it uses that historical data to train the Machine Learning model which then predicts the potential number of bugs that can occur in the next week given the Jira data that defines those areas. The results are processed and associated with a given test automation job. Hourglass Code Risk Analyzer integrates with Github or Bitbucket to track source code changes and commits and runs statistical data analysis, like machine learning algorithms, to associate source code files and folders with a risk assessment score. The files and folders of the source code are also associated with a given test automation job. The resulting data from these two tools is normalized and consolidated, and since each are associated with specific automation jobs in your CI/CD pipeline, it will then use REST APIs to remotely trigger the top X jobs, in either Jenkins, TeamCity, (or other pipeline jobs that can be triggered with a URL), to run at that time.