  Context: When an application evolves, some of the developed test cases break.
Discarding broken test cases causes a significant waste of effort and leads to
test suites that are less effective and have lower coverage. Test repair
approaches evolve test suites along with applications by repairing the broken
test cases. Objective: Numerous studies are published on test repair approaches
every year. It is important to summarise and consolidate the existing knowledge
in the area to provide directions to researchers and practitioners. This
research work provides a systematic literature review in the area of test case
repair and breakage prevention, aiming to guide researchers and practitioners
in the field of software testing. Method: We followed the standard protocol for
conducting a systematic literature review. First, research goals were defined
using the Goal Question Metric (GQM). Then we formulate research questions
corresponding to each goal. Finally, metrics are extracted from the included
papers. Based on the defined selection criteria a final set of 41 primary
studies are included for analysis. Results: The selection process resulted in 5
journal papers, and 36 conference papers. We present a taxonomy that lists the
causes of test case breakages extracted from the literature. We found that only
four proposed test repair tools are publicly available. Most studies evaluated
their approaches on open-source case studies. Conclusion: There is significant
room for future research on test repair techniques. Despite the positive trend
of evaluating approaches on large scale open-source studies, there is a clear
lack of results from studies done in a real industrial context. Few tools are
publicly available which lowers the potential of adaption by industry
practitioners.
