Software systems evolve incrementally both during and after development, and many test cases become obsolete while software evolves. Updating test suites in the context of software evolution is a complex and time consuming activity. This article focuses on the problem of updating test suites automatically, and identifies eight scenarios that allow either to repair test cases or to use test cases to generate new ones, and proposes eight test evolution algorithms that automatically repair and generate test cases by adapting existing ones. This article presents a framework, TestCareAssistant (TCA), that implements the algorithms to support the evolution of test suites written in Java. The framework has been extensively evaluated on five different open source projects where it has been applied to repair 138 broken test cases, and to generate the test cases for 727 new classes and 2462 new methods. The results obtained with TCA indicate that the approach can successfully repair 90% of the broken test cases, create test cases that cover a large amount of code and complement the test cases that can be generated by state of the art techniques

MirzaAghaei, M., Pastore, F., & Pezzè, M. (2014). Automatic test case evolution. SOFTWARE TESTING VERIFICATION & RELIABILITY, 24(5), 386-411 [10.1002/stvr.1527].

Automatic test case evolution

PASTORE, FABRIZIO;PEZZE', MAURO
2014

Abstract

Software systems evolve incrementally both during and after development, and many test cases become obsolete while software evolves. Updating test suites in the context of software evolution is a complex and time consuming activity. This article focuses on the problem of updating test suites automatically, and identifies eight scenarios that allow either to repair test cases or to use test cases to generate new ones, and proposes eight test evolution algorithms that automatically repair and generate test cases by adapting existing ones. This article presents a framework, TestCareAssistant (TCA), that implements the algorithms to support the evolution of test suites written in Java. The framework has been extensively evaluated on five different open source projects where it has been applied to repair 138 broken test cases, and to generate the test cases for 727 new classes and 2462 new methods. The results obtained with TCA indicate that the approach can successfully repair 90% of the broken test cases, create test cases that cover a large amount of code and complement the test cases that can be generated by state of the art techniques
Articolo in rivista - Articolo scientifico
Test case evolution, test case generation
English
386
411
26
MirzaAghaei, M., Pastore, F., & Pezzè, M. (2014). Automatic test case evolution. SOFTWARE TESTING VERIFICATION & RELIABILITY, 24(5), 386-411 [10.1002/stvr.1527].
Mirzaaghaei, M; Pastore, F; Pezze', M
File in questo prodotto:
Non ci sono file associati a questo prodotto.

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/101528
Citazioni
  • Scopus 6
  • ???jsp.display-item.citation.isi??? 5
Social impact