Saltar para o conteúdo

Cobertura de falhas

Origem: Wikipédia, a enciclopédia livre.

Cobertura de falhas se refere à porcentagem de algum tipo de falha que possa ser detectada durante o teste de qualquer sistema projetado. A alta cobertura de falhas é particularmente valiosa durante o teste de fabricação, e técnicas como Design For Test (DFT) e geração automática de padrão de teste são usadas para aumentá-la.

Na eletrônica, por exemplo, a cobertura de falha presa é medida colando cada pino do modelo de hardware na lógica '0' e lógica '1', respectivamente, e executando os vetores de teste. Se pelo menos uma das saídas difere do que se espera, a falha é considerada detectada. Conceitualmente, o número total de execuções de simulação é duas vezes o número de pinos (uma vez que cada pino está preso em uma das duas maneiras, e ambas as falhas devem ser detectadas). No entanto, existem muitas otimizações que podem reduzir a computação necessária. Em particular, muitas vezes muitas falhas não interagentes podem ser simuladas em uma execução e cada simulação pode ser encerrada assim que uma falha for detectada.

Um teste de cobertura de falha passa quando pelo menos uma porcentagem especificada de todas as falhas possíveis pode ser detectada. Se não passar, pelo menos três opções são possíveis. Primeiro, o designer pode aumentar ou melhorar o conjunto de vetores, talvez usando uma ferramenta de geração automática de padrão de teste mais eficaz. Em segundo lugar, o circuito pode ser redefinido para melhor detecção de falhas (maior capacidade de controle e observação). Terceiro, o projetista pode simplesmente aceitar a cobertura mais baixa.

Cobertura de testes (computação)[editar | editar código-fonte]

O termo cobertura de testes usado no contexto de programação/engenharia de software, refere-se à medição de quanto um programa de software foi exercido por testes.[1][2] A cobertura é um meio de determinar o rigor com que a questão subjacente ao teste foi respondida. Existem muitos tipos de cobertura de teste:

  • cobertura de código,
  • cobertura de recursos,
  • cobertura do cenário,
  • cobertura do item da tela,
  • cobertura do modelo.

Cada um desses tipos de cobertura assume que existe algum tipo de linha de base que define o sistema em teste. O número de tipos de cobertura de teste, portanto, varia conforme o número de maneiras de definir o sistema.

Por exemplo, na cobertura de código:

  • uma instrução específica já foi executada?
  • quantas vezes uma instrução foi executada?
  • todas as instruções em um programa foram executadas, pelo menos uma vez?
  • todos os pontos de decisão no código foram exercidos de forma que todos os caminhos de decisão tenham sido seguidos?
  • a última otimização reduziu significativamente o comprimento do caminho da instrução?

Referências

  1. «Test Coverage In Software Testing (Tips To Maximize Testing Coverage)». Software Testing Help. 27 de março de 2021. Consultado em 8 de abril de 2021 
  2. «Why Test Coverage is an Important part of Software Testing?». SIMFORM. 16 de março de 2018. Consultado em 8 de abril de 2021 

Ligações externas[editar | editar código-fonte]