Uma equipe de desenvolvedores está utilizando o Coverage.py para medir a cobertura de testes de seu código. O objetivo é garantir que o código esteja sendo amplamente testado, para evitar falhas e garantir o bom funcionamento do sistema. Durante a análise, a equipe percebe que algumas partes do código não estão sendo cobertas pelos testes, o que pode resultar em falhas inesperadas. Com base nesse cenário, assinale a alternativa que identifica o uso do Coverage.py:
Questão
Uma equipe de desenvolvedores está utilizando o Coverage.py para medir a cobertura de testes de seu código. O objetivo é garantir que o código esteja sendo amplamente testado, para evitar falhas e garantir o bom funcionamento do sistema. Durante a análise, a equipe percebe que algumas partes do código não estão sendo cobertas pelos testes, o que pode resultar em falhas inesperadas. Com base nesse cenário, assinale a alternativa que identifica o uso do Coverage.py:
Alternativas
a) O Coverage.py mostra a cobertura de código em tempo real, indicando imediatamente quais partes do código precisam de mais testes.
b) O Coverage.py indica a porcentagem de linhas de código não executadas durante os testes, mas não fornece detalhes sobre falhas específicas.
c) O Coverage.py é usado para monitorar o tempo de execução dos testes, sem fornecer informações sobre a cobertura de código.
d) O Coverage.py é uma ferramenta de depuração que ajuda a corrigir erros de código automaticamente, garantindo que o código esteja livre de falhas.
e) A ferramenta Coverage.py é usada para medir o número de falhas encontradas durante a execução dos testes, ajudando a identificar erros no código.
Explicação
-
O Coverage.py é uma ferramenta voltada a medir cobertura de código: ele identifica quais linhas/trechos do programa foram executados (ou não) quando a suíte de testes roda.
-
Assim, ele gera relatórios (por exemplo, por arquivo/módulo) com percentuais de cobertura e destaque das linhas não cobertas. Isso ajuda a equipe a localizar partes do código que ainda não foram exercitadas por testes.
-
Importante: o Coverage.py não é uma ferramenta de depuração, não corrige erros automaticamente e não tem como objetivo indicar “falhas específicas” (isso é papel dos frameworks/relatórios de testes, logs e depuradores). Ele aponta execução/cobertura, não a causa detalhada de uma falha.
-
Analisando as alternativas:
- (a) “em tempo real” é impreciso: o uso típico é gerar relatórios após/ao final da execução (ainda que possa ser integrado a pipelines), não como um painel instantâneo contínuo.
- (b) descreve corretamente o propósito: mostrar cobertura/linhas não executadas e não detalhar falhas.
- (c), (d) e (e) descrevem outros tipos de ferramenta (performance, depuração/auto-correção, contagem de falhas) e não cobertura.
Alternativa correta: (b).