An important aim in software testing is constructing a test suite with high structural code coverage, that is, ensuring that most if not all of the code under test have been executed by the test cases comprising the test suite. Several search-based techniques have proved successful at automatically generating tests that achieve high coverage. However, despite the well-established arguments behind using evolutionary search algorithms (eg, genetic algorithms) in preference to random search, it remains an open question whether the benefits can actually be observed in practice when generating unit test suites for object-oriented classes. In this paper, we report an empirical study on the effects of using evolutionary algorithms (including a genetic algorithm and chemical reaction optimization) to generate test suites, compared with generating test suites incrementally with random search. We apply the EVOSUITE unit test suite generator to 1000 classes randomly selected from the SF110 corpus of open-source projects. Surprisingly, the results show that the difference is much smaller than one might expect: While evolutionary search covers more branches of the type where standard fitness functions provide guidance, we observed that, in practice, the vast majority of branches do not provide any guidance to the search. These results suggest that, although evolutionary algorithms are more effective at covering complex branches, a random search may suffice to achieve high coverage of most object-oriented classes.

Shamshiri, S., Rojas, J., Gazzola, L., Fraser, G., Mcminn, P., Mariani, L., et al. (2018). Random or evolutionary search for object-oriented test suite generation?. SOFTWARE TESTING VERIFICATION & RELIABILITY, 28(4) [10.1002/stvr.1660].

Random or evolutionary search for object-oriented test suite generation?

Gazzola, L;Mariani, L;
2018

Abstract

An important aim in software testing is constructing a test suite with high structural code coverage, that is, ensuring that most if not all of the code under test have been executed by the test cases comprising the test suite. Several search-based techniques have proved successful at automatically generating tests that achieve high coverage. However, despite the well-established arguments behind using evolutionary search algorithms (eg, genetic algorithms) in preference to random search, it remains an open question whether the benefits can actually be observed in practice when generating unit test suites for object-oriented classes. In this paper, we report an empirical study on the effects of using evolutionary algorithms (including a genetic algorithm and chemical reaction optimization) to generate test suites, compared with generating test suites incrementally with random search. We apply the EVOSUITE unit test suite generator to 1000 classes randomly selected from the SF110 corpus of open-source projects. Surprisingly, the results show that the difference is much smaller than one might expect: While evolutionary search covers more branches of the type where standard fitness functions provide guidance, we observed that, in practice, the vast majority of branches do not provide any guidance to the search. These results suggest that, although evolutionary algorithms are more effective at covering complex branches, a random search may suffice to achieve high coverage of most object-oriented classes.
Articolo in rivista - Articolo scientifico
automated software testing; automated test generation; chemical reaction optimization; genetic algorithms; random search; search-based software testing;
automated software testing; automated test generation; chemical reaction optimization; genetic algorithms; random search; search-based software testing; Software; Safety, Risk, Reliability and Quality
English
2018
28
4
e1660
partially_open
Shamshiri, S., Rojas, J., Gazzola, L., Fraser, G., Mcminn, P., Mariani, L., et al. (2018). Random or evolutionary search for object-oriented test suite generation?. SOFTWARE TESTING VERIFICATION & RELIABILITY, 28(4) [10.1002/stvr.1660].
File in questo prodotto:
File Dimensione Formato  
stvr.1660.pdf

Solo gestori archivio

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Dimensione 2.29 MB
Formato Adobe PDF
2.29 MB Adobe PDF   Visualizza/Apri   Richiedi una copia
stvr.1660.pdf

accesso aperto

Tipologia di allegato: Author’s Accepted Manuscript, AAM (Post-print)
Dimensione 526.81 kB
Formato Adobe PDF
526.81 kB Adobe PDF Visualizza/Apri
5-STVR.pdf

Solo gestori archivio

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Dimensione 2.24 MB
Formato Adobe PDF
2.24 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/204026
Citazioni
  • Scopus 17
  • ???jsp.display-item.citation.isi??? 15
Social impact