1111 #
1212 # SPDX-License-Identifier: Apache-2.0
1313 # *******************************************************************************
14+
15+ # Assisted-by: GitHub Copilot
1416.. _docs_statistics :
1517
16- Implementation State Statistics
17- ================================
18+ Tooling Coverage
19+ ================
20+
21+ This page shows how the docs-as-code tooling covers process and tool
22+ requirements. It focuses on tooling capabilities offered to downstream
23+ repositories rather than on product-specific traceability inside those
24+ repositories.
1825
1926Overview
2027--------
2128
22- .. needpie :: Requirements Status
23- :labels: not implemented, implemented but not tested, implemented and tested
29+ .. needpie :: Tool Requirements Status
30+ :labels: not implemented, implemented but incomplete traceability, fully linked
2431 :colors: red,yellow, green
32+ :filter-func: src.extensions.score_metamodel.checks.traceability_dashboard.pie_requirements_status(tool_req)
33+
34+ Jump to evidence tables:
35+
36+ - :ref: `Tool Requirement Implementation and Links table <tooling_coverage_table_impl_links >`
37+ - :ref: `Process Requirement to Tool Requirement mapping table <tooling_coverage_table_process_mapping >`
38+
39+ How To Read These Levels
40+ ------------------------
41+
42+ The overview pie combines implementation state and traceability evidence:
43+
44+ - ``not implemented ``:
45+ requirement has ``implemented == NO ``.
46+ - ``implemented but incomplete traceability ``:
47+ requirement has ``implemented == YES `` or ``implemented == PARTIAL ``,
48+ but is missing at least one traceability link (code link and/or test link).
49+ - ``fully linked ``:
50+ requirement is implemented and has both ``source_code_link `` and ``testlink ``.
2551
26- type == 'tool_req' and implemented == 'NO'
27- type == 'tool_req' and testlink == '' and (implemented == 'YES' or implemented == 'PARTIAL')
28- type == 'tool_req' and testlink != '' and (implemented == 'YES' or implemented == 'PARTIAL')
52+ Implementation labels used on this page:
53+
54+ - ``NO ``: requirement is not implemented.
55+ - ``PARTIAL ``: requirement is partly implemented.
56+ - ``YES ``: requirement is implemented.
57+
58+ Why multiple pies are shown:
59+
60+ - ``Requirements with Codelinks `` shows requirement-to-implementation traceability.
61+ - ``Requirements with linked tests `` shows requirement-to-verification traceability.
62+ - ``Requirements fully linked `` is the strict roll-up (both links present).
63+
64+ These are intentionally separate because they answer different diagnostics:
65+ missing code links, missing test links, or both.
2966
3067In Detail
3168---------
@@ -48,78 +85,43 @@ In Detail
4885 .. needpie :: Requirements with Codelinks
4986 :labels: no codelink, with codelink
5087 :colors: red, green
51-
52- type == 'tool_req' and source_code_link == ''
53- type == 'tool_req' and source_code_link != ''
88+ :filter-func: src.extensions.score_metamodel.checks.traceability_dashboard.pie_requirements_with_code_links(tool_req)
5489
5590 .. grid-item-card ::
5691
57- .. needpie :: Test Results
58- :labels: passed, failed, skipped
59- :colors: green, red, orange
60-
61- type == 'testcase' and result == 'passed'
62- type == 'testcase' and result == 'failed'
63- type == 'testcase' and result == 'skipped'
64-
65- .. grid :: 2
92+ .. needpie :: Requirements with linked tests
93+ :labels: no test link, with test link
94+ :colors: red, green
95+ :filter-func: src.extensions.score_metamodel.checks.traceability_dashboard.pie_requirements_with_test_links(tool_req)
6696
6797 .. grid-item-card ::
6898
69- Failed Tests
70-
71- *Hint: this table is empty by definition, as PRs with failing tests are not allowed to be merged in docs-as-code repo. *
72-
73- .. needtable :: FAILED TESTS
74- :filter: result == "failed"
75- :tags: TEST
76- :columns: name as "testcase";result;fully_verifies;partially_verifies;test_type;derivation_technique;id as "link"
99+ .. needpie :: Requirements fully linked (code + tests)
100+ :labels: not fully linked, fully linked
101+ :colors: orange, green
102+ :filter-func: src.extensions.score_metamodel.checks.traceability_dashboard.pie_requirements_fully_linked(tool_req)
77103
78104 .. grid-item-card ::
79105
80- Skipped / Disabled Tests
81-
82- *Hint: this table is empty by definition, as we do not allow skipped or disabled tests in docs-as-code repo. *
83-
84- .. needtable :: SKIPPED/DISABLED TESTS
85- :filter: result != "failed" and result != "passed"
86- :tags: TEST
87- :columns: name as "testcase";result;fully_verifies;partially_verifies;test_type;derivation_technique;id as "link"
88-
89-
90-
91-
92- All passed Tests
93- -----------------
94-
95- .. needtable :: SUCCESSFUL TESTS
96- :filter: result == "passed"
97- :tags: TEST
98- :columns: name as "testcase";result;fully_verifies;partially_verifies;test_type;derivation_technique;id as "link"
99-
106+ .. needpie :: Process requirements linked by tool requirements
107+ :labels: not linked, linked
108+ :colors: red, green
109+ :filter-func: src.extensions.score_metamodel.checks.traceability_dashboard.pie_process_requirements_linked(tool_req,true)
100110
101- Details About Testcases
102- ------------------------
103- *Data is not filled out yet within the test cases. *
104111
105- .. needpie :: Test Types Used In Testcases
106- :labels: fault-injection, interface-test, requirements-based, resource-usage
107- :legend:
112+ Process-to-Tool Mapping
113+ -----------------------
108114
109- type == 'testcase' and test_type == 'fault-injection'
110- type == 'testcase' and test_type == 'interface-test'
111- type == 'testcase' and test_type == 'requirements-based'
112- type == 'testcase' and test_type == 'resource-usage'
115+ .. _tooling_coverage_table_process_mapping :
113116
117+ .. needtable :: Process requirement -> tool requirement mapping
118+ :types: tool_req
119+ :columns: satisfies as "Process Requirement";id as "Tool Requirement"
120+ :style: table
114121
115- .. needpie :: Derivation Techniques Used In Testcases
116- :labels: requirements-analysis, design-analysis, boundary-values, equivalence-classes, fuzz-testing, error-guessing, explorative-testing
117- :legend:
122+ .. _tooling_coverage_table_impl_links :
118123
119- type == 'testcase' and derivation_technique == 'requirements-analysis'
120- type == 'testcase' and derivation_technique == 'design-analysis'
121- type == 'testcase' and derivation_technique == 'boundary-values'
122- type == 'testcase' and derivation_technique == 'equivalence-classes'
123- type == 'testcase' and derivation_technique == 'fuzz-testing'
124- type == 'testcase' and derivation_technique == 'error-guessing'
125- type == 'testcase' and derivation_technique == 'explorative-testing'
124+ .. needtable :: Tool requirement implementation and links
125+ :types: tool_req
126+ :columns: id as "Tool Requirement";implemented;source_code_link;testlink
127+ :style: table
0 commit comments