To the top

Page Manager: Webmaster
Last update: 9/11/2012 3:13 PM

Tell a friend about this page
Print version

Search-based Software Tes… - University of Gothenburg, Sweden Till startsida
To content Read more about how we use cookies on

Search-based Software Testing and Test Data Generation for a Dynamic Programming Language

Conference paper
Authors Stefan Mairhofer
Richard Torkar
Robert Feldt
Published in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO)
Pages 1859--1866
Publication year 2011
Published at Department of Computer Science and Engineering (GU)
Pages 1859--1866
Language en
Subject categories Software Engineering


Manually creating test cases is time consuming and error prone. Search-based software testing can help automate this process and thus reduce time and effort and increase quality by automatically generating relevant test cases. Previous research has mainly focused on static programming languages and simple test data inputs such as numbers. This is not practical for dynamic programming languages that are increasingly used by software developers. Here we present an approach for search-based software testing for dynamically typed programming languages that can generate test scenarios and both simple and more complex test data. The approach is implemented as a tool, RuTeG, in and for the dynamic programming language Ruby. It combines an evolutionary search for test cases that give structural code coverage with a learning component to restrict the space of possible types of inputs. The latter is called for in dynamic languages since we cannot always know statically which types of objects are valid inputs. Experiments on 14 cases taken from real-world Ruby projects show that RuTeG achieves full or higher statement coverage on more cases and does so faster than randomly generated test cases.

Page Manager: Webmaster|Last update: 9/11/2012

The University of Gothenburg uses cookies to provide you with the best possible user experience. By continuing on this website, you approve of our use of cookies.  What are cookies?