Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Testmanagement] TRG Code Coverage Proposal #970

Open
15 of 18 tasks
ds-hzimmer opened this issue Oct 25, 2024 · 1 comment
Open
15 of 18 tasks

[Testmanagement] TRG Code Coverage Proposal #970

ds-hzimmer opened this issue Oct 25, 2024 · 1 comment
Assignees
Milestone

Comments

@ds-hzimmer
Copy link

ds-hzimmer commented Oct 25, 2024

Overview

Providing a Tractus-X Release Guideline (TRG) for testing code coverage

Explain the topic in 2 sentences

Providing a Tractus-X Release Guideline (TRG) for static code analysis code coverage measurements and target thresholds, using Open Source methods and tools, in order to give product teams a template and best-practice example to start from or improve.

What's the benefit?

In increased quality for testing using an efficient established method, potentially avoiding issues that would then only be found in more costly tests or not discovered at all.

What are the Risks/Dependencies ?

  • Potentially overlaps with already existing TRG requirements? For other static code analysis measurements regarding security, dependencies, etc. TRGs are already published. See under https://eclipse-tractusx.github.io/docs/release TRG-8 Security
  • TRG would be defined within 25.03 release cycle, but presumably only go into effect for subsequent releases.
  • Quality Gate: Code coverage thresholds as a quality gate should initially be set fairly low (e.g. at level 50% - 70%) and then potentially increased in subsequent releases as presumably not all product teams would immediately have e.g. a coverage of > 80%, in order to not break / prevent deployments for releases
    https://sonarcloud.io/organizations/eclipse-tractusx/quality_gates/show/9
  • Exceptions have to be defined, e.g. criteria if a product is not sufficiently testable with automated static code analysis

Detailed explanation

Current implementation

A Sonarcloud solution for Tractus-X is already available https://sonarcloud.io/organizations/eclipse-tractusx/projects
But not all Tractus-X product teams have implemented or activated the code coverage functionality, and of those not all have an adequately high coverage.

Proposed improvements

See Pull Request: eclipse-tractusx/eclipse-tractusx.github.io#1149

Feature Team

Catena-X e.V. test management (doubleSlash, on order of the association)

Involvement of additional product teams for implementation

Contributor

  • ds-meberle
  • ds-hzimmer
  • ds-asmierzchalski

Additional contributors to be determined

Committer

  • ds-lcapellino

Additional committers to be determined

User Stories

  • Issue 1, linked to specific repository
  • Issue 2, linked to another specific repository

Acceptance Criteria

  • TRG for Code Coverage proposal created
  • TRG for Code Coverage discussed with the respective product teams, expert groups and committees
  • Quality Gate criteria for code coverage is discussed with repreentative product teams, release management and other experts, and adapted as needed
  • TRG for Code Coverage published

Test Cases

Note: Not directly applicable as this feature suggestion describes a testing improvement itself.

Test Case 1

Steps

  1. Product team(s) implement Sonarcloud Code Coverage check in the components they are responsible for
  2. Once this integration has been completed:
    Both the Product Teams and Test Management/Release Management can review the Coverage quality gate for each release

Expected Result

  1. Product shows up in list of Eclipse Tractus-X projects
    https://sonarcloud.io/organizations/eclipse-tractusx/projects
  2. The "Coverage" value for the respective product is displayed (percentage)
  3. For a new release, "Coverage" is within/above the expected quality gate percentage threshold.
    If not, the team will implement new test cases to achieve code coverage (tbd if initially already within release or until subsequent release).

Architectural Relevance

Note: Some checks potentially not directly applicable as this feature suggestion describes a testing/test management improvement and not a feature change in the functionality of a product itself.

The following items are ensured (answer: yes) after this issue is implemented:

Justification: (Fill this out, if at least one of the checkboxes above cannot be ticked. Contact the Architecture Management Committee to get an approval for the justification)

Additional information

  • I am aware that my request may not be developed if no developer can be found for it. I'll try to contribute a developer (bring your own developer)
@stephanbcbauer
Copy link
Member

Some hints from Release Management (@ther3sa) and Tractus-X Project Lead (@stephanbcbauer)

  • Status currently in Inbox. ⇾ Only features with status backlog are considered in open planning
  • Please add missing sections from the feature template, or fill them out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Work in progress
Development

No branches or pull requests

2 participants