

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Teste com fluxos de trabalho
<a name="test-workflow-actions"></a>

Em CodeCatalyst, você pode executar testes como parte de diferentes ações do fluxo de trabalho, como criar e testar. Todas essas ações de fluxo de trabalho podem gerar relatórios de qualidade. Uma *ação de teste* é uma ação de fluxo de trabalho que produz relatórios de teste, cobertura de código, análise de composição de software e análise estática. Esses relatórios são exibidos no CodeCatalyst console.

**Topics**
+ [Tipos de relatório de qualidade](#test-reporting)
+ [Adição da ação de teste](test-add-action.md)
+ [Visualização dos resultados de uma ação de teste](test-view-results.md)
+ [Omissão dos testes com falha em uma ação](test.error-handling.md)
+ [Integrando com universal-test-runner](test.universal-test-runner.md)
+ [Configuração de relatórios de qualidade em uma ação](test-config-action.md)
+ [Melhores práticas de teste](test-best-practices.md)
+ [Propriedades SARIF compatíveis](test.sarif.md)

## Tipos de relatório de qualidade
<a name="test-reporting"></a>

A ação CodeCatalyst de teste da Amazon oferece suporte aos seguintes tipos de relatórios de qualidade. Para ver um exemplo de como formatar esses relatórios em seu YAML, consulte [Exemplo de relatórios de qualidade YAML](test-config-action.md#test.success-criteria-example).

**Topics**
+ [Relatórios de teste](#test-reports)
+ [Relatórios de cobertura de código](#test-code-coverage-reports)
+ [Relatórios de análise de composição de software](#test-sca-reports)
+ [Relatórios de análise estática](#test-static-analysis-reports)

### Relatórios de teste
<a name="test-reports"></a>

Em CodeCatalyst, você pode configurar testes de unidade, testes de integração e testes de sistema que são executados durante as compilações. Em seguida, CodeCatalyst pode criar relatórios que contêm os resultados dos seus testes.

Você pode usar um relatório de teste para ajudar a solucionar problemas com seus testes. Se tiver muitos relatórios de teste de várias compilações, você poderá usar seus relatórios de teste para visualizar taxas de falha para ajudá-lo a otimizar suas compilações.

É possível usar os seguintes formatos de arquivo de relatório de testes:
+ Cucumber JSON (.json)
+ JUnit XML (.xml)
+ NUnit XML (.xml)
+ NUnit3 XML (.xml)
+ TestNG XML (.xml)
+ Visual Studio TRX (.trx, .xml)

### Relatórios de cobertura de código
<a name="test-code-coverage-reports"></a>

Em CodeCatalyst, você pode gerar relatórios de cobertura de código para seus testes. CodeCatalyst fornece as seguintes métricas de cobertura de código:

Cobertura de linha  
Mede quantas declarações seus testes abrangem. Declaração é uma instrução única, que não inclui comentários.  
`line coverage = (total lines covered)/(total number of lines)`

Cobertura de ramificações  
Mede quantas ramificações seus testes cobrem de cada ramificação possível de uma estrutura de controle, como uma declaração `if` ou `case`.  
`branch coverage = (total branches covered)/(total number of branches)`

Os seguintes formatos de arquivo de relatório de cobertura de código são compatíveis:
+ JaCoCo XML (.xml)
+ SimpleCov JSON (gerado por [simplecov, não [simplecov-json](https://github.com/vicentllongo/simplecov-json)](https://github.com/simplecov-ruby/simplecov), .json)
+ Clover XML (versão 3, .xml)
+ Cobertura XML (.xml)
+ LCOV (.info)

### Relatórios de análise de composição de software
<a name="test-sca-reports"></a>

Em CodeCatalyst, você pode usar ferramentas de análise de composição de software (SCA) para analisar componentes do seu aplicativo e verificar se há vulnerabilidades de segurança conhecidas. Você pode descobrir e analisar relatórios do SARIF que detalham vulnerabilidades com severidades variadas e formas de corrigi-las. Os valores de gravidade válidos, do mais grave para o menos grave, são: `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` e `INFORMATIONAL`.

Os seguintes formatos de arquivo de relatório SCA são compatíveis:
+ SARIF (.sarif, .json)

### Relatórios de análise estática
<a name="test-static-analysis-reports"></a>

Você pode usar relatórios de análise estática (SA) para identificar defeitos no código de origem. Em CodeCatalyst, você pode gerar relatórios de SA para ajudar a resolver problemas em seu código antes de implantá-lo. Esses problemas incluem bugs, vulnerabilidades de segurança, problemas de qualidade e outras vulnerabilidades. Os valores de gravidade válidos, do mais grave para o menos grave, são: `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` e `INFORMATIONAL`.

CodeCatalyst fornece as seguintes métricas de SA:

Bugs  
Identifica vários possíveis bugs encontrados em seu código de origem. Esses bugs podem incluir problemas relacionados à segurança da memória. Veja a seguir um exemplo de um bug.  

```
// 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;
}
```

Vulnerabilidades de segurança  
Identifica várias vulnerabilidades de segurança possíveis encontradas em seu código de origem. Essas vulnerabilidades de segurança podem incluir problemas, como armazenar seus tokens secretos em texto simples.

Problemas de qualidade  
Identifica vários possíveis problemas de qualidade encontrados em seu código de origem. Esses problemas de qualidade podem incluir problemas relacionados às convenções de estilo. Veja a seguir um exemplo de um problema de qualidade.  

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

Outras vulnerabilidades  
Identifica várias outras vulnerabilidades possíveis encontradas em seu código de origem.

CodeCatalyst suporta os seguintes formatos de arquivo de relatório SA:
+ PyLint (.py)
+ ESLint (.js, .jsx, .ts, .tsx)
+ SARIF (.sarif, .json)