• Nenhum resultado encontrado

Avaliac~ao do Uso Real de WSat e das Ferramentas Associadas

Neste captulo descrevemos o experimento realizado para avaliac~ao da linguagem WSat e das ferramentas usadas durante o desenvolvimento de sistemas Web. Em primeiro lugar, relatamos as condic~oes existentes para a realizac~ao do experimento. Em seguida, apresentamos os resultados obtidos com a realizac~ao do experimento assim como algumas conclus~oes obtidas atraves da analise destes resultados.

Este trabalho incentiva a realizac~ao de testes de aceitac~ao durante o desenvolvimento de sistemas Web. Em particular, ele incentiva a criac~ao dos testes antes mesmo da im- plementac~ao do sistema, motivo suciente para varios questionamentos pela comunidade tecnologica e por organizac~oes de software. Entre estes questionamentos, os principais s~ao quanto a sua viabilidade quando utilizado na pratica durante o desenvolvimento de sistemas reais em ambientes reais.

Para que este trabalho seja viavel e necessario que o mesmo traga benef cios reais para a qualidade dos sistemas Web desenvolvidos sem grandes impactos negativos na produtividade do desenvolvimento destes sistemas. Assumindo que e valida a utilizac~ao de testes de aceitac~ao no desenvolvimento de sistemas Web, faz-se necessario validar a linguagem e ferramentas produzidas por este trabalho. Esta validac~ao pode ser feita disponibilizando-se a linguagem denida e as ferramentas produzidas para a comunidade de software em geral e observando-se os resultados de sua utilizac~ao. Esta abordagem n~ao foi poss vel devido ao curto espaco de tempo dispon vel para o trabalho.

Uma outra alternativa e a realizac~ao de um estudo emp rico, utilizado na engenharia de software para estudar quest~oes que necessitem uma validac~ao atraves de resultados praticos. Estudos emp ricos podem ser feitos atraves de estudos de caso ou experi- mentos. Em estudos de caso, o pesquisador possui pouco controle sobre o ambiente de desenvolvimento. Ja em experimentos, o pesquisador possui condic~oes de modicar caracter sticas do ambiente que se relacionam diretamente com hipoteses (denidas no in cio do estudo) a serem validadas. Por ser mais sistematica e controlavel e pelo curto espaco de tempo dispon vel, a utilizac~ao de um experimento foi a abordagem escolhida para a validac~ao deste trabalho.

A utilizac~ao de WSat e das ferramentas produzidas por este trabalho podem trazer benef cios na corretude do sistema sem causar, no entanto, grandes impactos na produti- vidade do desenvolvimento, mesmo que a curto prazo. Nas proximas sec~oes descrevemos o experimento realizado para validac~ao da linguagem WSat e das ferramentas utilizadas no desenvolvimento de sistemas Web.

5.1 Caracter sticas do Experimento Realizado

Como o aumento na corretude do sistema com a utilizac~ao de testes e esperado, este experimento avalia principalmente o impacto na produtividade obtido com a realizac~ao dos testes com WSat. Desta forma, o foco do experimento e maior nos geradores de codigo produzidos do que nos benef cios propriamente ditos com a utilizac~ao de WSat. Nesta sec~ao, apresentamos as condic~oes utilizadas para a realizac~ao do experimento. Primeiramente apresentamos o sistema escolhido para o experimento e sua forma de desenvolvimento. Apos isto, mostramos os criterios utilizados para coleta e avaliac~ao dos resultados.

5.1.1 O Sistema Desenvolvido no Experimento

Para a realizac~ao do experimento foi escolhido um sistema Web que esta sendo desen- volvido por uma empresa real, cujo nome n~ao e aqui divulgado por motivos estrategicos da empresa. Este sistema visa dar suporte a tomadas de decis~ao e e formado basica- mente por um modulo de carga e um modulo de consulta. Apenas o modulo de consulta

(composto por relatorios de analise manual e minerac~ao de dados) foi considerado neste experimento. Isto porque o modulo de carga n~ao possui uma interface Web.

Um dos motivos da escolha deste sistema foi o uso de tecnologias utilizadas por diversas empresas e diretamente relacionadas aos geradores de codigo constru dos neste trabalho. Entre elas, as principais s~ao as seguintes:

Java 19]: a linguagem de programac~ao Java e requisito fundamental para a utili- zac~ao do gerador de codigo Java apresentado neste trabalho.

HTML 37]: linguagem utilizada para a visualizac~ao do sistema por navegadores Web e para a realizac~ao dos testes de aceitac~ao na linguagem WSat.

Web Handlers 2]: padr~ao para estruturac~ao do atendimento a requisic~oes de ser- vicos Web, parte do codigo do mesmo pode ser gerada pelo gerador de codigo de sistema desenvolvido.

Freemarker 17]: ferramenta para separac~ao de codigo Java e codigo HTML o sistema sendo desenvolvido tem parte de seu codigo de utilizac~ao do Freemarker escrita pelo gerador de codigo de sistema deste trabalho.

Junit 15]: utilizado para a realizac~ao de testes de unidade, este framework pode ser utilizado para a realizac~ao de testes de unidade nos handlers do sistema. Foi vericado que parte do codigo que usa JUnit tambem poderia ser gerado pelas ferramentas desenvolvidas neste trabalho, apesar disto ainda n~ao ter sido imple- mentado.

Tomcat 14]: servidor Web que tem parte de sua congurac~ao para o sistema gerada automaticamente pelo gerador de codigo de sistema desenvolvido.

Alem de sua aplicabilidade no trabalho, este sistema tambem foi escolhido devido a participac~ao do autor na equipe de desenvolvimento do sistema Web referido, equipe composta ainda por mais dois programadores. O sistema escolhido tambem n~ao estava sobre press~ao com relac~ao aos prazos de desenvolvimento, o que facilitou a realizac~ao do experimento.

5.1.2 O Experimento

Atraves deste experimento, esperamos validar as hipoteses de que a utilizac~ao dos testes de aceitac~ao expressos na linguagem denida neste trabalho traz benef cios a fatores de qualidade do sistema, como por exemplo a sua corretude. Tambemqueremos validar que a utilizac~ao dos geradores de codigo aqui denidos diminui o impacto na produtividade, a curto prazo, causado pela criac~ao de testes de aceitac~ao durante o desenvolvimento dos sistemas Web. Este experimento tem como objetivo apenas indicar a ordem de magnitude da perda de produtividade com a realizac~ao de testes de aceitac~ao de sistemas Web. Para obter resultados signicantes do ponto de vista estat stico, faz-se necessario a realizac~ao de um numero maior de experimentos.

Para realizar o experimento, decidimos implementar o sistema Web escolhido de duas formas:

Utilizando a metodologia convencional da empresa, sem a utilizac~ao de testes de aceitac~ao e dos geradores de codigo aqui desenvolvidos.

Utilizando a metodologia convencional da empresa, mas adicionando a utilizac~ao de testes de aceitac~ao escritos em WSat e dos geradores de codigo aqui desenvol- vidos.

Este experimentofoi ent~ao realizado em duas etapas. A primeiradelas foi feita utilizando a primeira opc~ao de desenvolvimento mostrada acima. Na segunda etapa, o sistema Web escolhido foi desenvolvido de acordo com a segunda opc~ao mostrada.