• Nenhum resultado encontrado

7.8 Análise sobre a Generalidade das Técnicas

7.8.3 Generalidade de Weighted Similarity Approach for Regression Testing

Assim como as demais técnicas analisadas no experimento, WSA-RT foi verificada com relação a sua generalidade. O primeiro aspecto observado é que a técnica não é executada em nenhum formato específico de modelo. WSA-RT investiga a suíte de testes de regressão com

7.8 Análise sobre a Generalidade das Técnicas 142

uma suíte obtida a partir da versão delta do sistema. O algoritmo então compara os passos dos casos de teste identificando as similaridades e selecionando aqueles menos similares entre as duas suítes de teste. Portanto, a suíte pode ter sido gerada a partir de qualquer modelo. Desde que seja possível comparar os passos das duas suítes, a técnica pode ser executada.

Por sua vez, a natureza da análise realizada por WSA-RT possui dois aspectos. O primeiro é a análise de similaridade entre as duas suítes de teste, de forma que apenas os passos entre os casos de teste são verificados, e portanto, nenhuma análise de dependência, ou identificação de modificações, específica, é realizada pela técnica. O segundo aspecto analisado pela técnica é o perfil de uso especificado pelo testador. O modelo do sistema é configurado com valores de probabilidade que representam a probabilidade de um usuário executar os respectivos fluxos da ferramenta. Estes valores de probabilidade são verificados, de forma que os casos de teste que exercitam os fluxos com maiores valores de probabilidade são selecionados para a suíte reduzida.

Apesar de não realizar uma análise de dependência, a técnica realiza uma análise para lidar com remoções de funcionalidades. Ao identificar a remoção de uma funcionalidade, a técnica procura selecionar um caso de teste mais similar a um caso de teste da versão base que possua a funcionalidade removida. Dessa forma, a técnica seleciona casos de teste que cobrem mais estados que possam apresentar uma falta de regressão devido à remoção da funcionalidade [Korel et al. 2002]. Os demais tipos de modificações (adição e modificação de funcionalidades) não são tratadas de forma específica pela técnica, apesar desta selecionar casos de teste que exercitam funcionalidades adicionadas ou modificadas.

Assim como em T2, WSA-RT apresenta uma dependência operacional, na qual é

necessário um testador para realizar a configuração da técnica, ou seja, especificar o per- fil de uso no modelo do sistema. A dependência, sob a perspectiva de WSA-RT é maior que em T2 pois é verificado que o nível de experiência do testador está relacionado com o

desempenho da técnica. Esta diferença foi considerada estatisticamente significativa, a partir dos testes realizados (estes testes estão descritos no Apêndice B).

Diante dos aspectos observados, podemos concluir que a técnica apresenta uma boa ge- neralidade quanto aos aspectos do modelo, mas a natureza da análise, das modificações e as dependências da técnica prejudicam a generalidade da técnica. Dessa forma, é aconselhável o refinamento da análise da técnica, para que a sua generalidade compense as limitações na

7.8 Análise sobre a Generalidade das Técnicas 143

dependência operacional, isto é a necessidade de um testador experiente para configurar a técnica.

7.8.4

Generalidade da Seleção baseada em Clusters

Algumas análises de generalidade foram realizadas acerca da técnica de seleção baseada em clusters (T4) para o contexto de re-teste seletivo baseado em código

[Rothermel and Harrold 1996]. Porém, neste estudo experimental, é investigada a genera- lidade da técnica para o contexto de especificação.

O primeiro aspecto analisado é o modelo utilizado pela técnica. Ao propor a técnica, os autores utilizaram um GFC para especificar os fluxos no código do sistema, utilizando uma perspectiva procedural. No contexto deste estudo experimental, os fluxos de execução, modelados na especificação da ferramenta, são estruturados como um GFC, permitindo a aplicação da técnica. Um processo semelhante é descrito por Chen et. al, durante a descrição da técnica de seleção baseada em análise de riscos [Chen et al. 2002].

Uma limitação no desempenho da técnica para o contexto de especificação é a criação de diversos clusters. É adequado que os clusters englobem os fluxos comuns da aplicação, e para o nível de especificação, diversos fluxos se dividiam em fluxos principais (fluxos comuns da aplicação) e fluxos alternativos (fluxos com exceções, e tratamento de erros rea- lizados pela ferramenta especificada). Portanto, para o contexto de especificação o uso deste modelo pode caracterizar um risco na execução da técnica, pois o desempenho pode ser prejudicado quando os diversos fluxos que o sistema pode seguir se conectam.

Com relação à natureza da análise realizada pela técnica, foi verificado que T4 utiliza os

clustersno modelo para identificar modificações e a propagação destas modificações, o que pode caracterizar uma pequena análise de dependência. Sob esta perspectiva, a análise de dependência da técnica é restrita pelos aspectos estruturais do modelo, como vértices e tran- sições do GFC. Ao identificar as modificações a técnica é capaz de identificar a natureza da modificação, ou seja, a técnica é capaz de identificar se uma funcionalidade é removida, adi- cionada ou modificada no modelo, porém o algoritmo não realiza um tratamento específico para cada um destes tipos de modificações.

A técnica não apresenta dependências operacionais ou ferramentais, o que contribui com a generalidade da técnica, e com a sua automatização. Apesar de não apresentar muito

7.8 Análise sobre a Generalidade das Técnicas 144

esforço durante a execução, a técnica necessita de muito esforço de implementação. O al- goritmo para identificar e criar os clusters, assim como o caminhamento nos GFC da versão base e versão delta do sistema é difícil e necessita de muito tempo para ser implementado. No entanto, uma vez automatizada a execução da técnica é rápida e simples, o que contribui para a sua generalidade.