Os recursos de cobertura de código (Code Coverage) do Cantata podem ser integrados com os testes do Cantata ou com qualquer “driver” de teste externo.

Ele fornece uma medida objetiva da completude da execução do teste, para suplementar os testes baseados em requisitos e de robustez.

O Que é o Code Coverage?

“Code Coverage” é uma técnica de análise dinâmica para medir quais partes do código foram executadas por testes. A estrutura lógica dentro do código pode ser identificada por construções individuais (elementos de sintaxe). A medição desses elementos individuais é registrada usando métricas de cobertura de código estrutural.

A análise de cobertura de código é usada para identificar lacunas de teste em que o código não é exercitado por abordagens orientadas por requisitos e testes de robustez.

A análise de cobertura é necessária para a conformidade com todos os standards internacionais de segurança de software, com níveis de segurança mais altos, exigindo a obtenção de métricas de cobertura mais rigorosas.

“Using coverage helped us to really think about whether certain functions and blocks were needed. We confirmed great confidence in our software as everything had been tested to 100% decision coverage"

Rolf Keller, Software Engineer,

“Cantata automatically generates test reports that prove what has been tested and how extensive the test coverage was for each test case”

Johnny Johansson, Global Validation & Verification Tools Manager, SAAB

O que o Cantata Code Coverage me ajuda a fazer?

MEDIÇÃO DE COBERTURA

A cobertura de código é medida usando as métricas em baixo, com conjuntos de regras específicos para verificação integrada dos níveis de cobertura de código necessários de acordo com os standards aplicáveis.

  • Pontos de entrada de função
  • Retorno de chamada de função
  • Blocos Básicos
  • Statements
  • Decisões (ramos)
  • Ciclos
  • Operadores Relacionais
  • Operadores Booleanos
  • Condições
  • MC / DC (variantes de causa única e mascaradas)

DIAGNOSTICAR RESULTADOS DO COBERTURA

Os diagnósticos do Cantata apresentam cobertura de árvores-código de projeto completas, detalhando construções de código individuais dentro de cada linha de código, ajudando-o a identificar falhas e a direcionar o esforço de teste de forma eficiente.

A otimização da cobertura automática de casos de teste ajuda a seleção de vetores de casos de teste de grandes conjuntos de dados e reduz a sobrecarga de testes de regressão.

UNDERSTAND BUILD VARIANT COVERAGE

Build Variant Coverage understands source code executed over more than one build variant. Cantata uses pre-compiled defines (#defines) to separately identify the different build variants. Cantata Coverage Viewer displays aggregated data for multiple build variants, of the same source code.

RESULTADOS DE COBERTURA DO FILTRO

O Cantata fornece filtragem inigualável de dados de cobertura de código através da seleção de:

  • Métricas de cobertura
  • Projetos
  • Casos de teste
  • Contextos de herança
  • Contextos definidos pelo utilizador
  • Ficheiros de Cobertura

O Cantata também pode rastrear a cobertura de código durante a execução de casos de teste individuais.

GERAR RELATÓRIOS

Além dos poderosos diagnósticos de resultados de cobertura de código dentro da GUI do Eclipse®, o Cantata gera relatórios flexíveis, configuráveis pelo utilizador, em relatórios, prontos para certificação, em XML, HTML e em texto ASCII e HTML.

 Os relatórios e as evidências de certificação incorporam as verificações no cumprimento das metas métricas de cobertura necessárias.

Como funciona o Cantata Code Coverage?

A Cantata Coverage usa instrumentação (via GUI ou linha de comandos) numa cópia do código-fonte, os dados de cobertura são registados para diagnóstico gráfico e prontos para evidência de certificação.

A análise de cobertura pode ser usada integrada com os testes do Cantata ou usada para medir a execução de outros testes, e os dados de vários testes podem ser facilmente combinados. 

A análise é simplificada por conjuntos de regras de cobertura personalizáveis, que automatizam toda a instrumentação de código, relatório de dados e verificação de cobertura necessária, para todos os principais standards de segurança de software.