TY - GEN
T1 - Initial Results on Counting Test Orders for Order-Dependent Flaky Tests Using Alloy
AU - Wang, Wenxi
AU - Yi, Pu
AU - Khurshid, Sarfraz
AU - Marinov, Darko
N1 - Acknowledgment. We thank Wing Lam and Anjiang Wei for discussions on counting test orders. This work was partially supported by NSF grants CCF-1763788. We also acknowledge support for research on flaky tests from Facebook and Google.
PY - 2022
Y1 - 2022
N2 - Flaky tests can seemingly nondeterministically pass or fail for the same code under test. Flaky tests are detrimental to regression testing because tests that pass before code changes and fail after code changes do not reliably indicate problems in code changes. An important category of flaky tests is order-dependent tests that pass or fail based on the order of tests in the test suite. Prior work has considered the problem of counting test orders that pass or fail, given relationships of tests within a test suite. However, prior work has not addressed the most general case of these relationships. This paper shows how to encode the problem of counting test orders in the Alloy modeling language and how to use propositional model counters to obtain the count for test orders. We illustrate that Alloy makes it easy to handle even the most general case. The results show that this problem produces challenging propositional formulas for the state-of-the-art model counters.
AB - Flaky tests can seemingly nondeterministically pass or fail for the same code under test. Flaky tests are detrimental to regression testing because tests that pass before code changes and fail after code changes do not reliably indicate problems in code changes. An important category of flaky tests is order-dependent tests that pass or fail based on the order of tests in the test suite. Prior work has considered the problem of counting test orders that pass or fail, given relationships of tests within a test suite. However, prior work has not addressed the most general case of these relationships. This paper shows how to encode the problem of counting test orders in the Alloy modeling language and how to use propositional model counters to obtain the count for test orders. We illustrate that Alloy makes it easy to handle even the most general case. The results show that this problem produces challenging propositional formulas for the state-of-the-art model counters.
UR - http://www.scopus.com/inward/record.url?scp=85130236153&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85130236153&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-04673-5_9
DO - 10.1007/978-3-031-04673-5_9
M3 - Conference contribution
AN - SCOPUS:85130236153
SN - 9783031046728
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 123
EP - 130
BT - Testing Software and Systems - 33rd IFIP WG 6.1 International Conference, ICTSS 2021, Proceedings
A2 - Clark, David
A2 - Menendez, Hector
A2 - Cavalli, Ana Rosa
PB - Springer
T2 - 33rd IFIP WG 6.1 International Conference on Testing Software Systems, ICTSS 2021
Y2 - 10 November 2021 through 12 November 2021
ER -