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.
Consulte PurifyPlus para obter informações adicionais sobre as ferramentas de
observação e análise de tempo de execução.
|