• Nenhum resultado encontrado

A opção de desfazer não funciona corretamente quando possui ações de limpar a tela.** 11 1 min horas 3 * Esse defeito não tem o tempo de localização, pois foi identificado durante a inspeção.

L ISTA DE A BREVIATURAS E S IGLAS HTML HyperText Markup Language

questão 15 do questionário Q

5 A opção de desfazer não funciona corretamente quando possui ações de limpar a tela.** 11 1 min horas 3 * Esse defeito não tem o tempo de localização, pois foi identificado durante a inspeção.

** Novo defeito

Considerando a quantidade total de defeitos (5), embora o aluno tenha identificado apenas um deles (20%) com a atividade de inspeção (com o uso da ferramenta CRISTA), esse fato pode ser explicado pelo programa caracterizar uma aplicação gráfica e, portanto, os defeitos ficam mais perceptíveis durante sua execução.

Os outros 4 defeitos (80%) identificados pelo aluno foram decorrentes do processo iterativo disparado em função da manutenção do defeito identificado na inspeção. Observe na Tabela 7.5, que se gastou pouco tempo para localizar e corrigir os defeitos 2, 3 e 4 com o apoio da ferramenta CRISTA.

Essa eficiência na localização e correção dos defeitos, conforme declarado pelo aluno, foi decorrente da técnica de leitura SA, que força o inspetor a conhecer cada detalhe do código, bem como da documentação interna e externa provida pela ferramenta. A documentação interna do código ajuda substancialmente na identificação da funcionalidade de cada trecho de código.

Com relação ao defeito 5, no entanto, observa-se que o tempo gasto para localização e correção foi bem maior. Isso aconteceu, pois esse defeito correspondia a um erro de lógica que dependia de executar o programa em uma seqüência bastante específica e que também era complexo de entender. Mais especificamente, depois de se usar intercaladamente as opções de desenhar e apagar a tela toda, ao se aplicar um undo e a ação anterior ter sido apagar a tela toda, o próximo undo percorria primeiro todas as opções

apagar a tela toda utilizadas durante a execução do Paint, para depois desfazer as outras

ações. O aluno teve que executar a ferramenta várias vezes para conseguir reproduzir o erro e depois disso, para entender a lógica do que estava acontecendo.

Outra contribuição importante da CRISTA diz respeito ao tempo gasto para gerar a documentação do código. Como pode ser observado na atividade 3 da Figura 7.32, depois de realizar a inspeção com a ferramenta CRISTA, foram gastos apenas 5 minutos para se obter um relatório contendo as descrições funcionais de cada arquivo do programa e para documentar todo o código internamente.

Além de ajudar significativamente no tempo de redocumentação, a CRISTA coleta dados sobre o tempo gasto para abstrair cada trecho do programa, fornecendo informações importantes para efeito de manutenção preventiva, por exemplo. Veja a Figura 7.33, na qual podemos identificar dois trechos no arquivo PaintWindow.java cuja complexidade se destaca dos demais. Em um deles, existe um método de 9 linhas com instruções simples, para o qual foram gastos 30 minutos de compreensão, e um outro, de 114 linhas para o qual foram gastas 2 horas e 40 minutos. Considerando que o tempo total para compreensão desse arquivo todo foi de 4 horas, esses dois métodos consumiram 79% desse tempo. Esse fato salienta a contribuição da CRISTA no que diz respeito a indicar trechos propensos à manutenção preventiva, uma vez que 60% dos defeitos da Tabela 7.5 encontravam-se justamente nesse arquivo.

Por fim, cabe ressaltar que, da mesma forma que nos experimentos 1 e 2, no experimento 3 também foram coletadas informações de melhorias e correção de defeitos na ferramenta CRISTA. Entre elas estão:

• Retirada do zoom automático associado à metáfora visual e adição do zoom manual;

• Atalho no teclado para selecionar a instrução anterior e a próxima daquela que está selecionada no código fonte no momento;

• Adição de uma barra à direita para indicar o nível de aninhamento de cada instrução em relação ao código todo; e

• Correção de defeitos na metáfora visual.

7.3.3.1 Ameaças à validade 

Não se preocupou nesse estudo em definirem-se as ameaças à validade, pois o estudo foi muito simples, executado por um único aluno, em uma situação muito particular. Além disso, como não foram estabelecidas hipóteses, não havia motivos para identificar em quais situações os resultados que comprovassem as hipóteses não seriam totalmente confiáveis.

7.3.3.2 Lições aprendidas 

Como o programa usado nesse estudo experimental tem por objetivo apoiar a elaboração de desenhos (software de domínio gráfico), a identificação de defeitos durante a inspeção se torna mais difícil, uma vez que nesse tipo de software muitos defeitos só são percebidos por meio das falhas durante sua execução.

7.4 Considerações Finais

Este capítulo apresentou três estudos experimentais cujos dados foram apresentados por meio de alguns itens do formato proposto por Jedlitschka (2008).

Os dois primeiros experimentos foram realizados com estudantes da graduação e da pós-graduação para avaliar o uso da ferramenta CRISTA em um contexto de inspeção de código. Dentre as observações feitas, uma das principais foi que os dados não apresentaram diferenças significativas com relação à usabilidade e utilidade da ferramenta,

seja com ou sem receber treinamento na mesma. Isso é um bom indicativo de que a ferramenta é intuitiva e possui boa usabilidade. Vale destacar também a diferença mínima de tempo entre a inspeção manual e a inspeção assistida pela ferramenta CRISTA. Isso mostra que, além de não ter trazido dificuldades para a atividade de inspeção, em um tempo muito similar à inspeção manual, o inspetor faz a inspeção usando a ferramenta, a qual lhe oferece muito mais recursos do que ele consegue apenas com a aplicação manual.

Cabe lembrar que o estudo com o grupo G e com os grupos M1 e M2 corresponderam, respectivamente, às fases de Estudo de viabilidade e Estudo observacional do processo de Shull, Carver e Travassos (2001).

Com relação ao terceiro estudo experimental, que avaliou a contribuição da ferramenta em relação à atividade de manutenção, o sistema denominado Paint foi primeiramente inspecionado e depois sofreu uma manutenção em decorrência do defeito identificado. Por ser um software de domínio gráfico, a identificação de defeitos durante a inspeção é mais difícil, pois muitos deles só se percebem executando o programa. De 3 defeitos previamente conhecidos, apenas um foi encontrado durante a inspeção. Entretanto, durante a manutenção do programa para corrigi-lo, foram encontrados mais 4, sendo que 2 não constavam da lista conhecida.

Em relação à atividade de manutenção propriamente, a contribuição da CRISTA ocorreu da seguinte forma:

a) O tempo de localizar os defeitos e corrigi-los foi muito pequeno, em decorrência do conhecimento adquirido do código e dos tipos de documentação que ela fornece;

b) O tempo de gerar uma documentação para o código depois que a abstração foi realizada também é muito curto, pois depende da seleção das opções apropriadas e do tempo de impressão; e

c) Os gráficos gerados pela coleta de tempos gastos na abstração do código mostraram que realmente podem dar indícios da necessidade de manutenção preventiva, uma vez que nesse caso, os arquivos de maior tempo de compreensão abrigavam a maioria dos defeitos.

Os estudos experimentais descritos neste capítulo encerram os relatos teóricos e práticos deste trabalho. As conclusões, contribuições e trabalhos futuros são descritos em detalhes no capítulo seguinte.