Almost every engineering team eventually experiences flaky tests. Martin Fowler sums up the problem nicely:
"[Flaky tests] are a virulent infection that can completely ruin your entire test suite. As a result they need to be dealt with as soon as you can, before your entire deployment pipeline is compromised." - Martin Fowler
As your product grows in complexity, so too does testing complexity. Ignoring this complexity can cause test assumptions to break and appear unstable. For a company, this can dramatically affect product stability and release velocity. BuildPulse helps you find and fix flaky tests.
Your product is only as stable and predictable as your tests.
We provide an end-to-end solution to detect flaky tests, give you metrics on productivity and stability, and track progress over time.
- Time consumed by flaky tests across various time windows
- Flaky test history
- Advanced reporting
- PR bots
- API access
There are 2 steps to enabling BuildPulse for your product.
Exporting a JUnit XML report from your testing framework
Enable BuildPulse CI integrations or the test-reporter to upload results to BuildPulse
See the Getting Started guide for more info.
BuildPulse determines that a tests is unstable when we observe a test failure and success for the same code. We determine if code has changed by comparing the git tree SHA against previous builds.
We only require your test results and various metadata such as git commit and tree SHAs.
We currently don't require access to source code or any PII.