Company attributes
Other attributes
YourBase is a provider of software development services intended to eliminate redundancies and accelerate the workflow. The company's services help to scan the code base, record every system call, build a dependency graph, and use that data to accelerate future builds. The YourBase services are intended to help developers make local development more lightweight by moving building and running of services to the cloud and by giving feedback on code sooner than normal, in an environment closer to production.
A central part of the YourBase service is the company's Dependency Graph, which records and stores information used to accelerate test runs and works to ensure correct builds with a minimal number of test runs. The Dependency Graph is able to track the dependencies and overlaps in a piece of code that has been changed and can focus code tests on the code that has been changed and the related parts and dependencies to ensure it works as expected and has not changed anything. This allows developers to avoid running long tests, enables them to run localized tests, and accelerates build times.
During a test run, the Dependency Graph traces the execution path of teach test, and through that process learns about various files and methods invoked and stores information about them to develop the dependency graph. This graph is then used to skip reviewing unaffected parts of code in tests. As well, the Dependency Graph can offer a skip function for code changes that the system determines will not change the outcome, based on previous tests.
To perform a test selection, YourBase needs two things. The first being the optimal dependency graph to use if it exists, which is done through matching the current state of the source tree to optimize tests that can be skipped. In the case where a dependency graph does not already exist, the engine uses the test to build a dependency graph.
The second being the set of code changes in the current source tree, including changes in the working directory, relative to the dependency graph. To detect source tree changes, YourBase uses metadata stored alongside the graph, which is used to determine the set of changes between the time the graph was developed to the current state of a source tree.
YourBase offers file-level analysis and method-level analysis, depending on the language used, for test selections. In this case, YourBase offers file-level analysis for Ruby, which the company does not find needs method-level analysis. Whereas for Python versions 2 and 3, YourBase supports file-level and method-level analysis for accelerated outcomes.
YourBase suggests that sharing dependency graphs between teams allows users to automatically synchronize dependency graphs between developers and automated systems, allows them to avoid testing time and for parts of code that has already been tested, and enables users on a project to accelerate tests instead of running full test suites.