Investigating flaky tests can uncover flaws in the very software they are testing
We all know that tests can be flaky, and when they are flaky, they are a challenge to investigate. Sometimes, flaky tests are caused by flaws in test design.
Other times they are caused by concurrency. However, investigating these tests can uncover flaws in the very software they are testing!
This talk will cover a series of investigations into flaky tests, where the cause of flakiness is the software under test, not the tests themselves. Sometimes the flakiness is a manifestation of the way the software works, and the tests need to be hardened against that behavior. Other times the flakiness elucidates an issue that wouldn't have otherwise been found, and leads to improvements in the software.
Either way, let's get our hands dirty and investigate some flaky tests!