Árvore de páginas

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.

  • Sem rótulos