teste de software
Depuração
Prof. Daniel Silos
1ª Edição
Depuração
Ocorre como consequência de teste bem sucedido (descoberta de erro);
É a ação que resulta na reparação do erro.
Pode e deve ser um processo ordenado, mas ainda é excessivamente uma arte.
2
Depuração
O processo de depuração
Não é teste, mas sempre ocorre consequência deste.
Apresenta dois possíveis resultados:
1.
2.
3
A causa é encontrada e corrigida;
A causa não é encontrada.
como
Depuração
O processo de depuração
Por que é tão difícil?
1.
2.
3.
4.
4
O sintoma e a causa podem ser geograficamente remotos; O sintoma pode desaparecer (temporariamente) quando outro erro é corrigido;
O sintoma pode ser causado por não-erros (ex: imprecisões de arredondamento).
O sintoma pode ser causado por erro humano (difícil de rastrear).
Depuração
O processo de depuração
Por que é tão difícil?
5.
6.
7.
8.
5
O sintoma pode ser resultado de problema de tempo (não de processamento);
Pode ser difícil reproduzir precisamente condições de entrada (aplicação em tempo real na qual a ordem das entradas é indeterminada);
O sintoma pode ser intermitente. Isso é particularmente comum em sistemas embutidos.
O sistema pode ser devido a causas que estão distribuídas em várias tarefas sendo executadas em diferentes processadores. Depuração
Abordagens de Depuração
“A depuração é uma aplicação direta do método científico que foi desenvolvido durante 2.500 anos.
A base da depuração é localizar a fonte do problema [a causa] por particionamento binário, por meio de hipóteses de trabalho que prevêem novos valores a serem examinados.”
Bradley, J.H.
6
Depuração
Abordagens de Depuração
Três estratégias:
1.
2.
3.
7
Força bruta
Rastreamento;
Eliminação de causa.
Depuração
Táticas de Depuração
Força Bruta
Rastreamento
8
mais