Quanto mais tarde um defeito é corrigido, mais cara é a sua correção.


Por que um defeito ocorre?
  • Software não faz o que a especificação diz para fazer;
  • Software faz algo que na especificação diz para não fazer;
  • Software faz algo que a especificação do produto não menciona;
  • Software não faz algo que a especificação do produto menciona;
  • Software é difícil de entender, difícil de usar, lento, ou simplesmente aos olhos do testador o “usuário não gostará”.

Tipos de Defeitos:
1.            Defeitos de interface com os usuários
  • Defeitos da funcionalidade – Ocorrem quando o software executa uma ação não especificada nos seus requisitos ou quando o requisito especifica uma coisa e o software faz outra.
  • Defeitos de usabilidade – São defeitos decorrentes da dificuldade para se navegar em uma aplicação.
  • Defeitos de desempenho – O programa não atende com rapidez necessária às solicitações do usuário, especialmente no caso dos sistemas interativos. Existem estudos que indicam um tempo máximo de 3 segundos como o tempo máximo que o usuário suporta sem desviar a sua atenção para outra coisa.
  • Defeitos de saída – Os resultados apresentados pelo software não estão conforme definido pelas especificações fornecidas pelo usuário ou foram mal projetadas dificultando a sua análise.

2.            Defeitos no manuseio de defeitos
  • Prevenção dos defeitos – O programa não se protege das entradas de dados não previstas que posteriormente são processadas de forma inadequada. O software pode, por exemplo, aceitar valores em branco em campos numéricos.
  • Detecção dos defeitos – O programa não trata (ou trata inadequadamente) as indicações de defeitos resultados das suas operações, tais como: overflow, flags de defeitos, etc. Nestes casos deveria ser dado um aviso da ocorrência do problema.
  • Recuperação dos defeitos – Mesmo detectando o defeito, o programa falha porque não trata adequadamente a situação.

3.            Defeitos de limites
O programa não consegue tratar ou trata inadequadamente valores extremos (o maior, o menor, o primeiro, o último, etc) ou fora dos limites estabelecidos.

4.            Defeitos de cálculo
O programa efetua um cálculo e produz um resultado errado, causado basicamente por: lógica errada, defeito de codificação e/ou imprecisão no cálculo.

5.            Defeitos de inicialização ou fechamento
Alguns programas ou rotinas devem ser inicializados respectivamente quando usados pela primeira vez ou sempre que são chamadas para execução. Muitos no momento da inicialização criam um arquivo em disco, a ausência deste arquivo poderá causar problemas nas etapas seguintes do processamento.

6.            Defeitos de controle de fluxo
O controle de fluxo controla, em determinadas circunstâncias, o que o programa fará a seguir. Um defeito deste tipo leva o programa fazer coisas erradas, parando ou tendo comportamento inesperado.

7.            Defeitos de manuseio ou de interpretação de dados
Ocorre quando um programa tem que passar um grupo de dados para outro programa. No processo, os dados podem ser corrompidos ou interpretados incorretamente. As últimas modificações de dados podem ser perdidas ou estar disponível no momento errado.

8.            Defeitos de condições de disputa
Ocorre quando o programa espera pela resposta dos eventos A e B, sendo que é suposto que A sempre termine primeiro. Se por algum problema B terminar primeiro, o programa pode não estar preparado para esta situação e apresentar resultados inesperados.

9.            Defeitos de carga
O programa não pode suportar um pico de serviço em um determinado momento (estresse) ou uma carga alta de serviço por um tempo muito prolongado. Por exemplo, os testes previram um pico de processamento, porém não previram este pico por um tempo prolongado.

10.         Defeitos de hardware ou software
São defeitos decorrentes da incompatibilidade entre o programa e o ambiente onde está sendo processado, gerando falhas de comunicação entre ambos.

11.         Defeitos de controle de versões
Acontece devido a uma falha no processo de gestão de configuração.
Quando a versão de um programa é ligada com versões diferentes de outros componentes. Deve haver controle de configuração não apenas nos artefatos de desenvolvimento quanto nos artefatos de teste.
O defeito está associado a vários fatores como, por exemplo: o processo de software, a execução das atividades, o ambiente de trabalho, o hardware, o software e vários outros fatores podem auxiliar para que o defeito ocorra.
Quando um software falha, dependendo da cultura da empresa ou do testador, serão usados diferentes termos para explicar essa ocorrência, vamos esclarecer o significado comum entre eles:
  • Falha, defeito representa de forma semelhante “o software falhou em não funcionar corretamente ou em não fazer a coisa correta”.
  • Anomalia, incidência, variança representam um “funcionamento eventual ou involuntário do software”.
  • Problema, erro, “bug” são termos genéricos.

Nenhum comentário:

Postar um comentário