Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 2.248
Aluno: Ruan Carlos Alves da Silva
Orientador: Prof. Henrique Emanuel Mostaert Rebêlo
Título: DSL para criação de testes unitários em java: Uma abordagem
inspirada na linguagem racket
Data: 29/08/2025
Hora/Local: 14:00 – Virtual – Interessados em assistir entrar em contato com o aluno
Banca Examinadora:
Profa. Paola Rodrigues de Godoy Accioly (UFPE / Centro de Informática)
Prof. Márcio de Medeiros Ribeiro (UFAL / Instituto de Computação)
Prof. Henrique Emanuel Mostaert Rebêlo (UFPE / Centro de Informática)
RESUMO:
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 melhorar a qualidade do software. Contudo, sua adoção ainda apresenta limitações, como a complexidade na manutenção dos testes à medida que a aplicação cresce, exigindo tempo e esforço consideráveis. Para enfrentar essas dificuldades, esta dissertação propõe uma abordagem que simplifica a implementaçã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 através de uma prova de conceito em um cenário realista, executando testes com diferentes instruções da DSL e avaliando sua aplicabilidade prática. 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. 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.
Palavras-chave: DSL; Racket; TDD; JUnit 5; ANTLR4
Comentários desativados