Uma Linguagem Específica de Domínio Extensível para Geração de Testes de Performance
Linguagens especificas de dominio, Testes de performance, Geração de código
Este trabalho apresenta uma ferramenta composta por uma linguagem específica de domínio utilizada para descrever textualmente testes de performance, e por 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 extensã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 DSL 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. Em média, os testes com a DSL apresentaram um percentual de 57,38% de palavras reservadas em relação ao total, contra 40,17% do Silk Performer e 65,11% do Gatling.io. Esta primeira 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 segunda comparação, que pode interpretada como o quanto a sintaxe da linguagem hospedeira pode interferir na visualização das informações dos testes, a DSL teve em média 23,65% de palavras reservadas fora do contexto em relação ao total de palavras reservadas, contra 39,84% do Silk Performer e 53,98% do Gatling. Dessa forma, foi possível observar a viabilidade 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.