Conceitos: Observação
e Análise de Tempo de Execução
Tópicos
A observação e análise subseqüente do comportamento de tempo de execução de um
componente de software é uma importante prática na depuração bem-sucedida do software.
A compreensão do comportamento de tempo de execução do software envolve duas práticas principais:
- Observação do software durante a execução do tempo de execução.
- Análise das observações capturadas.
As técnicas de observação e análise de tempo de execução em si não são dependentes do
teste até o momento, uma vez que o comportamento de tempo de execução pode ser observado e
analisado sem o requisito para entradas de teste predefinidas ou o uso de técnicas de teste para
estimular o comportamento do aplicativo. No entanto, o teste pode ser combinado com sucesso
com as técnicas e ferramentas de observação de tempo de execução: por exemplo, as ferramentas que automatizam
a observação de tempo de execução podem ser executadas durante a execução do teste, aprimorando
a visibilidade do comportamento de tempo de execução do componente que ocorre em resposta ao teste.
Embora seja importante observar com cuidado todo o comportamento que ocorre
durante a execução do tempo de execução do software, há geralmente pontos de observação
significativos que são úteis para monitoração específica. Geralmente, esses pontos de observação
significativos são:
- Pontos de decisão nos quais o caminho de lógica do software está prestes a, ou
acabou de, ramificar.
- Pontos de conclusão nos quais um caminho de lógica importante foi concluído,
geralmente resultando em uma alteração de teste dentro do ambiente de software.
- Um ponto de interface entre dois componentes de aplicativos separados.
- Um ponto de interface entre o software e seu ambiente de execução,
incluindo quaisquer interfaces nos componentes de hardware.
Esses pontos de observação também podem ser alinhados com os pontos de controle nos
quais pode ser desejável alterar o estado do aplicativo ou o fluxo de controle por
meio dos caminhos de lógica. Essas questões são geralmente referidas como PCO (Points of Control and
Observation).
A observação do tempo de execução exclui os métodos de observação estáticos como uma
abordagem principal, como por exemplo, a revisão do código fonte do software estático ou dos relacionamentos
entre os blocos de construção do software capturados nos modelos visuais e outros. Em vez disso,
ela requer um componente de software executável e oferece informações valiosas,
não disponíveis por meio de outras técnicas de depuração, sobre como o componente
desenvolvido se comporta quando executado, no ambiente de teste ou no ambiente de
implementação final. As observações capturadas do comportamento de tempo de execução podem,
subseqüentemente, ser relacionadas a elementos estáticos para fornecer percepção adicional.
A análise de tempo de execução do software é simplesmente a prática de compreender o
comportamento de um componente de software, analisando os dados coletados durante a execução
do tempo de execução do componente. Durante o desenvolvimento do componente pelo Implementador,
a observação e a análise de tempo de execução são um aspecto das atividades de depuração
tratado pelo Implementador.
Em razão do possível volume de informações de nível inferior que podem ser capturadas
do comportamento de tempo de execução, da velocidade na qual essas informações são geradas
e da subseqüente dificuldade para entender a quantidade possivelmente enorme de informações,
o suporte a ferramentas automatizadas é um fator essencial para tornar essa prática possível. Há
várias abordagens que podem ser utilizadas para você mesmo fornecer suporte a ferramentas
e há muitas ferramentas comercialmente disponíveis para você mesmo criar, e assim
economizar tempo, esforço e custo.
|