Show total projects, average coverage and total coverage jobs for today
Release notes
Problem to solve
As an application development director/manager, I want to navigate to a single page to see the current test coverage of all projects in a group, so I can report that data on demand quickly as needed.
Intended users
User experience goal
The user should be able to use the UI within GitLab to see a single value of test coverage for all projects in a group.
Proposal
Backend
- This feature is for EE.
- This feature is behind the feature flag
group_coverage_data_report_graph
. - This should be for the
default
branch only for each project.
- Create the GroupCodeCoverage (or a better name) GraphQL entity for today
- Total projects
- Average coverage
- Total jobs
- The entity should contain the fields required (total projects, average coverage, total jobs) to represent at least the top three numbers in the design, but we should keep in mind that we are going to move on towards implementing the graph next. So the historical information, if added easily, should also be added. If it is more complex, we can put a pin in it until #215140 (closed).
Frontend
- Add an "Overall Activity" section to the Repositories Analytics page (see attached design)
- In this section, display three coverage statistics for the group (using GraphQL to get the data):
Projects with Tests
-
Average Coverage by Job
(final name TBD) Total Number of Coverages
- Potentially, add a GlAreaChart below these statistics displaying just one data point for today's average coverage (which we will expand out to show the historical coverage trend in #215140 (closed))
- In this section, display three coverage statistics for the group (using GraphQL to get the data):
Further details
- This iteration of the feature does not include sub-group projects. That will be done later.
Permissions and Security
The permissions for this should follow the same permissions as the rest of the group code coverage feature.
Documentation
- The GraphQL API documentation will need to be updated
- The feature documentation will need to be updated
Availability & Testing
What does success look like, and how can we measure that?
Measures of success
We expect that this view will increase views of the page by 50% month over month the first full month after this is released on gitlab.com and to SM customers as measured on the Testing Dashboard.
Acceptance criteria
- When there is 1 or more project in a group with 1 or more coverage job that has a value, the most recent total project and job count and average coverage value (sum of job coverages / number of jobs) which is a better value than just the project average we think.
- Feature documentation is updated
What is the type of buyer?
Is this a cross-stage feature?
Links / references
Edited by Max Orefice