Return to search

EvolUniT: geração e evolução de testes de unidade em java utilizando algoritmos genéticos

Made available in DSpace on 2014-06-12T15:51:11Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Este trabalho apresenta a ferramenta EvolUniT (Evolutionary Unit Testing), uma
ferramenta para automatização de testes de unidade de código orientado a objetos (classes
Java). A EvolUniT recebe como entrada uma classe Java a ser testada; gera uma classe de
teste usando o framework JUnit; gera dados (parâmetros de construtores e métodos)
inicialmente aleatórios para compor os casos de teste; e utiliza um Algoritmo Genético
(AG) para evoluir os dados, de acordo com uma função de aptidão criada com base nas
coberturas de código capturadas.
A evolução dos dados se dá através de sucessivas execuções da classe sendo testada,
até que um número máximo de gerações do AG seja atingido ou que uma cobertura
máxima pré-definida seja atingida. A ferramenta foi implementada em Java, em forma de
plug-in do Eclipse. A ferramenta proporciona uma semi-automação de testes de unidade, ao
invés de automação completa, pois em alguns casos, o engenheiro de software ou de testes
precisará complementar manualmente as classes de teste geradas. A vantagem desta semiautomação
é que o conhecimento do desenvolvedor ou testador será acrescido aos testes
gerados pela ferramenta, possibilitando assim melhores resultados.
Foram realizados três estudos para avaliar a EvolUniT, e os resultados alcançados
foram satisfatórios. A EvolUniT traz contribuições para duas áreas diferentes. Para a
Engenharia de Software, com a semi-automação do processo de testes de unidade, reduz-se
significativamente o tempo e o esforço por parte dos desenvolvedores, já que estes passam
a usar seus conhecimentos para configurar a ferramenta, ao invés de escrever as classes de
teste. Para a área de Computação Inteligente, a contribuição é na utilização de uma técnica
de otimização evolutiva, os Algoritmos Genéticos, para resolver o problema da escolha de
bons dados para testes estruturais, que nem sempre é bem resolvido por algoritmos
convencionais ou técnicas aleatórias

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/1563
Date31 January 2008
CreatorsSILVA, Davi Augusto Gadêlha
ContributorsBARROS, Flávia de Almeida
PublisherUniversidade Federal de Pernambuco
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0021 seconds