Uma linguagem específica de domínio para geração de testes de performance

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: Marinho, Thiago David dos Santos
Orientador(a): Kulesza, Uira
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/22312
Resumo: Este trabalho apresenta a ferramenta GenMeter, composta por: (i) uma linguagem específica de domínio utilizada para descrever textualmente testes de performance; e (ii) um componente que utiliza os testes descritos para gerar projetos em diferentes plataformas de execução de testes de performance. O objetivo é utilizar os conceitos definidos na linguagem para abstrair os conceitos de cada plataforma, que muitas vezes são modelados diferentemente, quanto à nomenclatura e/ou estrutura, e até dependentes da ferramenta, ao invés de apenas do domínio. A ferramenta proposta oferece suporte para testes de serviços SOAP, REST e de aplicações web para JMeter e Silk Performer. Ela também permite a customização para novos tipos de testes e plataformas alvo. Foram feitos estudos para avaliar o uso da ferramenta: 3 testes de aplicações Web, REST e SOAP foram reescritos na linguagem específica de domínio (DSL - domain specific language) e então foram gerados projetos nas plataformas de destino, para que fossem executados. A partir dos ajustes e novas implementações necessários para a geração dos projetos, obteve-se feedback referente a capacidade de customização da ferramenta em relação aos tipos de aplicações e características de plataformas e organizações. Além disso, os scripts também foram avaliados em relação à sua concisão: além dos testes implementados com a DSL e com o Silk Performer, foram criados testes com a ferramenta Gatling.io (também baseados no teste da empresa). Comparou-se o total de palavras necessárias para a definição de cada teste, além da relação entre o número de palavras reservadas e o total de palavras, e a relação entre o número de palavras reservadas fora do contexto e o total de palavras reservadas. Os testes criados com a DSL GenMeter possuem, em média, 59,15% menos palavras em relação aos testes de Silk Performer e 39,43% em relação aos testes de Gatling.io, com exceção de um tipo de teste, em que a especificação com a DSL ficou com pouco mais que o dobro (138,35%) de palavras. Na segunda comparação, em média, os testes com a GenMeter apresentaram um percentual de 56,33% de palavras reservadas em relação ao total, contra 39,98% do Silk Performer e 67,03% do Gatling.io. Esta comparação pode ser interpretada como a quantidade de informação adicional que o usuário precisa fornecer pra cada linguagem, além das estruturas fornecidas pela mesma. Já na terceira comparação, que pode ser interpretada como o quanto a sintaxe da linguagem hospedeira pode interferir na visualização das informações dos testes, a GenMeter teve em média 23,57% de palavras reservadas fora do contexto em relação ao total de palavras reservadas, contra 53,38% do Silk Performer e 54,60% do Gatling. Dessa forma, foi possível observar os benefícios de utilizar a DSL para diferentes tipos de aplicações, customizando-a de acordo com determinados conceitos e características de plataformas e organizações.