Companies strive to deliver software of the highest quality at the lowest possible cost. The quality of every software project is determined by balancing time, resources, and scope, otherwise known as the project management triangle. Since these three factors are linked, delivering high quality software quickly and efficiently almost always means sacrificing scope (features).
The exception to this rule is innovation.
Harness Test Intelligence™ (TI) helps companies innovate by decreasing test execution time, without reducing quality, sacrificing features, or increasing costs.
Harness Test Intelligence, which debuted in October 2022, is one of the features that makes Harness CI up to 4x faster than other CI solutions. TI reduces test time by running only the subset of tests relevant to the code changes that triggered the pipeline. TI supports Java, Kotlin, Scala, C#, and today we are thrilled to announce that support for Ruby is currently in public preview.
Vagrant is a popular open source project with over 5,000 Ruby rspec tests. Check out this demo to see how TI reduces Vagrant’s Ruby test times over 90% compared to other CI providers.
In this post, we will give you an overview of TI, along with steps to reproduce the above demo in your own Harness account.
Testing is a vital component of every Continuous Integration pipeline. Testing ensures the quality of your application before code advances to the next phase in your SDLC. Running all tests on every code change is expensive and time-consuming. This leaves developers with the difficult decision of running all tests when introducing changes or to deferring tests until later in the development cycle.
Author Robert Galanakis says, “The fastest code is the code which does not run”, in the spirit of writing simple, maintainable code. We can extend this perspective to software testing: The fastest tests are the tests which do not run.
Using Machine Learning (ML), Test Intelligence examines changes to source code and tests to determine what tests should be run for a given change. When a code change is pushed to a repository, TI uses the following metrics to select tests:
TI is always up to date and syncs when you merge code to any branch.
To reproduce the above demo in your Harness account, follow these steps.
If you’d like to learn more, schedule a demo to see how Harness can revolutionize your software development process.