使用工作流进行测试 - 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)

分支覆盖率

衡量在 ifcase 语句等控制结构的每个可能分支中,测试覆盖了多少分支。

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

支持以下代码覆盖率报告文件格式:

  • JaCoCo XML(.xml)

  • SimpleCov JSON(由 simplecov 生成,而非 simplecov-json、.json)

  • Clover XML(版本 3,.xml)

  • Cobertura XML(.xml)

  • LCOV(.info)

软件组成分析报告

在 CodeCatalyst 中,您可以使用软件组成分析(SCA)工具来分析应用程序的组件并检查是否存在已知的安全漏洞。您可以发现并解析 SARIF 报告,其中详细列出了不同严重程度的漏洞以及修复方法。有效的严重程度值(按严重程度从高到低)为 CRITICALHIGHMEDIUMLOWINFORMATIONAL

支持以下 SCA 报告文件格式:

  • SARIF(.sarif、.json)

静态分析报告

您可以使用静态分析(SA)报告来识别源代码级缺陷。在 CodeCatalyst 中,您可以生成 SA 报告,以便于在部署代码前解决代码中的问题。这些问题包括错误、安全漏洞、质量问题和其它漏洞。有效的严重程度值(按严重程度从高到低)为 CRITICALHIGHMEDIUMLOWINFORMATIONAL

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 支持以下 SA 报告文件格式:

  • PyLint(.py)

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

  • SARIF(.sarif、.json)