Can I Import Something Other Than Source Code ?

Squore allows incorporating more than source code in your projects. Software Analytics, the default analysis model and has built-in support for importing requirements and tickets related to your development project, as well as results from your test campaigns and resource usage.

The Mars project is an example of a C development project that also allows you to track the progress of tests and tasks using the Test Effectiveness, Code Coverage Compliance, Req. Test Coverage and Tickets Completion Rate indicators.

SUM ticketsTestsProject
Figure 1. Ticket, test and source code artefacts in the Mars and the scorecard for a source code file

This chapter describes how to understand these indicators using the charts and highlight categories in the Software Analytics model and shows you how to use the available Data Providers to import test and ticket data into your own Squore projects.

Tests management

The Test Effectiveness indicator is based on a ratio of passed and failed tests in your project.

It is enabled by default in your project if you use a Data Provider that imports test artefacts, like JUnit or vectorCast.

The Code Coverage Compliance indicator is based on function coverage metrics imported by Data Providers like vectorCast, JaCoCo or GCov among others.

In order to view test results, click on the Tests node in the Artefact Tree for the Mars.

SUM testArtefacts
Figure 2. Test artefacts in Mars

Expand the Tests node in the tree to uncover the hierarchy of tests. Each test is imported with its execution result, date and run time. The overall rating of the Tests node is the test effectiveness indicator, which also contributes to the overall project rating.

Clicking a test artefact displays a dashboard containing the test information, as well as a table containing links to the objects tested by the test, as shown below:

SUM testDashboard
Figure 3. The dashboard for a test artefact

Clicking the link to the tested requirement brings up a dashboard showing the complete list of tests covering the requirement, which are also clickable.

SUM testLinks
Figure 4. Links to tests in a dashboard for a requirement

You can click the root test node (or any test suite artefact) to get a history of test execution as well as a text execution matrix showing the test results of all test cases in the project.

SUM testStatus
Figure 5. Test status summary for the project

The Test Status Distribution chart can help you identify the failed tests immediately: click the chart thumbnail in the dashboard and click on the red pie slice to open the Data tab of the Chart Viewer. The tab shows the list of test artefacts with the Failed status. Each artefact is clickable, so you can view its dashboard directly. You can additionally send the list of artefacts to the Review Set or create a highlight definition with these artefacts, so you can display additional metrics for each of them.

SUM testStatusDistribution
Figure 6. Test status summary for the project

If you click the Code node, the dashboard includes a Test Gap Analysis chart that helps you adjust your test strategy by highlighting the risky artefacts in your project based on recent code changes and test execution status.

SUM testGapAnalysis
Figure 7. The Test Gap Analysis chart

The Highlights tab also contains predefined categories to help you analyse insufficiently tested artefacts, modified artefacts and display a summary of artefacts that comply with the code coverage threshold for the project. The screenshot below shows a list of function artefacts in the project together with their code coverage metrics:

SUM highlightCoverage
Figure 8. The Code Coverage highlight showing compliant and non-compliant modules

Tickets management

Importing tickets related to your project activates the Ticket Completion Rate and Innovation Rate indicators in your project.

The Ticket Completion Rate helps you track the ratio of open and closed tickets in your project, while the Innovation Rate is an indicator of the ratio of enhancements versus defects being worked on. Both indicators are enabled when importing tickets using a Data Provider like Jira.

SUM ticketArtefacts
Figure 9. Ticket artefacts in Mars, grouped by component

The dashboard for each ticket provides details about the ticket’s activity and status history, as well as a direct link to open the ticket in your ticket management tool.

SUM ticketDashboard
Figure 10. Ticket Dashboard

The dashboard for the Tickets node (or any ticket container artefact like each component in the Mars project) shows a summary of tickets by status and reporter, as well as a scrum board, so you can keep track of task completion progress.

SUM ticketsDashboard
Figure 11. Overall Dashboard for all tickets in the project

The ticket Data Provider are based on a common framework for importing tickets from various sources and in various file formats. To try it out in your project, you can start with a JSON or CSV file containing ticket data and define regular patterns to isolate data for the supported ticket metrics:

  • Ticket ID and URL

  • Grouping structure and filtering

  • Definition of Open, In Progress, In Validation and Closed statuses

  • Definition of defect and enhancement types

  • Creation and closure dates

  • Description, reporter, handler, priority and severity fields

  • Any other data you want to import as textual information in Squore

As an example, the following is the definition used to extract data from issues exported from Jira in JSON format:

SUM ticketsParamJira
Figure 12. Parameters for a Jira JSON file

The Jira Data Provider automatically retrieves the file from your Jira instance and uses these parameters by default, so you do not have to configure them for each project.

Requirements management

Using a Data Provider to import requirements as artefacts in your project activate the Verified Ratio indicator. Various dashboards are available to track the volatility of your set of requirements and the evolution of single requirements.

SUM reqDashboard
Figure 13. Overall Dashboard for all requirements in the project