Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Ao ligar esse recurso, ao final dos testes os resultados de cobertura serão persistidos em SQLite, portanto podem ser consultados posteriormente, basta apenas acessar as tabelas descritas abaixo:

Importante ressaltar que o PROBAT somente registra a última execução de cobertura de código em SQLite.

Tabelas no SQLite

Possuímos 3 (três) tabelas contendo dados de cobertura dos fontes.

Nome tabelaDescrição
PROBAT_CODECOVERAGE_TOTALPercentual Total de cobertura sumarizado por todos os fontes
PROBAT_CODECOVERAGE_SOURCESPercentual Total de cobertura por fonte
PROBAT_CODECOVERAGE_LINESInformação linha a linha por fonte sobre a cobertura

Abaixo, podemos ver a estrutura de cada tabela.

PROBAT_CODECOVERAGE_TOTAL
CampoTipoDescrição
CODE_EXECCCódigo interno da execução dos testes
SOURCESNQuantidade TOTAL de fontes percorridos pela Cobertura
LINESNQuantidade TOTAL de linhas percorridos pela Cobertura
COVERAGENPercentual TOTAL de Cobertura, considerando fontes oficiais e testes
COVERAGE_FRAMENPercentual TOTAL de Cobertura de SOMENTE dos fontes oficiais
COVERAGE_TESTNPercentual TOTAL de Cobertura de SOMENTE dos fontes de testes
PROBAT_CODECOVERAGE_SOURCES
CampoTipoDescrição
CODE_EXECCCódigo interno da execução dos testes
RUNC0 = Fonte não foi executado durante os testes, 1 = Fonte foi executado
CODE_SRCNCódigo interno do fonte oficial
CODE_TSTNCódigo interno do fonte de teste
SOURCECNome do fonte
LINESNQuantidade total de linhas do fonte
COVERAGENPercentual de Cobertura para esse fonte
PROBAT_CODECOVERAGE_LINES
CampoTipoDescrição
CODE_EXECCCódigo interno da execução dos testes
CODE_SRCNCódigo interno do fonte oficial
CODE_TSTNCódigo interno do fonte de teste
SOURCECNome do fonte
LINECNúmero da linha
COVERAGENCobertura: -1 = Linha não Debugável, 0 = Não executou a linha, >0 = Quantidade de vezes que executou a linha durante os testes
CHANGECEm algum momento o appserver trocou a informação se a linha é ou não debugável, indicando bug, sendo: 0 = Comportamento Correto, 1 = Bug

Conclusão

Como podemos observar, temos informações com diversos espectros para análise da Cobertura de Código de nosso projeto, portanto:

Considerando a tabela PROBAT_CODECOVERAGE_TOTAL, conseguimos ter uma visão sintética da Cobertura de forma geral, obtendo os percentuais: Total (todos os fontes), Total por Fontes Oficiais e Total por Fontes de testes, nos possibilitando tomar algumas decisões automatizadas.

Ao olhar para a tabela PROBAT_CODECOVERAGE_SOURCES, temos uma visão intermediária entre a sintética e a analítica, nos possibilitando enxergar a cobertura de código por cada fonte de nosso projeto, seja ele oficial ou de teste.

Agora, quando olhamos para a tabela PROBAT_CODECOVERAGE_LINES temos a visão analítica de cada fonte, nos dando a possibilidade de saber linha a linha de todos os nossos fontes, se foram ou não executadas. Assim, podemos melhorar nossos fontes oficiais e também os testes para aumentar a qualidade e/ou cobertura, ou descobrir implementações dos fontes oficiais que são desnecessárias ou inalcançáveis.