• Nenhum resultado encontrado

7.6 Análise do Projeto Experimental 5 Densidade de faltas

7.7.1 Técnica de Análise de Dependência em Máquinas de Estados Finitas

Finitas Estendidas – T

1

O algoritmo executado pela técnica T1realiza uma análise nas transições e estados do modelo

identificando dependências de dados e controle entre as modificações realizadas na máquina de estados e os estados, transições e variáveis. A partir destas dependências, são identificados os elementos do modelo afetados pela modificação, e então, os casos de teste que exercitam estes elementos afetados são selecionados para a suíte de testes reduzida. Um resumo dos

7.7 Análise das Técnicas 126

resultados de T1é apresentado na Tabela 7.2.

Tabela 7.2: Resumo dos resultados (média aritmética) observados para T1.

Inclusão Precisão Eficiência (ns) Potencial de Redução Densidade de Faltas 50% 28, 16 1, 52 · 1011 60, 15% 34, 78%

Considerando que a técnica realiza uma densa análise de dependência entre todos os elementos do modelo, a partir das modificações, é esperado um grande tempo de processa- mento da técnica. Este aspecto foi observado no experimento, onde a técnica apresentou o pior desempenho de eficiência. A técnica apresentou um tempo de processamento médio de 152, 25 segundos (com desvio-padrão de 2, 3 s), ou seja 2, 53 minutos para executar. Se for considerado também o tempo de configuração da técnica (redução da redundância na suíte de teste, leitura dos arquivos XMI, etc.), o tempo de processamento aumenta para cerca de 30 minutos.

A impressão obtida durante a execução da técnica no experimento é que o aumento na quantidade de modificações no modelo caracteriza um aumento significativo na quantidade de tempo na análise de dependências. Diante disto, é recomendado melhorar aspectos da técnica, como as condições de parada e o caminhamento no modelo, assim como melhorar aspectos de execução do algoritmo, como estruturas de repetições ou estruturas de dados.

Apesar de ser pouco eficiente, T1 apresenta um comportamento regular para as demais

variáveis dependentes analisadas. A partir dos resultados de inclusão da técnica, verificamos que T1 selecionou 50% dos casos de teste que revelam faltas de regressão, sendo capaz

de capturar em média 6, 57 (com desvio-padrão de 0, 68) faltas de um total de 10 faltas especificadas.

Podemos observar, então, que, apesar de selecionar apenas 50% dos casos de teste que capturam faltas de regressão T1foi capaz de cobrir mais que a metade das faltas presentes no

modelo. Esta característica é observada na técnica, pois são selecionados casos de teste com diferentes padrões de interação (i.e. possuem um mesmo conjunto de dependências no mo- delo). Dessa forma, os casos de teste selecionados são diferentes, aumentando a quantidade de caminhos cobertos pela suíte selecionada.

Por sua vez, a precisão apresentada pela técnica é baixa, em especial quando comparada com as técnicas T2 e T4. Este aspecto é atribuído à análise de dependência. Durante esta

7.7 Análise das Técnicas 127

análise, a técnica identifica os elementos do modelo afetados pela modificação e seleciona os casos de teste que cobrem estas dependências afetadas.

Diante disto, observamos que durante o experimento, a técnica seleciona diversos casos de teste que não estão relacionados com as modificações em si, no entanto estão relacionados com algum elemento do modelo afetado pela modificação. Estes casos de teste possuem, geralmente, padrões de interações distintos dos padrões encontrados nos casos de teste que possuíam as faltas de regressão. Portanto, o algoritmo da técnica selecionou diversos casos de teste que não possuíam faltas de regressão, o que justifica a baixa precisão observada neste estudo experimental.

Apesar dos baixos resultados de eficiência, inclusão e precisão, a técnica apresentou re- sultados muito bons com relação ao seu potencial de redução. Assim como defendem os autores da técnica [Korel et al. 2002], T1 apresentou um bom potencial de redução, sendo

capaz de reduzir em média 60, 15% (com desvio padrão de 2, 97) da suíte de testes de re- gressão. Durante o experimento, foi observado que diversos dos casos de teste que exerci- tavam as modificações possuíam os mesmos padrões de interação, e portanto, estes casos de teste não foram selecionados para a suíte reduzida.

Sob a perspectiva da densidade de faltas da técnica, é observado que T1 possui, em sua

suíte reduzida, uma média de 41, 29% (com desvio-padrão de 5, 54) de casos de teste que capturam faltas de regressão. Assim como na análise de inclusão, T1 apresenta um desem-

penho regular, onde não é observado nem o melhor nem o pior desempenho. A densidade de faltas regular de T1é justificada pelo seu desempenho de inclusão e precisão.

Apesar de selecionar 50% de todos os casos de teste que capturam falta de regressão, a maioria dos casos de teste da suíte reduzida não capturam faltas, portanto a densidade de faltas da técnica ficou abaixo de 50%. Esta densidade teria sido menor se não fosse observado um bom potencial de redução da técnica.

Em resumo, podemos destacar as seguintes características da técnica de análise de de- pendência em máquinas de estados:

• Vantagens:

– A técnica apresenta um alto potencial de redução (cerca de 60% da suíte de re- gressão);

7.7 Análise das Técnicas 128

– A análise de dependência aumenta a confiança no processo de seleção, por ana- lisar as faltas por efeitos colaterais.

– A técnica trata diversas modificações como remoção, adição e modificação de transições no modelo.

• Desvantagens:

– É pouco eficiente, pois necessita de muito tempo para executar.

– O aumento significativo na quantidade de modificações pode inviabilizar, com- putacionalmente, a execução do algoritmo de análise de dependência.

– O custo de desenvolvimento da técnica é alto, pois requer diversas análises estru- turais nos elementos do modelo.

Ao observar os resultados da técnica, verificamos que a análise de dependência contribui para o desempenho regular da técnica. Ainda que apresente pouco desempenho de precisão, a análise que a técnica realiza fornece confiança para a qualidade da suíte de testes resultantes, pois, pelo algoritmo, as dependências encontradas a partir das modificações guiam o pro- cesso de seleção. Para obter uma conclusão mais precisa a respeito do impacto desta análise de dependência no desempenho da técnica e na qualidade da suíte reduzida, é necessário realizar um outro estudo experimental, utilizando diversos modelos de faltas e máquinas de estados.