Search-based software testing and complex test data generation in a dynamic programming language

Manually creating test cases is time consuming and error prone. Search-based software testing (SBST) can help automate this process and thus to reduce time and effort and increase quality by automatically generating relevant test cases. Previous research have mainly focused on static programming lan...

Full description

Bibliographic Details
Main Author: Mairhofer, Stefan
Format: Others
Language:English
Published: Blekinge Tekniska Högskola, Avdelningen för programvarusystem 2008
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:bth-4340
id ndltd-UPSALLA1-oai-DiVA.org-bth-4340
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-bth-43402018-01-12T05:13:55ZSearch-based software testing and complex test data generation in a dynamic programming languageengMairhofer, StefanBlekinge Tekniska Högskola, Avdelningen för programvarusystem2008Search-Based Software Testingautomatic test data generationdynamic programming languageobject-orientedSoftware EngineeringProgramvaruteknikManually creating test cases is time consuming and error prone. Search-based software testing (SBST) can help automate this process and thus to reduce time and effort and increase quality by automatically generating relevant test cases. Previous research have mainly focused on static programming languages with simple test data inputs such as numbers. In this work we present an approach for search-based software testing for dynamic programming languages that can generate test scenarios and both simple and more complex test data. This approach is implemented as a tool in and for the dynamic programming language Ruby. It uses an evolutionary algorithm to search for tests that gives structural code coverage. We have evaluated the system in an experiment on a number of code examples that differ in complexity and the type of input data they require. We compare our system with the results obtained by a random test case generator. The experiment shows, that the presented approach can compete with random testing and, for many situations, quicker finds tests and data that gives a higher structural code coverage. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:bth-4340Local oai:bth.se:arkivexDDB5A5C7811CCF58C125746D003186E7application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Search-Based Software Testing
automatic test data generation
dynamic programming language
object-oriented
Software Engineering
Programvaruteknik
spellingShingle Search-Based Software Testing
automatic test data generation
dynamic programming language
object-oriented
Software Engineering
Programvaruteknik
Mairhofer, Stefan
Search-based software testing and complex test data generation in a dynamic programming language
description Manually creating test cases is time consuming and error prone. Search-based software testing (SBST) can help automate this process and thus to reduce time and effort and increase quality by automatically generating relevant test cases. Previous research have mainly focused on static programming languages with simple test data inputs such as numbers. In this work we present an approach for search-based software testing for dynamic programming languages that can generate test scenarios and both simple and more complex test data. This approach is implemented as a tool in and for the dynamic programming language Ruby. It uses an evolutionary algorithm to search for tests that gives structural code coverage. We have evaluated the system in an experiment on a number of code examples that differ in complexity and the type of input data they require. We compare our system with the results obtained by a random test case generator. The experiment shows, that the presented approach can compete with random testing and, for many situations, quicker finds tests and data that gives a higher structural code coverage.
author Mairhofer, Stefan
author_facet Mairhofer, Stefan
author_sort Mairhofer, Stefan
title Search-based software testing and complex test data generation in a dynamic programming language
title_short Search-based software testing and complex test data generation in a dynamic programming language
title_full Search-based software testing and complex test data generation in a dynamic programming language
title_fullStr Search-based software testing and complex test data generation in a dynamic programming language
title_full_unstemmed Search-based software testing and complex test data generation in a dynamic programming language
title_sort search-based software testing and complex test data generation in a dynamic programming language
publisher Blekinge Tekniska Högskola, Avdelningen för programvarusystem
publishDate 2008
url http://urn.kb.se/resolve?urn=urn:nbn:se:bth-4340
work_keys_str_mv AT mairhoferstefan searchbasedsoftwaretestingandcomplextestdatagenerationinadynamicprogramminglanguage
_version_ 1718606909391503360