• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Implementing and comparing challengers to popular multi-objective algorithms for unit test cases generation

Lindfors, Elias January 2023 (has links)
The topic of multi-objective algorithms has been researched for many years, where hundreds of multi-objective algorithms have been developed. With the field of search-based software engineering attracting use-cases, more research on which algorithms are fitting the area is still lacking. Comparing algorithms is key to fully understand what properties of multi-objective algorithms can bring benefit to an application area. In this case, search-based software testing. Three multi-objective algorithms—AGE-II, SIBEA and MOEA/D—are selected for implementation in the Evosuite tool to compare against the two popular algorithms NSGA-II and SPEA2, together with a random-search baseline. The algorithms create test cases for 100 randomly selected Java classes in the SF100 benchmark suite over a maximum of 1000 generations. The objectives of the algorithms are to maximize four coverage criteria—banch, line, method, and statement. The benchmarking shows that SPEA2 completes themost goals on average at 67.04%, also having the most stable results at ±20.28 goals for the ten executions. Tests generated by the random-search baseline has the highest branch, line and statement coverage, with NSGA-II generating tests with the best method coverage. Neither AGE-II or SIBEA could compete with the algorithms already implemented in Evosuite. The MOEA/D implementation could not be completed. More implementations and benchmarks of multi-objective algorithms are needed to find concrete links between technique to goals and coverage amount, especially surrounding the random-search baseline being a top performer.
2

Genetic Algorithms as a Viable Method of Obtaining Branch Coverage

Frier, Jason Ross 01 January 2017 (has links)
Finding a way to automate the generation of test data is a crucial aspect of software testing. Testing comprises 50% of all software development costs [Korel90]. Finding a way to automate testing would greatly reduce cost and labor involved in the task of software testing. One of the ways to automate software testing is to automate the generation of test data inputs. For example, in statement coverage, creating test cases that will cover all of the conditions required when testing that program would be costly and time-consuming if undertaken manually. Therefore, a way must be found that allows the automation of creating test data inputs to satisfy all test requirements for a given test. One such way of automating test data generation is the use of genetic algorithms. Genetic algorithms use the creation of generations of test inputs, and then choose the most fit test inputs, or those test inputs that are most likely to satisfy the test requirement, as the test inputs that will be passed to the next generation of inputs. In this way, the solution to the test requirement problem can be found in an evolutionary fashion. Current research suggests that comparison of genetic algorithms with random test input generation produces varied results. While results of these studies show promise for the future use of genetic algorithms as an answer to the issue of discovering test inputs that will satisfy branch coverage, what is needed is additional experimental research that will validate the performance of genetic algorithms in a test environment. This thesis makes use of the EvoSuite plugin tool, which is a software plugin for the IntelliJ IDEA Integrated Development Environment that runs using a genetic algorithm as its main component. The EvoSuite tool is run against 22 Java classes, and the EvoSuite tool will automatically generate unit tests and will also execute those unit tests while simultaneously measuring branch coverage of the unit tests against the Java classes under test. The results of this thesis’ experimental research are that, just as the literature indicates, the EvoSuite tool performed with varied results. In particular, Fraser’s study of the EvoSuite tool as an Eclipse plugin was accurate in depicting how the EvoSuite tool would come to perform as an IntelliJ plugin, namely that the EvoSuite tool would perform poorly for a large number of classes tested.

Page generated in 0.0246 seconds