워크플로를 사용한 테스트 - Amazon CodeCatalyst

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

워크플로를 사용한 테스트

CodeCatalyst에서 빌드 및 테스트와 같은 다양한 워크플로 작업의 일부로 테스트를 실행할 수 있습니다. 이러한 워크플로 작업은 모두 품질 보고서를 생성할 수 있습니다. 테스트 작업은 테스트, 코드 적용 범위, 소프트웨어 구성 분석 및 정적 분석 보고서를 생성하는 워크플로 작업입니다. 이러한 보고서는 CodeCatalyst 콘솔에 표시됩니다.

품질 보고서 유형

Amazon CodeCatalyst 테스트 작업은 다음과 같은 유형의 품질 보고서를 지원합니다. YAML에서 이러한 보고서를 포맷하는 방법에 대한 예시는 품질 보고서 YAML 예시 섹션을 참조하세요.

테스트 보고서

CodeCatalyst에서 빌드 중에 실행되는 단위 테스트, 통합 테스트 및 시스템 테스트를 구성할 수 있습니다. 그런 다음 CodeCatalyst는 테스트 결과를 포함하는 보고서를 생성할 수 있습니다.

테스트 보고서를 사용하여 테스트 문제를 해결할 수 있습니다. 빌드 프로젝트의 여러 빌드에 많은 테스트 보고서가 있는 경우 테스트 보고서를 사용하여 추세와 테스트 및 실패율을 보고 빌드를 쉽게 최적화할 수 있습니다.

다음 테스트 보고서 파일 형식을 사용할 수 있습니다.

  • Cucumber JSON(.json)

  • JUnit XML(.xml)

  • NUnit XML(.xml)

  • NUnit3 XML(.xml)

  • TestNG XML(.xml)

  • Visual Studio TRX (.trx, .xml)

코드 적용 범위 보고서

CodeCatalyst에서는 테스트에 대한 코드 적용 범위 보고서를 생성할 수 있습니다. CodeCatalyst는 다음과 같은 코드 적용 범위 지표를 제공합니다.

행 범위

행 범위는 테스트에서 다루는 명령문 수를 측정합니다. 문은 설명이 포함되지 않은 단일 명령어입니다.

line coverage = (total lines covered)/(total number of lines)

브랜치 적용 범위

또는 문과 같은 제어 구조의 가능한 모든 브랜치 중 테스트에서 다루는 분기 수(if 또는 case)를 측정합니다.

branch coverage = (total branches covered)/(total number of branches)

지원되는 코드 범위 보고서 파일 형식은 다음과 같습니다.

  • JaCoCo XML(.xml)

  • SimpleCov JSON(simplecov-json, .json이 아닌 simplecov에서 생성됨)

  • Clover XML(버전 3, .xml)

  • Cobertura XML(.xml)

  • LCOV(.info)

소프트웨어 구성 분석 보고서

CodeCatalyst에서 소프트웨어 구성 분석(SCA) 도구를 사용하여 애플리케이션의 구성 요소를 분석하고 알려진 보안 취약성을 확인할 수 있습니다. 심각도가 다양한 취약성과 이를 수정하는 방법을 자세히 설명하는 SARIF 보고서를 검색하고 구문 분석할 수 있습니다. 최대부터 최소 심각도까지 유효한 심각도 값은 CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL입니다.

지원되는 SCA 보고서 파일 형식은 다음과 같습니다.

  • SARIF(.sarif, .json)

정적 분석 보고서

정적 분석(SA) 보고서를 사용하여 소스 수준 코드 결함을 식별할 수 있습니다. CodeCatalyst에서 SA 보고서를 생성하여 코드를 배포하기 전에 코드 문제를 해결할 수 있습니다. 이러한 문제에는 버그, 보안 취약성, 품질 문제 및 기타 취약성이 포함됩니다. 최대부터 최소 심각도까지 유효한 심각도 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

CodeCatalyst는 다음과 같은 SA 지표를 제공합니다.

버그

소스 코드에서 발견된 가능한 버그 수를 식별합니다. 이러한 버그에는 메모리 안전성에 관한 문제가 포함될 수 있습니다. 다음은 버그의 예시입니다.

// The while loop will inadvertently index into array x out-of-bounds int x[64]; while (int n = 0; n <= 64; n++) { x[n] = 0; }
보안 취약성

소스 코드에서 발견된 여러 가지 가능한 보안 취약성을 식별합니다. 이러한 보안 취약성에는 보안 암호 토큰을 일반 텍스트로 저장하는 등의 문제가 포함될 수 있습니다.

품질 문제

소스 코드에서 발견된 여러 가지 가능한 품질 문제를 식별합니다. 이러한 품질 문제에는 스타일 규칙과 관련된 문제가 포함될 수 있습니다. 다음은 품질 문제의 예입니다.

// The function name doesn't adhere to the style convention of camelCase int SUBTRACT(int x, int y) { return x-y }
기타 취약성

소스 코드에서 발견된 여러 가지 가능한 보안 취약성을 식별합니다.

CodeCatalyst에서 지원되는 코드 적용 범위 보고서 파일 형식은 다음과 같습니다.

  • PyLint(.py)

  • ESLint(.js, .jsx, .ts, .tsx)

  • SARIF(.sarif, .json)