Conceito: Observação e Análise de Tempo de Execução
Esta diretriz descreve a Observação e Análise de Tempo de Execução. Esta é a observação do software durante a execução e a análise de tempo de execução das observações capturadas, em que os caminhos são rastreados através dos componentes de software e, em seguida, agregados para compreensão do comportamento global do sistema por meio de conclusão estatística.
Relacionamentos
Elementos Relacionados
Descrição Principal

Introdução

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.

Observando o Comportamento de Tempo de Execução

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.

Analisando Observações de Tempo de Execução

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.

Suporte à Ferramenta Automatizada

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.

Consulte PurifyPlus para obter informações adicionais sobre as ferramentas de observação e análise de tempo de execução.