Proceedings of the 2015 International Symposium on Software Testing and Analysis 2015
DOI: 10.1145/2771783.2771793
|View full text |Cite
|
Sign up to set email alerts
|

Reliable testing: detecting state-polluting tests to prevent test dependency

Abstract: Writing reliable test suites for large object-oriented systems is complex and time consuming. One common cause of unreliable test suites are test dependencies that can cause tests to fail unexpectedly, not exposing bugs in the code under test but in the test code itself. Prior research has shown that the main reason for test dependencies is the "pollution" of state shared across tests.We propose a technique, called PolDet, for finding tests that pollute the shared state. In a nutshell, PolDet finds tests that … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
26
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
5
3

Relationship

2
6

Authors

Journals

citations
Cited by 72 publications
(26 citation statements)
references
References 16 publications
0
26
0
Order By: Relevance
“…Developers can obtain test dependencies for a test suite by (1) manually specifying the test dependencies, or (2) using automatic tools to compute the test dependencies [26,29,44,65,72]. For our evaluation, we obtain test dependencies through the latter approach, using automatic tools, because we want to evaluate the scenario of how any developer can benefit from our enhanced algorithms without having to manually specify test dependencies.…”
Section: Computing Test Dependenciesmentioning
confidence: 99%
See 1 more Smart Citation
“…Developers can obtain test dependencies for a test suite by (1) manually specifying the test dependencies, or (2) using automatic tools to compute the test dependencies [26,29,44,65,72]. For our evaluation, we obtain test dependencies through the latter approach, using automatic tools, because we want to evaluate the scenario of how any developer can benefit from our enhanced algorithms without having to manually specify test dependencies.…”
Section: Computing Test Dependenciesmentioning
confidence: 99%
“…Various techniques have been proposed to detect test dependencies automatically. PolDet [29] finds tests that pollute the shared state -tests that modify some location on the heap shared across tests or on the file system. However, the tests that PolDet detects do not fail themselves, and while they pollute shared state, no other tests currently in the test suite may fail due to that polluted shared state.…”
Section: Techniques To Detect Test Dependenciesmentioning
confidence: 99%
“…Bell et al [11] provide a dependency detection tool (Electrictest), and compare it to other state of the art tools, getting a similar fault detection rate with lower slowdown. Gyori et al [12] introduce formally the concept of test Pollution problem and present a technique (called POLDET) that detects in execution time the "polluting" tests. Another technique that addresses the test dependence problem is in [13], where Gambi et al provide an evolution of their prior approach (ElectricTest), and test it empirically with good results: they discover the known dependences and find another one that previous tests and tools did not discover.…”
Section: -29238-6_22mentioning
confidence: 99%
“…Our test state representation is closely related to the heap representation used by Gyori et al [18]. They store the portions of the concrete heap accessible from static fields of test classes.…”
Section: Related Workmentioning
confidence: 99%