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 tabela | Descrição |
---|---|
PROBAT_CODECOVERAGE_TOTAL | Percentual Total de cobertura sumarizado por todos os fontes |
PROBAT_CODECOVERAGE_SOURCES | Percentual Total de cobertura por fonte |
PROBAT_CODECOVERAGE_LINES | Informação linha a linha por fonte sobre a cobertura |
Abaixo, podemos ver a estrutura de cada tabela.
PROBAT_CODECOVERAGE_TOTAL
Campo | Tipo | Descrição |
---|---|---|
CODE_EXEC | C | Código interno da execução dos testes |
SOURCES | N | Quantidade TOTAL de fontes percorridos pela Cobertura |
LINES | N | Quantidade TOTAL de linhas percorridos pela Cobertura |
COVERAGE | N | Percentual TOTAL de Cobertura, considerando fontes oficiais e testes |
COVERAGE_FRAME | N | Percentual TOTAL de Cobertura de SOMENTE dos fontes oficiais |
COVERAGE_TEST | N | Percentual TOTAL de Cobertura de SOMENTE dos fontes de testes |
PROBAT_CODECOVERAGE_SOURCES
Campo | Tipo | Descrição |
---|---|---|
CODE_EXEC | C | Código interno da execução dos testes |
RUN | C | 0 = Fonte não foi executado durante os testes, 1 = Fonte foi executado |
CODE_SRC | N | Código interno do fonte oficial |
CODE_TST | N | Código interno do fonte de teste |
SOURCE | C | Nome do fonte |
LINES | N | Quantidade total de linhas do fonte |
COVERAGE | N | Percentual de Cobertura para esse fonte |
PROBAT_CODECOVERAGE_LINES
Campo | Tipo | Descrição |
---|---|---|
CODE_EXEC | C | Código interno da execução dos testes |
CODE_SRC | N | Código interno do fonte oficial |
CODE_TST | N | Código interno do fonte de teste |
SOURCE | C | Nome do fonte |
LINE | C | Número da linha |
COVERAGE | N | Cobertura: -1 = Linha não Debugável, 0 = Não executou a linha, >0 = Quantidade de vezes que executou a linha durante os testes |
CHANGE | C | Em 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
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.