Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

아티팩트 추적

대시보드의 단위

유닛은 독립적으로 또는 대규모 시스템 테스트의 일부로 실행하고 테스트할 수 있는 소프트웨어 아키텍처의 기능적 엔터티입니다. ISO 26262-6과 같은 소프트웨어 개발 표준은 단위 테스트의 목표를 정의합니다. 단위 테스트는 일반적으로 단위에 대한 각 요구 사항을 다루어야 하며 요구 사항, 테스트 및 단위 간의 추적성을 입증해야 합니다. 단위 테스트는 수정된 조건/결정 범위(MC/DC)와 같은 단위에 대한 특정 범위 목표도 충족해야 합니다.

기본적으로 대시보드는 프로젝트 폴더 내의 모든 모델을 분석하고 다음을 고려합니다.

  • Simulink® 모델을 단위로 사용합니다.

  • System Composer™ 아키텍처 모델을 구성 요소로 사용합니다.

대시보드에서 특정 모델을 제외하려면 프로젝트에서 모델에 레이블을 지정하고 Specify Models as Components and Units에 표시된 대로 레이블을 인식하도록 대시보드를 구성하여 어떤 모델이 단위 또는 구성 요소인지 지정합니다.

대시보드 창의 프로젝트 패널에 있는 장치 대시보드 아이콘 는 장치를 나타냅니다. 구성요소가 단위를 참조하는 경우 프로젝트 패널의 구성요소 아래에 표시됩니다. 장치가 하나 이상의 다른 모델을 참조하는 경우 해당 모델은 장치의 일부입니다. 참조된 모델은 단위 아래의 설계 폴더에 나타나며 단위에 대한 메트릭 결과에 기여합니다.

Project panel showing a component model, Component1, that contains two unit models: Unit1 and Unit2. The panel also shows a component model, Component2, that contains a component model, Component3.

대시보드의 구성 요소

컴포넌트는 테스트 가능한 여러 단위를 함께 통합하는 엔터티입니다. 예를 들어:

  • 여러 단위 모델을 참조하는 모델은 구성 요소 모델일 수 있습니다.

  • System Composer 아키텍처 모델은 구성 요소가 될 수 있습니다. 지원되는 아키텍처에는 System Composer 아키텍처 모델, System Composer 소프트웨어 아키텍처 모델 및 AUTOSAR 아키텍처가 포함됩니다.

  • 구성 요소는 다른 구성 요소를 통합할 수도 있습니다.

기본적으로 대시보드는 프로젝트 폴더 내의 모든 모델을 분석하고 System Composer 아키텍처 모델을 구성 요소로 간주합니다.

대시보드에서 특정 모델을 제외하려면 프로젝트에서 모델에 레이블을 지정하고 Specify Models as Components and Units에 표시된 대로 레이블을 인식하도록 대시보드를 구성하여 어떤 모델이 단위 또는 구성 요소인지 지정합니다.

대시보드는 프로젝트 패널에서 참조하는 구성 요소 아래에 구성 요소와 단위를 구성합니다. 대시보드 창의 프로젝트 패널에 있는 구성 요소 아이콘 는 구성 요소를 나타냅니다. 구성 요소 아래의 단위를 보려면 구성 요소 아이콘 옆에 있는 화살표를 클릭하여 구성 요소 노드를 확장합니다.

모델을 구성요소 및 단위로 지정

프로젝트에서 모델에 레이블을 지정하고 레이블을 인식하도록 대시보드를 구성하여 어떤 모델이 단위 및 구성 요소로 표시되는지 제어할 수 있습니다.

  1. 프로젝트를 엽니다. 이 예에서는 MATLAB® 명령 창에 다음을 입력합니다.

    openExample("slcheck/ExploreTestingMetricDataInModelTestingDashboardExample");
    openProject("cc_CruiseControl");
    이 예제 프로젝트에는 이미 구성 요소 및 장치 모델이 구성되어 있습니다.

  2. 테스트 아키텍처 레이블을 포함할 프로젝트 레이블 범주를 만듭니다. 레이블 창을 마우스 오른쪽 버튼으로 클릭하고 새 카테고리 만들기를 선택합니다. 범주 이름(예: Testing Interface)을 입력한 다음 확인을 클릭합니다.

  3. 단위에 대한 레이블을 만듭니다. 생성한 카테고리를 클릭하고 새 레이블 만들기을 선택합니다. 레이블 이름 Software Unit을 입력하고 확인을 클릭합니다.

  4. 구성 요소에 대한 레이블을 만듭니다. 생성한 카테고리를 클릭하고 새 레이블 만들기을 선택합니다. 레이블 이름 Software Component을 입력하고 확인을 클릭합니다.

    장치 및 구성 요소 레이블은 레이블 창의 범주 아래에 나타납니다.

    Labels pane showing the Testing Interface category with the labels Software Component and Software Unit

    프로젝트 레이블 범주 및 레이블을 만드는 방법에 대한 자세한 내용은 Create Labels를 참조하세요.

  5. 프로젝트의 모델에 구성 요소 및 단위로 레이블을 지정합니다. 프로젝트 창에서 모델을 마우스 오른쪽 버튼으로 클릭하고 레이블을 추가합니다.를 클릭한 후 카테고리와 라벨을 선택합니다. 이 예에서는 다음 라벨을 적용합니다.

    • cc_CruiseControlTesting Interface > 소프트웨어 컴포넌트

    • cc_ControlModeTesting Interface > Software Unit

    • cc_DriverSwRequestTesting Interface > Software Unit

    • cc_LightControlTesting Interface > Software Unit

    • cc_TargetSpeedThrottleTesting Interface > Software Unit

    프로젝트 레이블을 추가하는 방법에 대한 자세한 내용은 Add Labels to Files를 참조하세요.

  6. 다음 방법 중 하나를 사용하여 대시보드 창을 엽니다.

    • 프로젝트 탭의 공구 섹션에서 Model Testing Dashboard를 클릭합니다.

    • 프로젝트 탭의 공구 섹션에서 Model Design Dashboard를 클릭합니다.

  7. 대시보드 탭에서 옵션를 클릭합니다.

  8. 프로젝트 옵션 대화 상자의 분류 섹션에서 구성 요소 및 단위에 대해 생성한 범주와 레이블을 지정합니다. 구성 요소 인터페이스의 경우 범주Testing Interface로 설정하고 레이블Software Component로 설정합니다. 장치 인터페이스의 경우 범주Testing Interface로 설정하고 레이블Software Unit로 설정합니다.

    Project Options dialog box showing categories and labels specified for component and unit interfaces

  9. 적용을 클릭합니다. 대시보드는 프로젝트 패널의 추적성 정보를 업데이트하고 참조 모델을 참조하는 모델 아래에 구성합니다. 구성 요소가 단위를 참조하지 않는 경우 해당 단위는 구성 요소와 함께 최상위 수준에 나타납니다.

장치 또는 구성 요소에 대한 대시보드를 열려면 프로젝트 패널에서 장치 또는 구성 요소의 이름을 클릭합니다. 대시보드에는 선택한 장치 또는 구성 요소에 대한 측정 결과가 표시됩니다.

단위 및 구성요소에 대한 아티팩트 추적

대시보드는 테스트 수준과 모델 참조 계층 구조에 따라 프로젝트 패널에 모델을 구성합니다. 프로젝트에 많은 모델과 모델 참조 계층 구조가 포함된 경우 모델의 다양한 테스트 수준을 인식하도록 대시보드를 구성하여 단위 테스트 활동을 추적할 수 있습니다. 프로젝트에서 엔터티에 레이블을 지정하고 레이블을 인식하도록 대시보드를 구성하여 소프트웨어 아키텍처의 엔터티가 단위 또는 상위 수준 구성 요소인지 지정할 수 있습니다. 구성 요소로 간주되는 모델을 지정하지 않으면 대시보드는 System Composer 아키텍처 모델을 구성 요소로 간주합니다. 자세한 내용은 Categorize Models in Hierarchy as Components or Units을 참조하세요.

단위 또는 구성 요소의 범위에 있는 아티팩트를 확인하기 위해 대시보드는 프로젝트의 아티팩트, 소프트웨어 단위 모델 및 구성 요소 모델 간의 추적성 링크를 분석합니다. 프로젝트 패널에는 해당 단위를 참조하는 구성 요소별로 구성된 단위가 나열됩니다.

Project panel showing units under a component

기본적으로 대시보드는 파일이 경로에 없거나 프로젝트에 추가되지 않은 경우에도 프로젝트 폴더 내의 모든 파일을 분석합니다. 대시보드에서 특정 모델을 제외하려면 프로젝트에서 모델에 레이블을 지정하고 Specify Models as Components and Units에 표시된 대로 레이블을 인식하도록 대시보드를 구성하여 어떤 모델이 단위 또는 구성 요소인지 지정합니다.

대시보드가 ​​단위 또는 구성 요소와 해당 아티팩트 사이에서 찾은 추적 가능성 경로를 보려면 도구 모음에서 Trace View를 클릭하세요. 추적 보기는 아티팩트가 디자인의 단위 및 구성 요소를 추적하는 방법을 확인하고 프로젝트의 요구 사항, 테스트 및 테스트 결과에 대한 추적 가능성 정보를 보는 데 사용할 수 있는 대화형 다이어그램입니다. 자세한 내용은 Explore Traceability Information for Units and Components를 참조하세요.

프로젝트 패널에서 장치 또는 구성 요소를 선택하면 Artifacts 패널에 선택한 장치 또는 구성 요소를 추적하는 아티팩트가 표시됩니다. 추적된 아티팩트는 다음과 같습니다.

  • 기능 요구 사항

  • 디자인 아티팩트

  • 테스트

  • 시험 결과

Artifacts panel showing traced artifacts for a unit

기능 요구 사항

Functional Requirements 폴더에는 장치 또는 구성 요소에 의해 구현되거나 업스트림으로 구현되는 유형 Functional의 요구 사항이 표시됩니다.

지표 결과를 수집하면 대시보드는 장치 또는 구성 요소가 직접 구현하는 기능 요구 사항만 분석합니다. Functional Requirements 폴더에는 장치 또는 구성 요소에 의해 구현된 요구 사항이나 장치 또는 구성 요소의 업스트림인 요구 사항을 식별하는 데 도움이 되는 두 개의 하위 폴더가 포함되어 있습니다.

  • ImplementedImplements유형 링크를 통해 장치 또는 구성 요소에 직접 연결된 기능 요구 사항입니다. 대시보드는 단위 또는 구성 요소에 대한 지표에서 이러한 요구 사항을 사용합니다.

  • Upstream — 구현된 요구 사항에 간접적으로 또는 전이적으로 연결된 기능적 요구 사항입니다. 대시보드는 단위 또는 구성 요소에 대한 지표에서 이러한 요구 사항을 사용하지 않습니다.

Requirements Toolbox™를 사용하여 요구 사항 파일(.slreqx)에서 요구 사항을 생성하거나 가져옵니다. 요구 사항이 단위나 구성 요소로 추적되지 않으면 추적 문제 폴더에 나타납니다. 요구 사항이 예상한 대로 Artifacts 패널에 나타나지 않으면 Resolve Missing Artifacts, Links, and Results을 참조하십시오.

대시보드가 ​​프로젝트 파일 간의 종속성을 추적하는 방법에 대한 자세한 내용은 Monitor Artifact Traceability and Detect Outdated Results with Digital Thread를 참조하세요.

디자인 아티팩트

설계 폴더에는 다음을 포함하여 현재 장치 또는 구성 요소를 추적하는 프로젝트 아티팩트가 표시됩니다.

  • 장치 또는 구성 요소에 대한 블록 다이어그램이 포함된 모델 파일입니다.

  • 장치 또는 구성 요소가 참조하는 모델입니다.

  • 모델에서 부분적으로 또는 완전히 사용되는 라이브러리입니다.

  • 모델에 연결된 데이터 사전입니다.

  • 모델을 추적하는 외부 MATLAB 코드입니다.

예상한 대로 아티팩트가 설계 폴더에 표시되지 않으면 Resolve Missing Artifacts, Links, and Results를 참조하세요. 대시보드가 ​​프로젝트 파일 간의 종속성을 추적하는 방법에 대한 자세한 내용은 Monitor Artifact Traceability and Detect Outdated Results with Digital Thread를 참조하세요.

참고

외부 MATLAB 코드가 대시보드에 표시될 것으로 예상했는데 표시되지 않는 경우 구성이 지원되지 않는지 확인하세요.

  • 메소드가 다음과 같은 경우 클래스 메소드는 Artifacts 패널에 표시되지 않습니다.

    • 점 표기법을 사용하여 호출하는 비정적 메서드입니다.

    • 함수 표기법을 사용하여 호출하는 비정적 메서드입니다.

    • 점 표기법을 사용하여 Simulink 모델에서 호출하는 정적 메서드입니다.

    • 슈퍼클래스 메서드.

    • 클래스 정의 파일과 별도의 파일에 정의됩니다.

    이러한 방법의 경우 대시보드에는 설계 폴더에 연관된 클래스 정의가 표시됩니다.

  • 생성자가 슈퍼클래스 생성자인 경우 클래스 생성자는 Artifacts 패널에 표시되지 않습니다. 대시보드에는 설계 폴더의 연관된 슈퍼클래스 정의가 표시되지만 메소드 자체는 표시되지 않습니다.

  • 속성이 Simulink 또는 Stateflow®에서 호출되는 경우 클래스 속성은 Artifacts 패널에 표시되지 않습니다. 대시보드에는 Artifacts 패널에 연관된 클래스 정의가 표시됩니다.

  • 열거 클래스는 Artifacts 패널에 표시되지 않습니다. 예를 들어, Simulink에서 Enumerated Constant 블록을 사용하는 경우 대시보드에는 enum 유형을 정의하는 MATLAB 클래스가 표시되지 않습니다.

  • 클래스 파일에 이름이 같은 메서드와 로컬 함수가 포함되어 있는 경우 점 표기법을 사용하는 호출은 클래스 정의의 메서드를 호출하고, 함수 표기법을 사용하는 호출은 클래스 파일의 로컬 함수를 호출합니다.

테스트

테스트 폴더에는 선택한 장치를 추적하는 테스트 및 테스트 하네스가 표시됩니다. 테스트는 다음 중 하나일 수 있습니다.

  • 테스트 반복

  • 반복이 없는 테스트 케이스

단위에 대한 지표 결과를 수집하면 대시보드는 단위 테스트만 분석합니다. 테스트 폴더에는 테스트가 단위 테스트로 간주되는지 여부와 단위에 대한 추적을 활용하는 테스트를 식별하는 데 도움이 되는 하위 폴더가 포함되어 있습니다.

  • Unit Tests — 대시보드가 ​​단위 테스트로 간주하는 테스트입니다. 단위 테스트는 전체 단위 또는 하위 시스템과 같은 단위의 하위 수준 요소를 직접 테스트합니다. 대시보드는 단위에 대한 메트릭에서 이러한 테스트를 사용합니다.

  • 기타 — 단위를 추적하지만 대시보드에서는 단위 테스트로 간주하지 않는 테스트입니다. 예를 들어 대시보드는 라이브러리에 대한 테스트나 가상 하위 시스템에 대한 테스트를 단위 테스트로 간주하지 않습니다. 대시보드는 단위에 대한 지표에서 이러한 테스트를 사용하지 않습니다.

  • Test Harnesses — 장치 또는 장치의 하위 수준 요소를 추적하는 테스트 하네스입니다. 테스트 하네스를 두 번 클릭하여 엽니다.

Simulink Test™을 사용하여 테스트를 만듭니다. 테스트가 단위로 추적되지 않으면 추적 문제 폴더에 나타납니다. 테스트가 Artifacts 패널에 표시되지 않거나 예상한 대로 테스트의 메트릭 결과가 표시되지 않는 경우 Resolve Missing Artifacts, Links, and Results를 참조하세요.

대시보드가 ​​프로젝트 파일 간의 종속성을 추적하는 방법에 대한 자세한 내용은 Monitor Artifact Traceability and Detect Outdated Results with Digital Thread를 참조하세요.

시험 결과

단위에 대한 지표 결과를 수집하면 대시보드는 단위 테스트의 테스트 결과만 분석합니다. 테스트 결과 폴더에는 단위 테스트의 테스트 결과를 식별하는 데 도움이 되는 하위 폴더가 포함되어 있습니다.

  • 모델, SILPIL의 하위 폴더에는 일반, SIL(software-in-the-loop) 및 PIL(processor-in-the-loop) 장치의 시뮬레이션 결과가 포함되어 있습니다. 각각 테스트합니다. 대시보드는 단위에 대한 메트릭에 이러한 결과를 사용합니다.

    다음 유형의 테스트 결과가 표시됩니다.

    • Saved test file icon 저장된 테스트 결과 — 테스트 관리자에서 수집하여 결과 파일로 내보낸 결과입니다.

    • Temporary test results icon임시 테스트 결과 — 테스트 관리자에서 수집했지만 결과 파일로 내보내지 않은 결과입니다. Test Manager에서 결과를 내보내면 대시보드는 임시 결과 대신 저장된 결과를 분석합니다. 또한 프로젝트를 닫거나 Simulink Test Result Explorer에서 결과 세트를 닫으면 대시보드가 ​​임시 결과 인식을 중지합니다. 후속 테스트 세션이나 프로젝트 세션에서 결과를 분석하려면 결과를 결과 파일로 내보냅니다.

  • 기타 — 시뮬레이션 결과가 아니거나, 단위 테스트에서 나온 것이 아니거나, 보고서일 뿐인 결과입니다. 예를 들어 SIL 결과는 시뮬레이션 결과가 아닙니다. 대시보드는 단위에 대한 지표에 이러한 결과를 사용하지 않습니다.

테스트 결과가 단위로 추적되지 않으면 추적 문제 폴더에 나타납니다. 테스트 결과가 Artifacts 패널에 표시되지 않거나 예상한 대로 테스트의 메트릭 결과가 표시되지 않는 경우 Resolve Missing Artifacts, Links, and Results를 참조하세요.

외부 MATLAB 함수를 사용하는 경우 Control Inlining for External MATLAB Functions을 참조하세요. 함수를 인라인하면 대시보드에 일관되지 않은 커버리지 측정 결과가 생성될 수 있습니다.

대시보드가 ​​프로젝트 파일 간의 종속성을 추적하는 방법에 대한 자세한 내용은 Monitor Artifact Traceability and Detect Outdated Results with Digital Thread를 참조하세요.

참고

모델 커버리지 메트릭은 요구 사항 커버리지를 지정하지 않습니다. 테스트 결과에서 Scope coverage results to linked requirements 확인란을 선택하면 대시보드는 해당 선택을 무시하고 대시보드에 나타나는 모델 커버리지 지표 결과의 범위를 지정하지 않습니다. Scope coverage results to linked requirements 옵션에 대한 자세한 내용은 Scoping Coverage for Requirements-Based Tests (Simulink Test)를 참조하세요.

추적 문제

Trace Issues 폴더에는 대시보드가 ​​어떤 단위나 구성 요소도 추적하지 않은 아티팩트가 표시됩니다. Trace Issues 폴더를 사용하여 아티팩트에 장치 또는 구성요소에 대한 추적성이 누락되었는지 확인하십시오. Trace Issues 폴더에는 추적 문제 유형을 식별하는 데 도움이 되는 하위 폴더가 포함되어 있습니다.

  • Unexpected Implementation Links유형 Container 또는 유형 Informational의 요구 사항에 대한 유형 Implements의 요구 사항 링크입니다. 대시보드에서는 이러한 링크가 유형 Implements일 것으로 예상하지 않습니다. 컨테이너 요구 사항 및 정보 요구 사항은 해당 요구 사항 세트의 구현 및 확인 상태에 기여하지 않기 때문입니다. 요구 사항을 구현하지 않으려는 경우 링크 유형을 변경할 수 있습니다. 예를 들어, 유형 Informational의 요구 사항을 변경하여 유형 Related to의 링크를 가질 수 있습니다.

  • Unresolved and Unsupported Links — 프로젝트에서 손상되었거나 대시보드에서 지원되지 않는 요구 사항 링크입니다. 예를 들어, 모델 블록이 요구 사항을 구현하지만 모델 블록을 삭제하면 이제 요구 사항 링크가 해결되지 않습니다. 대시보드는 일부 아티팩트 및 일부 링크에 대한 추적성 분석을 지원하지 않습니다.

  • Untraced Tests — 프로젝트 경로에 없는 모델이나 하위 시스템과 같은 하위 수준 요소에서 실행되는 테스트입니다.

  • Untraced Results — 대시보드가 ​​테스트를 추적할 수 없는 결과입니다. 예를 들어 테스트에서 결과가 생성되었지만 테스트를 삭제하면 대시보드에서 테스트 결과를 추적할 수 없습니다.

대시보드는 일부 아티팩트 및 일부 링크에 대한 추적성 분석을 지원하지 않습니다. 장치 또는 구성 요소를 추적할 것으로 예상되는 아티팩트가 추적되지 않는 경우 Resolve Missing Artifacts, Links, and Results의 문제 해결 솔루션을 참조하세요.

아티팩트 문제

분석 중에 오류, 경고 및 정보 메시지를 발생시키는 아티팩트에 대한 세부 정보를 보려면 도구 모음에서 Artifact Issues를 클릭하세요. 문제는 MATLAB 세션 간에 지속되며 심각도, 메시지, 소스 또는 메시지 ID를 기준으로 메시지를 정렬할 수 있습니다.

메시지는 다음과 같습니다.

  • 대시보드가 ​​지원하지 않는 모델링 구성

  • 대시보드가 ​​추적하지 않는 링크

  • 대시보드가 ​​지원하지 않는 테스트 하네스 또는 케이스

  • 커버리지가 누락된 테스트 결과 또는 시뮬레이션 결과

  • 대시보드가 ​​로드될 때 오류를 반환하는 아티팩트

  • 대시보드가 ​​비활성화하는 모델 콜백에 대한 정보

  • 경로에 없고 추적 중에 고려되지 않는 아티팩트

자세한 내용은 View Artifact Issues in Project를 참조하세요.

아티팩트 오류

대시보드가 ​​아티팩트 분석을 수행할 때 아티팩트가 오류를 반환한 경우 오차 폴더가 나타납니다. 추적성 분석 중에 아티팩트가 반환할 수 있는 몇 가지 오류는 다음과 같습니다.

  • 추적성 분석이 시작될 때 저장되지 않은 변경 사항이 있는 경우 아티팩트는 오류를 반환합니다.

  • 테스트 결과 파일이 이전 버전의 Simulink에 저장된 경우 오류를 반환합니다.

아티팩트 분석 중에 대시보드가 ​​발견한 경고 및 오류에 대한 세부 정보를 보려면 도구 모음에서 Artifact Issues를 클릭하세요. 이러한 아티팩트를 열고 오류를 수정하세요. 대시보드는 대시보드 상단에 배너를 표시하여 프로젝트Artifacts 패널에 표시된 아티팩트 추적 가능성이 오래되었음을 나타냅니다. 프로젝트Artifacts 패널의 데이터를 새로 고치려면 배너의 Trace Artifacts 버튼을 클릭하세요.