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

Sobre este site

Portal institucional do Centro de Informática – UFPE

Encontre-nos

Endereço
Av. Jornalista Aníbal Fernandes, s/n – Cidade Universitária.
Recife-PE – Brasil
CEP: 50.740-560

Horário
Segunda–Sexta: 8:00–18:00