Summary: | Submitted by Marlene Santos (marlene.bc.ufg@gmail.com) on 2014-10-15T17:49:53Z
No. of bitstreams: 2
Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) === Approved for entry into archive by Jaqueline Silva (jtas29@gmail.com) on 2014-10-16T17:59:00Z (GMT) No. of bitstreams: 2
Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) === Made available in DSpace on 2014-10-16T17:59:00Z (GMT). No. of bitstreams: 2
Dissertacao - Ana Claudia Bastos Loureiro Monção - 2013.pdf: 4213405 bytes, checksum: 3bbe190ae0f4a45a2f8b4e71026f5d2e (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5)
Previous issue date: 2013-08-02 === Software Testing is an important area of Software Engineering to ensuring the software
quality. It consists of activities that involve long time and high costs, but need to
be made throughout the process of building software. As in other areas of software
engineering, there are problems in the activities of Software Testing whose solution
is not trivial. For these problems, several techniques of optimization and search
have been explored trying to find an optimal solution or near optimal, giving rise
to lines of research textit Search-Based Software Engineering (SBSE) and textit
Search-Based Software Testing (SBST). This work is part of this context and aims
to solve the problem of selecting test data for test execution in SQL statements.
Given the number of potential solutions to this problem, the proposed approach
combines techniques Mutation Analysis for SQL with Evolutionary Computation
to find a reduced data set, that be able to detect a large number of defects in
SQL statements of a particular application. Based on a heuristic perspective, the
proposal uses Genetic Algorithms (GA) to select tuples from a existing database
(from production environment) trying to reduce it to a set of data relevant and
effective. During the evolutionary process, Mutation Analysis is used to evaluate
each set of test data selected by the AG. The results obtained from the experiments
showed a good performance using meta-heuristic of Genetic Algorithms, and its
variations. === Teste de Software é uma área da Engenharia de Software de fundamental importância
para a garantia da qualidade do software. São atividades que envolvem tempo
e custos elevados, mas que precisam ser realizadas durante todo o processo de
construção de um software. Assim como em outra áreas da Engenharia de Software,
existem problemas nas atividades de Teste de Software cuja solução não é trivial.
Para esses problemas, têm sido exploradas várias técnicas de busca e otimização
tentando encontrar uma solução ótima ou perto da ótima, dando origem às linhas
de pesquisa Search-Based Software Engineering (SBSE) e Search-Based Software
Testing (SBST). O presente trabalho está inserido neste contexto e tem como
objetivo solucionar o problema de seleção de dados de teste para execução de
testes em instruções SQL. Dada a quantidade de soluções possíveis para este
problema, a abordagem proposta combina técnicas de Análise de Mutantes SQL
com Computação Evolucionária para encontrar um conjunto de dados reduzido que
seja capaz de detectar uma grande quantidade de defeitos em instruções SQL de uma
determinada aplicação. Baseada em uma perspectiva heurística, a proposta utiliza
Algoritmos Genéticos (AG) para selecionar tuplas de um banco de dados existente
(de produção) tentando reduzi-lo em um conjunto de dados relevante e efetivo.
Durante o processo evolucionário, a Análise de Mutantes é utilizada para avaliação
de cada conjunto de dados de teste selecionado pelo AG. Os resultados obtidos com
a realização dos experimentos revelaram um bom desempenho utilizando a metaheurística
dos Algoritmos Genéticos e suas variações.
|