Please use this identifier to cite or link to this item:
https://repositorio.ufpe.br/handle/123456789/67612
Share on
Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | REBÊLO, Henrique Emanuel Mostaert | - |
| dc.contributor.author | SILVA, Ruan Carlos Alves da | - |
| dc.date.accessioned | 2026-01-14T14:32:34Z | - |
| dc.date.available | 2026-01-14T14:32:34Z | - |
| dc.date.issued | 2025-08-29 | - |
| dc.identifier.citation | SILVA, Ruan Carlos Alves da. DSL para criação de testes unitários em Java: uma abordagem inspirada na linguagem Racket. 2025. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2025. | pt_BR |
| dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/67612 | - |
| dc.description.abstract | Desenvolver software de qualidade continua sendo um desafio, devido à complexidade dos sistemas, à velocidade de entrega, a equipes desalinhadas, a mudanças frequentes de escopo e outros fatores. Nesse cenário, práticas como o Test-Driven Development (TDD) podem facilitar a implementação de testes e contribuir para a melhoria da qualidade do software. Contudo, sua adoção ainda apresenta limitações, como a complexidade na elaboração e na manutenção manual dos testes à medida que a aplicação cresce, o que exige tempo e esforço consideráveis para sustentar a prática. Para enfrentar essas dificuldades, esta dissertação propõe uma abordagem que simplifica a implementação e manutenção de testes unitários em Java, incentivando a prática do TDD. A solução consiste em uma Domain-Specific Language (DSL) chamada JCheck, inspirada na linguagem Racket e integrada ao framework JUnit 5. O parser da DSL foi gerado com ANother Tool for Language Recognition, versão 4 (ANTLR4) e a DSL foi incorporada em uma anotação Java aplicada a métodos, simplificando a especificação dos casos de teste e integrando-os de forma natural ao processo de desenvolvimento. A abordagem foi validada por meio de uma prova de conceito em um cenário realista, executando testes com diferentes instruções da DSL e avaliando o esforço de escrita da DSL por meio da contagem de linhas de código. Como resultado da prova de conceito, a DSL apresentada atingiu os objetivos da pesquisa, realizando com sucesso testes unitários em Java de acordo com as instruções fornecidas, além de demonstrar, por meio da análise da contagem de linhas de código, que sua utilização pode reduzir o esforço na escrita dos testes unitários. Dessa forma, podemos concluir que a JCheck é uma ferramenta promissora para facilitar a criação de testes unitários em Java. Além disso, por adotar uma abordagem que aproxima a definição dos testes dos próprios métodos, a DSL torna mais fácil a prática do TDD. | pt_BR |
| dc.language.iso | por | pt_BR |
| dc.publisher | Universidade Federal de Pernambuco | pt_BR |
| dc.rights | openAccess | pt_BR |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/ | pt_BR |
| dc.subject | DSL | pt_BR |
| dc.subject | Racket | pt_BR |
| dc.subject | TDD | pt_BR |
| dc.subject | JUnit 5 | pt_BR |
| dc.subject | ANTLR4 | pt_BR |
| dc.title | DSL para criação de testes unitários em Java: uma abordagem inspirada na linguagem Racket | pt_BR |
| dc.type | masterThesis | pt_BR |
| dc.contributor.authorLattes | http://lattes.cnpq.br/9815464113475846 | pt_BR |
| dc.publisher.initials | UFPE | pt_BR |
| dc.publisher.country | Brasil | pt_BR |
| dc.degree.level | mestrado | pt_BR |
| dc.contributor.advisorLattes | http://lattes.cnpq.br/2340616806258461 | pt_BR |
| dc.publisher.program | Programa de Pos Graduacao em Ciencia da Computacao | pt_BR |
| dc.description.abstractx | Developing high-quality software remains a challenge due to system complexity, delivery speed, misaligned teams, frequent scope changes, and other factors. In this scenario, practices such as Test-Driven Development (TDD) can facilitate test implementation and contribute to improving software quality. However, its adoption still presents limitations, such as the complexity in the creation and manual maintenance of tests as the application grows, requiring considerable time and effort to sustain the practice. To address these difficulties, this dissertation proposes an approach that simplifies the implementation and maintenance of unit tests in Java, encouraging the practice of TDD. The solution consists of a Domain-Specific Language (DSL) called JCheck, inspired by the Racket language and integrated with the JUnit 5 framework. The DSL parser was generated with ANother Tool for Language Recognition, version 4 (ANTLR4), and the DSL was incorporated into a Java annotation applied to methods, simplifying the specification of test cases and integrating them naturally into the development process. The approach was validated through a proof of concept in a realistic scenario, executing tests with different DSL instructions and evaluating the effort required to write the DSL by counting lines of code. As a result of the proof of concept, the presented DSL achieved the research objectives, successfully performing unit tests in Java according to the provided instructions, and demonstrating, through the analysis of the line count, that its use can reduce the effort in writing unit tests. Therefore, we can conclude that JCheck is a promising tool to facilitate the creation of unit tests in Java. Furthermore, by adopting an approach that brings the definition of tests closer to the methods themselves, the DSL makes the practice of TDD easier. | pt_BR |
| dc.contributor.advisorORCID | https://orcid.org/0000-0002-1932-8706 | pt_BR |
| Appears in Collections: | Dissertações de Mestrado - Ciência da Computação | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| DISSERTAÇÃO Ruan Carlos Alves da Silva.pdf | 1.4 MB | Adobe PDF | ![]() View/Open |
This item is protected by original copyright |
This item is licensed under a Creative Commons License

