Please use this identifier to cite or link to this item: https://repositorio.ufrn.br/jspui/handle/123456789/22312
Title: Uma linguagem específica de domínio para geração de testes de performance
Authors: Marinho, Thiago David dos Santos
Keywords: Linguagens especificas de dominio;Testes de performance;Geração de código
Issue Date: 30-Aug-2016
Citation: MARINHO, Thiago David dos Santos. Uma linguagem específica de domínio para geração de testes de performance. 2016. 114f. Dissertação (Mestrado Profissional em Engenharia de Software) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2016.
Abstract: This work presents GenMeter, a tool composed of: (i) a domain-specific language (DSL) used to describe textually performance tests; and (ii) a component that uses those described test specifications to generate projects in different performance test execution platforms. The purpose is to use concepts defined in the language to abstract the concepts of each platform, which are often modeled differently regarding nomenclature and/or structure and even dependent on the tool rather than just the domain. The proposed tool supports SOAP, REST and web applications performance tests to JMeter and Silk Performer. It also allows customization to new test types and target platforms. Studies were conducted to evaluate the use of the tool: 3 tests of web applications, REST and SOAP services have been rewritten in the DSL and then were generated projects to the target platforms, to be executed. After the adaptation and new implementations necessary for the project generation, we obtained feedback regarding the ability to customize the tool for the applications types and platforms and organizations features. Moreover, the scripts were also evaluated for their conciseness: tests were created with Gatling.io tool (also based on the company’s test) to compare with existing DSL and Silk Performer tests. Our study also compared the total number of words needed to define each test and the relation between the number of reserved words and the total number of words; and the relationship between the number of reserved words out of context, and the total of reserved words. Tests created with GenMeter have, on average, 59,15% less words in relation to Silk Performer tests and 39,43% in relation to Gatling.io tests, except by one test type, where GenMeter’s tests get little more than the double (138,35%) of words. In second comparison, on average, tests with the GenMeter presented a percentage of 56.33% of reserved words in relation to the total, against 39.98% from Silk Performer and 67.03% from Gatling.io. This first comparison can be interpreted as the amount of additional information that the user needs to provide for each language, in addition to the structures provided by them. In the third comparison, which can be interpreted as how the syntax of the host language may interfere with viewing of the test information, GenMeter had an average of 23.57% of reserved words out of context relative to the total of reserved words against 53.38% from Silk Performer and 54.60% from Gatling. Thus, it was possible to observe the benefits of using DSL for different types of applications, customizing it according to certain concepts and features platforms and organizations.
Portuguese Abstract: 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.
URI: https://repositorio.ufrn.br/jspui/handle/123456789/22312
Appears in Collections:MPES - Mestrado Profissional em Engenharia de Software

Files in This Item:
File Description SizeFormat 
ThiagoDavidDosSantosMarinho_DISSERT.pdf1,37 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.