https://undo.io
Go Green, Stay Green
— Fixing the intermittent failures in your CI
Greg Law, co-founder and CTO
Go Green, Stay Green Fixing the intermittent failures in your CI - - PowerPoint PPT Presentation
Go Green, Stay Green Fixing the intermittent failures in your CI Greg Law, co-founder and CTO https://undo.io From 1990 - 2005 development hardly changed In the last ten years everything has changed Test OK? What does this mean?? 100%
https://undo.io
Greg Law, co-founder and CTO
Test OK?
What does this mean??
100% test coverage?
(obviously not.)
100% reliable test-suite? Absolutely!
Quality Productivity
Quality Productivity
Quality Productivity
Go green, stay green
Step 1: exclude flaky tests Ever-growing backlog of test that are flaky where no-one understands why.
Remove the flaky tests? Viable, but has the obvious flaw of reducing coverage. The flaky tests are often the most interesting. Write only deterministic tests? Not viable because deterministic tests are unable to catch non- deterministic errors (e.g. race conditions). Excludes fuzz testing and other powerful techniques. Fix the flaky tests? Gee thanks, great advice(!)
The intermittent test failures kill us
1000’s more tests every hour. Even 0.1% failure rate very bad news. Most of them probably don’t really matter. So we’ll come back to them later, it should be less hectic next week.
Ever-growing backlog of test that are flaky where no-one understands why.
Continuous Integration Stress Testing of SAP HANA
Record program’s execution Replay at any time Freeze-frame Single-step backwards Single-step forwards Find out why the program made the decisions it did
Software Flight Recording Technology
The solution
recording to diagnose the root cause of the problem
buffer and sporadically releasing channels in cases of timeout, resulted in queries incorrectly aborting
sporadic problems which were hard to reproduce
memory table structures during table unloads under heavy system load
incorrectly reusing cached session data
@gregthelaw https://undo.io/resources/gdb-watchpoint/