Skip to content

improvement update test levels - #853

Open
RolandJentschETAS wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:improvement_test_levels
Open

RolandJentschETAS wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:improvement_test_levels

Conversation

@RolandJentschETAS

Copy link
Copy Markdown
Contributor

This pull request updates the requirements and guidance for linking tests to requirements and clarifies the allowed metadata for test cases at different verification levels. The main changes include stricter definitions for test metadata, explicit mapping of allowed link types per test level, and updates to documentation to ensure consistency across the verification process.

Process requirements and metadata guidance updates:

  • The Linking Requirements to Tests and Verification Documentation Checks requirements (gd_req__verification_link_tests and gd_req__verification_checks) are updated to version 2, reflecting stricter and more detailed guidance for linking tests to requirements. [1] [2]
  • Test metadata fields such as TestType and DerivationTechnique now specify which test levels (unit, component, feature, platform) each value applies to, and fields may contain multiple comma-separated values.
  • The allowed types for Verifies links are now explicitly defined for each test level, determined by folder structure, and minimum coverage requirements are enforced for each level.

Documentation and workflow consistency:

  • References in the verification concept documentation are updated to require use of only the supported identifiers and test levels for Sphinx-Needs metadata, ensuring alignment with the new requirements. [1] [2]
  • All relevant verification workflow definitions now reference the updated version (2) of the gd_req__verification_link_tests requirement, ensuring process consistency. [1] [2] [3] [4]

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

Automated test cases (as well as manual, where applicable) shall contain further information about which methods have been applied.
The corresponding guidance is given here: :need:`gd_guidl__verification_guide`.
The identifier of the respective method is to be used as meta data (*TestType* and *DerivationTechnique*).
For Sphinx-Needs test metadata, use only the identifiers and test levels listed in

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

process should not mention specific tools?!

The test level is determined by the test's folder path. Verifies links shall use only the allowed types for that level:

- ``platform_integration_tests/`` (Platform): ``stkh_req``
- ``score/tests/`` (Feature): ``feat``, ``feat_req``, ``feat_arc_dyn``, ``feat_arc_sta``, ``mod``, ``mod_view_dyn``, ``mod_view_sta``, ``tool_req``

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really play it that hard and make it mandatory?
Will it work with the idea that feature integration test can live in the reference integration and in the feature repository (we discussed this for better linking and testing depending on whether they link to architecture or requirements )

* Resource Usage Evaluation (resource-usage)
* Fault Injection (fault-injection): unit, component, feature
* Interface Test (interface-test): unit, component, feature
* Requirements-based Test (requirements-based): component, feature, platform

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember we discussed that a unit test can also cover some part of requirement, but maybe as it already uses linking other requirements it automatically transfers into a component level test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants