We are introducing the first version of Testspace Insights. This article provides an overview and sets the stage for future articles on the details of Insights and how to leverage them to improve the quality of the software development process.
Improving Software Quality
One approach to improving software quality is to improve the development process. Although the approach sounds simple in theory, execution comes with many challenges. Knowing when and where to make process improvements are among the most difficult. A lack of visibility into the quality of the current process coupled with the inability to track improvements leads to decisions based on
hunches and intuition without real data. We’re not saying using hunches and intuition is bad, but improvements are better with real data.
So what are Insights?
When using Testspace during the development cycle data generated from testing is automatically collected, stored, and continuously analyzed. This mined data is used to generate Insights. Insights are
metrics used to assess and make process decisions concerning the quality of the software development process. Each indicator provides an overview status for a specific process area. Indicators help answer questions like
- Is the current testing providing value to the team?
- Are regressions being addressed in a timely fashion?
- Are changes in process improving the quality?
Insights are used to measure, track, and manage the quality of the software development process, making informed decisions based on analytics.
actionable data is key to assessing and improving any process. As the project proceeds and grows in complexity, this collected data becomes more valuable. So, instead of just dropping it on the floor, Testspace uses it to help you understand how the project is really doing.
How does it work?
By adding a simple command line utility to the test automation process, test output is pushed to the Testspace server without impacting the workflow. The following command line example pushes
code coverage, and
static analysis information.
testspace tests*.xml coverage.xml static-analysis.xml
In addition to the test output, workflow activities — including new software branches, source code changes, new regressions, and new fixes — are captured as analytical data automatically.
Each project's data is stored in a database and continuously analyzed for patterns and trends. Metrics are generated and provide historical tracking of items like coverage improvements, technical debt, trends in regressions, and more.
We measure and track our own Testspace development, and you can see it here. The Testspace server is developed using Ruby on Rails, the source code is hosted using GitHub, and we use Circle CI for test automation.
Our Model is constantly improving
We are constantly monitoring and improving our
statistical models to extract out more useful and actionable data that customers can use to improve their software development process. We track regression patterns, resolution rates for failures, risk related to change, trends in code coverage, soon to include defect tracking and other variables.
As a company, our focus is to better enable software development teams to leverage all of the data they generate during development. Building a model that adapts, learns, and prescribes in an automated fashion is the focus of Testspace.
Don't let your data get dropped on the floor
With zero impact to the workflow, collecting and leveraging your project’s data can help your software teams thrive by measuring and tracking their success.