Requirement Test Coverage#
This page shows which requirements are linked to tests and which have code
links.
The numbers shown here come from the same score_metrics calculations used
by CI quality gates — they will always match.
Overall Coverage#
Requirement → Test Traceability#
Test → Requirement Traceability#
Testcase |
Fully Verifies |
Partially Verifies |
Test Type |
Derivation Technique |
|---|---|---|---|---|
generate_sourcelinks_cli_test__test_clean_external_prefix[input_path0-expected_output0] |
||||
generate_sourcelinks_cli_test__test_clean_external_prefix[input_path1-expected_output1] |
||||
generate_sourcelinks_cli_test__test_clean_external_prefix[input_path2-expected_output2] |
||||
generate_sourcelinks_cli_test__test_clean_external_prefix[input_path3-expected_output3] |
||||
generate_sourcelinks_cli_test__test_clean_external_prefix[input_path4-expected_output4] |
||||
generate_sourcelinks_cli_test__test_generate_sourcelinks_cli_basic |
||||
generate_sourcelinks_cli_test__test_generate_sourcelinks_cli_file_not_exists |
||||
generate_sourcelinks_cli_test__test_generate_sourcelinks_cli_parse_external_module |
||||
incremental_dirty_build_test__test_clean_is_noop_when_build_dir_is_absent |
||||
incremental_dirty_build_test__test_clean_is_noop_when_warnings_txt_is_absent |
||||
incremental_dirty_build_test__test_clean_keeps_build_dir_when_warnings_txt_is_empty |
||||
incremental_dirty_build_test__test_clean_removes_build_dir_when_previous_build_had_warnings |
||||
incremental_dirty_build_test__test_missing_hash_file_triggers_clean |
||||
incremental_dirty_build_test__test_module_change_after_successful_build_forces_clean |
||||
incremental_dirty_build_test__test_module_changed_keeps_build_dir_when_all_sentinel_files_unchanged |
||||
incremental_dirty_build_test__test_module_changed_removes_build_dir_when_one_sentinel_file_changed |
||||
merge_sourcelinks_test__test_merge_sourcelinks_basic |
||||
merge_sourcelinks_test__test_merge_sourcelinks_with_known_good |
||||
merge_sourcelinks_test__test_merge_sourcelinks_with_one_empty_file |
||||
merge_sourcelinks_test__test_merge_sourcelinks_wrong_schema |
||||
test_check_options__test_milestone_parsing |
||||
test_codelink__test_cache_file_operations |
||||
test_codelink__test_cache_file_with_encoded_comments |
||||
test_codelink__test_find_need_direct_match |
||||
test_codelink__test_find_need_not_found |
||||
test_codelink__test_get_cache_filename |
||||
test_codelink__test_group_by_need_and_find_need_integration |
||||
test_codelink__test_group_by_need |
||||
test_codelink__test_group_by_need_empty_list |
||||
test_codelink__test_is_metadata_missing_keys |
||||
test_codelink__test_json_format_with_metadata_has_separate_dict |
||||
test_codelink__test_load_resolves_relative_path_with_env_var |
||||
test_codelink__test_load_validates_all_items_are_needlinks |
||||
test_codelink__test_load_validates_list_type |
||||
test_codelink__test_load_with_metadata_invalid_items_after_metadata |
||||
test_codelink__test_load_with_metadata_missing_metadata_dict |
||||
test_codelink__test_load_with_metadata_resolves_relative_path |
||||
test_codelink__test_multiple_commits_hash_consistency |
||||
test_codelink__test_need |
||||
test_codelink__test_needlink_decoder_non_needlink_dict |
||||
test_codelink__test_needlink_decoder_with_all_fields |
||||
test_codelink__test_needlink_encoder_includes_metadata |
||||
test_codelink__test_needlink_equality_same_values |
||||
test_codelink__test_needlink_inequality_different_values |
||||
test_codelink__test_needlink_to_dict_full |
||||
test_codelink__test_needlink_to_dict_without_metadata |
||||
test_codelink__test_roundtrip_empty_lists |
||||
test_codelink__test_roundtrip_metadata_format_applies_metadata |
||||
test_codelink__test_roundtrip_standard_format |
||||
test_codelink__test_source_linker_end_to_end_with_real_files |
||||
test_codelink__test_store_and_load_with_metadata |
||||
test_external_needs__test_add_external_docs_sources_adds_collection |
||||
test_external_needs__test_add_external_docs_sources_ide_support_returns_without_changes |
||||
test_external_needs__test_add_external_needs_json_appends_entry |
||||
test_external_needs__test_add_external_needs_json_missing_file_keeps_list_empty |
||||
test_external_needs__test_empty_list |
||||
test_external_needs__test_external_str_does_not_start_with_at |
||||
test_external_needs__test_invalid_entry |
||||
test_external_needs__test_multiple_entries_2 |
||||
test_external_needs__test_multiple_entries |
||||
test_external_needs__test_single_entry_json_no_path |
||||
test_external_needs__test_single_entry_no_path |
||||
test_external_needs__test_single_entry_with_path |
||||
test_graph_checks__test_eval_need_check_invalid_check_parts_raises_value_error |
||||
test_graph_checks__test_eval_need_check_missing_attribute_logs_and_returns_false |
||||
test_graph_checks__test_eval_need_check_unknown_operator_raises_value_error |
||||
test_graph_checks__test_eval_need_condition_and_or_xor_branches |
||||
test_graph_checks__test_eval_need_condition_invalid_type_raises_value_error |
||||
test_graph_checks__test_eval_need_condition_not_with_wrong_operand_count_raises_value_error |
||||
test_graph_checks__test_filter_needs_by_criteria_invalid |
||||
test_graph_checks__test_filter_needs_by_criteria_unknown_type_logs_warning |
||||
test_graph_checks__test_need |
||||
test_helper_lib__test_config_setdefault_does_not_overwrite_user_value |
||||
test_helper_lib__test_config_setdefault_sets_when_not_in_raw_config |
||||
test_helper_lib__test_get_current_git_hash |
||||
test_helper_lib__test_get_current_git_hash_invalid_repo |
||||
test_helper_lib__test_get_github_repo_info_https_remote |
||||
test_helper_lib__test_get_github_repo_info_multiple_remotes |
||||
test_helper_lib__test_get_github_repo_info_ssh_remote |
||||
test_helper_lib__test_git_operations_with_no_commits |
||||
test_helper_lib__test_git_repo_with_no_remotes |
||||
test_helper_lib__test_git_root_search_not_found |
||||
test_helper_lib__test_git_root_search_success |
||||
test_helper_lib__test_parse_git_output_empty_string |
||||
test_helper_lib__test_parse_git_output_https_format |
||||
test_helper_lib__test_parse_git_output_invalid_format |
||||
test_helper_lib__test_parse_git_output_ssh_format |
||||
test_helper_lib__test_parse_git_output_ssh_format_without_git_suffix |
||||
test_helper_lib__test_runfiles_dir_found |
||||
test_helper_lib__test_runfiles_dir_missing_triggers_exit |
||||
test_helpers__test_complete_workflow |
||||
test_helpers__test_get_github_link_from_json_happy_path |
||||
test_helpers__test_get_github_link_from_json_with_line_zero |
||||
test_helpers__test_get_github_link_from_json_with_none_link |
||||
test_helpers__test_get_github_link_with_hash |
||||
test_helpers__test_get_github_link_with_real_repo |
||||
test_helpers__test_parse_info_from_known_good_different_category |
||||
test_helpers__test_parse_info_from_known_good_empty_json |
||||
test_helpers__test_parse_info_from_known_good_empty_repo_dict_in_json |
||||
test_helpers__test_parse_info_from_known_good_happy_path |
||||
test_helpers__test_parse_info_from_known_good_neither_hash_nor_version |
||||
test_helpers__test_parse_info_from_known_good_no_repo_in_json |
||||
test_helpers__test_parse_info_from_known_good_repo_not_found |
||||
test_helpers__test_parse_info_from_known_good_with_version |
||||
test_helpers__test_parse_info_from_known_good_with_version_different_category |
||||
test_helpers__test_parse_repo_name_from_empty_path |
||||
test_helpers__test_parse_repo_name_from_external_path_2 |
||||
test_helpers__test_parse_repo_name_from_external_path |
||||
test_helpers__test_parse_repo_name_from_local_path |
||||
test_helpers__test_parse_repo_name_without_plus_suffix |
||||
test_metamodel__init____test_raises_assertion_for_invalid_check |
requirements-based |
requirements-analysis |
||
test_metamodel__init____test_returns_empty_list_when_filter_is_empty |
requirements-based |
requirements-analysis |
||
test_metamodel__init____test_returns_valid_checks |
requirements-based |
requirements-analysis |
||
test_metamodel__init____test_strips_whitespace |
requirements-based |
requirements-analysis |
||
test_metamodel_load__test_load_metamodel_data_explicit_path |
||||
test_metamodel_load__test_load_metamodel_data |
||||
test_need_source_links__test_decoder_reconstructs_object |
||||
test_need_source_links__test_encoder_outputs_serializable_dict |
||||
test_need_source_links__test_load_invalid_json_items |
||||
test_need_source_links__test_load_invalid_json_type |
||||
test_need_source_links__test_store_and_load_json |
||||
test_repo_source_link_integration__test_repo_cache_json_format |
||||
test_repo_source_link_integration__test_repo_cache_rebuilds_when_missing |
||||
test_repo_source_link_integration__test_repo_grouped_cache_generated |
||||
test_repo_source_link_integration__test_repo_grouping_multiple_needs_per_repo |
||||
test_repo_source_link_integration__test_repo_grouping_preserves_metadata |
||||
test_repo_source_link_integration__test_repo_grouping_with_golden_file |
||||
test_repo_source_links__test_group_needs_empty_list |
||||
test_repo_source_links__test_group_needs_mixed_codelinks_and_testlinks |
||||
test_repo_source_links__test_group_needs_multiple_repos |
||||
test_repo_source_links__test_group_needs_single_repo_with_codelinks |
||||
test_repo_source_links__test_group_needs_skips_needs_without_links |
||||
test_repo_source_links__test_group_needs_with_testlinks_different_repos |
||||
test_repo_source_links__test_group_needs_with_testlinks_only |
||||
test_repo_source_links__test_json_decoder_reconstructs_repo_source_links |
||||
test_repo_source_links__test_json_decoder_returns_unchanged_for_non_repo_dict |
||||
test_repo_source_links__test_json_encoder_converts_path_to_string |
||||
test_repo_source_links__test_json_encoder_removes_metadata_from_needlink |
||||
test_repo_source_links__test_json_encoder_removes_metadata_from_testlink |
||||
test_repo_source_links__test_load_empty_list |
||||
test_repo_source_links__test_load_validates_is_list |
||||
test_repo_source_links__test_load_validates_items_are_correct_type |
||||
test_repo_source_links__test_store_and_load_roundtrip |
||||
test_repo_source_links__test_store_creates_parent_directories |
||||
test_rules_are_working_correctly__test_score_pytest_loads_conftest |
||||
test_rules_file_based__test_rst_files[architecture/architecture_tests.rst] |
||||
test_rules_file_based__test_rst_files[attributes/test_attributes_external_prefix.rst] |
||||
test_rules_file_based__test_rst_files[attributes/test_attributes_format_id_format.rst] |
||||
test_rules_file_based__test_rst_files[attributes/test_attributes_format_id_length.rst] |
||||
test_rules_file_based__test_rst_files[attributes/test_prohibited_words.rst] |
||||
test_rules_file_based__test_rst_files[attributes/test_validity.rst] |
||||
test_rules_file_based__test_rst_files[graph/test_invalid_graph.rst] |
||||
test_rules_file_based__test_rst_files[graph/test_metamodel_graph.rst] |
||||
test_rules_file_based__test_rst_files[graph/test_workproduct_aspice_40.rst] |
||||
test_rules_file_based__test_rst_files[id_contains_feature/test_id_contains_feature.rst] |
||||
test_rules_file_based__test_rst_files[options/gd_req_comp.rst] |
||||
test_rules_file_based__test_rst_files[options/test_need_extends.rst] |
||||
test_rules_file_based__test_rst_files[options/test_options_extra_option.rst] |
||||
test_rules_file_based__test_rst_files[options/test_options_options.rst] |
||||
test_rules_file_based__test_rst_files[options/wp_comp.rst] |
||||
test_source_code_link_integration__test_source_link_integration_non_existent_id |
||||
test_source_code_link_integration__test_source_link_integration_ok |
||||
test_sphinx_filters__test_generic_pie_items_by_tag_matches_source_by_id_prefix |
||||
test_sphinx_filters__test_generic_pie_linked_items_matches_source_by_id_prefix |
||||
test_sphinx_filters__test_get_just_metrics_appends_values_when_metrics_loaded |
||||
test_sphinx_filters__test_get_key_values_appends_values_when_metrics_loaded |
||||
test_sphinx_filters__test_get_key_values_raises_key_error_when_global_is_empty |
||||
test_sphinx_filters__test_get_metrics_with_custom_type_total_considered_empty_kwargs_raises_index_error |
||||
test_sphinx_filters__test_get_metrics_with_custom_type_total_considered_with_total_suffix |
||||
test_sphinx_filters__test_get_metrics_with_custom_type_total_considered_without_total_suffix |
||||
test_sphinx_filters__test_get_metrics_with_overall_total_considered_when_metrics_loaded |
||||
test_testlink__test_clean_text_removes_ansi_and_html_unescapes |
requirements-based |
requirements-analysis |
||
test_testlink__test_datafortestlink_decoder_non_testlink_dict |
||||
test_testlink__test_datafortestlink_encoder_fallback |
||||
test_testlink__test_datafortestlink_equality_with_non_testlink |
||||
test_testlink__test_datafortestlink_to_dict_full |
||||
test_testlink__test_dataoftestcase_check_verifies_fields_missing_both |
||||
test_testlink__test_dataoftestcase_decoder_non_testcase_dict |
||||
test_testlink__test_dataoftestcase_decoder_valid_dict |
||||
test_testlink__test_dataoftestcase_encoder_fallback |
||||
test_testlink__test_dataoftestcase_get_test_links_returns_empty_when_invalid |
||||
test_testlink__test_dataoftestcase_is_valid_fails_on_none_field |
||||
test_testlink__test_decoder_ignores_irrelevant_dicts |
requirements-based |
requirements-analysis |
||
test_testlink__test_load_data_of_test_case_validates_items |
||||
test_testlink__test_load_data_of_test_case_validates_list |
||||
test_testlink__test_store_and_load_data_of_test_case_roundtrip |
||||
test_testlink__test_store_and_load_testlinks_roundtrip |
requirements-based |
requirements-analysis |
||
test_testlink__test_testcaseneed_to_dict_multiple_links |
requirements-based |
requirements-analysis |
||
test_testlink__test_testlink_encoder_handles_path |
||||
test_testlink__test_testlink_serialization_roundtrip |
requirements-based |
requirements-analysis |
||
test_traceability_metrics__test_calculate_requirement_metrics_counts_links_and_missing_ids |
requirements-based |
requirements-analysis |
||
test_traceability_metrics__test_calculate_requirement_metrics_non_fully_linked_2 |
requirements-based |
equivalence-classes |
||
test_traceability_metrics__test_calculate_requirement_metrics_non_fully_linked |
requirements-based |
equivalence-classes |
||
test_traceability_metrics__test_calculate_test_metrics_counts_linked_tests_and_broken_refs |
interface-test |
design-analysis |
||
test_traceability_metrics__test_get_need_types_by_tags_returns_empty_on_non_match |
requirements-based |
equivalence-classes |
||
test_traceability_metrics__test_get_need_types_by_tags_returns_matching_directives_only |
requirements-based |
equivalence-classes |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[ -False] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[0-False] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[1-True] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[None-False] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[text-True] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[value2-False] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_is_non_empty_string_and_non_string_behavior[value3-True] |
interface-test |
boundary-values |
||
test_traceability_metrics__test_need |
||||
test_traceability_metrics__test_safe_percent_zero[1-4-25.0] |
requirements-based |
boundary-values |
||
test_traceability_metrics__test_safe_percent_zero[3-0-100.0] |
requirements-based |
boundary-values |
||
test_xml_parser__test_clean_test_file_name_combo_path |
||||
test_xml_parser__test_clean_test_file_name_empty_path_raises_error |
||||
test_xml_parser__test_clean_test_file_name_invalid_path_raises_error |
||||
test_xml_parser__test_clean_test_file_name_local_path |
||||
test_xml_parser__test_clean_test_file_name_nested_bazel_testlogs |
||||
test_xml_parser__test_clean_test_file_name_tests_report_path |
||||
test_xml_parser__test_construct_and_add_need_uses_fallback_url_for_missing_repo_metadata |
||||
test_xml_parser__test_early_return |
||||
test_xml_parser__test_find_xml_files |
requirements-based |
requirements-analysis |
||
test_xml_parser__test_find_xml_files_test_reports |
||||
test_xml_parser__test_find_xml_folder |
||||
test_xml_parser__test_find_xml_folder_test_reports |
||||
test_xml_parser__test_get_metadata_from_test_path_combo_with_hash |
||||
test_xml_parser__test_get_metadata_from_test_path_combo_with_version |
||||
test_xml_parser__test_get_metadata_from_test_path_local |
||||
test_xml_parser__test_parse_properties |
requirements-based |
requirements-analysis |
||
test_xml_parser__test_parse_testcase_result |
requirements-based |
requirements-analysis |
||
test_xml_parser__test_read_test_xml_file |
requirements-based |
requirements-analysis |
||
test_xml_parser__test_short_hash_consistency_and_format |
requirements-based |
requirements-analysis |
||
TestCheckOptions__test_unknown_directive |
requirements-based |
requirements-analysis |
||
TestCheckOptions__test_unknown_option_present_in_neither_req_opt_neither_opt_opt |
requirements-based |
requirements-analysis |
||
TestNeedHelper__test_combined_core_links_and_extras |
||||
TestNeedHelper__test_custom_values_override_defaults |
||||
TestNeedHelper__test_default_values |
||||
TestNeedHelper__test_empty_links_not_in_kwargs |
||||
TestNeedHelper__test_extra_fields_in_extras |
||||
TestNeedHelper__test_link_fields_extracted |
||||
TestStandards__test_assert_multiple_kwargs |
||||
TestStandards__test_get_compliance_req_needs |
||||
TestStandards__test_get_compliance_wp_needs |
||||
TestStandards__test_get_standards_needs |
||||
TestStandards__test_get_standards_workproducts |
||||
TestStandards__test_get_workflows |
||||
TestStandards__test_get_workproducts |
||||
TestStandards__test_my_pie_linked_standard_requirements |
||||
TestStandards__test_my_pie_linked_standard_workproducts |
||||
TestStandards__test_my_pie_workproducts_contained_in_exactly_one_workflow |
||||
TestStandards__test_negative_case_no_needs_with_tag |
||||
TestStandards__test_positive_case_mixed_linked_and_unlinked |
||||
traceability_gate_test__test_gate_fail_on_broken_test_refs |
||||
traceability_gate_test__test_gate_fails_when_threshold_not_met |
||||
traceability_gate_test__test_gate_missing_file_returns_error |
||||
traceability_gate_test__test_gate_missing_metrics_by_type_returns_error |
||||
traceability_gate_test__test_gate_missing_tests_section_returns_error |
||||
traceability_gate_test__test_gate_passes_when_thresholds_met |
||||
traceability_gate_test__test_gate_require_all_links_fails |
||||
traceability_gate_test__test_gate_specific_need_type_only |
||||
traceability_gate_test__test_gate_unknown_need_type_fails |
||||
traceability_gate_test__test_gate_unsupported_schema_version |