2012 16th European Conference on Software Maintenance and Reengineering 2012
DOI: 10.1109/csmr.2012.12
|View full text |Cite
|
Sign up to set email alerts
|

Aiding Software Developers to Maintain Developer Tests

Abstract: Abstract-Unit and integration tests can be invaluable during software maintenance as they help to understand pieces of code, they help with quality assurance and they build up confidence amongst developers. Unfortunately then, previous research has shown that unit tests do not always co-evolve nicely with the production code, thus leaving the software vulnerable. This paper presents TestNForce, a tool that helps developers to identify the unit tests that need to be altered and executed after a code change, the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
30
0

Year Published

2012
2012
2024
2024

Publication Types

Select...
3
3
2

Relationship

4
4

Authors

Journals

citations
Cited by 29 publications
(30 citation statements)
references
References 21 publications
0
30
0
Order By: Relevance
“…The weak correlations between test churn and test executions (RQ1.3), and production churn and test executions (RQ1.4) suggest an explanation: developers simply do not assert for every change that their tests still run, because "this change cannot possibly break the tests." Even when the modifications to production or test code get larger, developers do not necessarily execute tests in the IDE more often [43]. These observations could stem from a development culture that embraces build failures and sees them as part of the normal development life-cycle, especially when the changes are not yet integrated into the main development line.…”
Section: Interpretation Of Resultsmentioning
confidence: 99%
“…The weak correlations between test churn and test executions (RQ1.3), and production churn and test executions (RQ1.4) suggest an explanation: developers simply do not assert for every change that their tests still run, because "this change cannot possibly break the tests." Even when the modifications to production or test code get larger, developers do not necessarily execute tests in the IDE more often [43]. These observations could stem from a development culture that embraces build failures and sees them as part of the normal development life-cycle, especially when the changes are not yet integrated into the main development line.…”
Section: Interpretation Of Resultsmentioning
confidence: 99%
“…We prefer a dynamic solution over a static analysis approach because it is more precise as pointed out by Van Rompaey and Demeyer [11]. The key idea behind our approach is to run each test case separately, thereby identifying all the entities from the production code addressed by the test, similarly to the approach used [12]. To retrieve the covered entities (e.g., Java classes) we process test coverage information gathered with Cobertura 1 .…”
Section: B Linking Production and Test Codementioning
confidence: 99%
“…In response to observations on the lack of co-evolution, Hurdugaci and Zaidman [12] and Soetens et al [18] proposed ways to stimulate developers to co-evolve their production and test code by offering specialized tool support.…”
Section: Related Workmentioning
confidence: 99%
“…This system is used as an example in the book "Growing Object-Oriented Software, Guided by Tests" by Freeman et al [6] to describe TDD techniques. The software and the related tests are explained in detail in this book and are publicly available 9 . The system comprises approximately 2,000 lines of code.…”
Section: Case Study Ii: Auction Snipermentioning
confidence: 99%