Stop guessing. Start knowing which tests you can trust.
Automatic flaky test detection and test reliability insights for .NET teams.
How much time did your team waste debugging flaky tests last week?
We've all been there. Your test passes locally but fails in CI. You re-run it and it passes. You waste hours investigating only to find out the test itself is unreliable, not your code.
Traditional test frameworks tell you if a test passed or failed—but they don't tell you if you can trust that result. Teams spend countless hours:
- Re-running tests hoping they'll pass
- Debugging tests that fail intermittently
- Wondering if failures are real bugs or environmental issues
- Lacking visibility into test reliability across environments
Xping solves this. We bring observability to testing, giving you confidence scores, flaky test detection, and actionable insights—all with minimal setup.
- Automatic Flaky Test Detection - Statistical analysis identifies unreliable tests before they become a problem
- Test Reliability Insights - See which tests you can trust and which need attention
- Zero-Config Setup - Add one attribute or line of code, start tracking immediately
- Minimal Overhead - Less than 5ms per test, sub-1KB memory footprint
- Focus on Real Bugs - Stop chasing flaky tests, focus on actual issues
- Environment Comparison - Understand how tests behave locally vs. CI/CD
- Historical Trends - See test reliability over time
- Data-Driven Decisions - Quantify test suite quality with hard metrics
- Problem Identification - Automatically spot flaky tests across your entire suite
- CI/CD Intelligence - Works seamlessly with GitHub Actions, Azure DevOps, Jenkins, GitLab, and more
- Test Execution Tracking - Automatically collect test results, duration, outcomes, and environment metadata
- Resilient Upload - Retry policies and circuit breakers for reliable data delivery
- Multi-Framework Support - NUnit, xUnit, and MSTest
- Flexible Configuration - JSON, environment variables, or programmatic setup
Get started in under 5 minutes:
dotnet add package Xping.Sdk.NUnit # or Xping.Sdk.XUnit / Xping.Sdk.MSTestexport XPING_APIKEY="your-api-key"
export XPING_PROJECTID="your-project-id"NUnit - Add one attribute to track all tests:
[assembly: XpingTrack]xUnit - Add one line to AssemblyInfo.cs:
[assembly: TestFramework("Xping.Sdk.XUnit.XpingTestFramework", "Xping.Sdk.XUnit")]MSTest - Inherit from base class:
[TestClass]
public class MyTests : XpingTestBase { }That's it! Run your tests normally and view insights at app.xping.io
- NUnit Setup Guide - Detailed setup, attributes, and best practices
- xUnit Setup Guide - Custom framework configuration and examples
- MSTest Setup Guide - Base class usage and TestContext integration
┌─────────────────────────────────────────────────────────────────┐
│ Your Test Project │
│ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ NUnit Tests │ │ xUnit Tests │ │ MSTest Tests │ │
│ └──────┬───────┘ └───────┬──────┘ └────────┬──────┘ │
└─────────┼──────────────────┼──────────────────┼─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────┐
│ Test Framework Adapters │
│ ┌──────────────┐ ┌───────────────┐ ┌──────────────┐ │
│ │ Xping.NUnit │ │ Xping.XUnit │ │ Xping.MSTest │ │
│ └──────┬───────┘ └───────┬───────┘ └───────┬──────┘ │
└─────────┼──────────────────┼──────────────────┼─────────────────┘
│ │ │
└──────────────────┼──────────────────┘
▼
┌─────────────────────────────────────┐
│ Xping.Sdk.Core │
│ │
│ • Test Execution Tracking │
│ • Environment Detection │
│ • Configuration Management │
│ • Resilient Upload │
└──────────────────┬──────────────────┘
▼
Xping Cloud Platform
Xping SDK can be configured via environment variables, appsettings.json, or programmatically.
# Required
export XPING_APIKEY="your-api-key"
export XPING_PROJECTID="your-project-id"
# Optional
export XPING_ENABLED="true"
export XPING_BATCHSIZE="100"See the Configuration Reference for complete options including JSON configuration, CI/CD integration examples (GitHub Actions, Azure DevOps, Jenkins), and advanced settings.
- Test name and fully qualified name
- Outcome (Passed, Failed, Skipped, etc.)
- Duration (milliseconds)
- Start and end timestamps (UTC)
- Error message and stack trace (for failures)
- Test categories/traits
- Operating system and version
- .NET runtime version
- Machine name
- Network metrics (latency, packet loss)
- CI/CD platform detection
- Build/branch information (from CI environment)
We take data privacy seriously. Here's exactly what we collect and don't collect:
- No source code
- No sensitive data from test assertions
- No credentials or secrets
- No personally identifiable information (PII)
- Encryption - All data transmitted over HTTPS
- API Key Security - Environment variable support (never commit keys to source control)
- Data Retention - Configurable retention policies
- Open Source - Full transparency, review the code yourself
- Configurable Collection - Stack traces and sampling are optional
Xping helps you identify and understand common test reliability issues. The SDK collects test execution data, and the Dashboard analyzes it to detect:
- Race Conditions - Tests that fail intermittently due to timing issues
- External Service Dependencies - Tests affected by network or service availability
- Shared State Issues - Tests that interfere with each other
- Time-Based Flakiness - Tests that fail at specific times or dates
- Resource Exhaustion - Tests that leak resources over time
- Non-Deterministic Data - Tests with random or unpredictable data
Once tests are tracked with the SDK, the Xping Dashboard provides:
- Reliability scores and confidence metrics for each test
- Automatic flaky test detection with pattern analysis
- Environment comparison (local vs. CI/CD behavior)
- Historical trends and performance insights
For detailed examples of each pattern and how Xping detects them, see the Common Flaky Patterns Guide.
Essential Resources:
Complete documentation available at docs.xping.io
We welcome contributions! Whether it's:
- Bug reports
- Feature requests
- Documentation improvements
- Code contributions
# Clone the repository
git clone https://github.com/xping-dev/sdk-dotnet.git
cd sdk-dotnet
# Restore dependencies
dotnet restore
# Build
dotnet build
# Run tests
dotnet test
# Run with coverage
dotnet test /p:CollectCoverage=trueSee CONTRIBUTING.md for detailed guidelines.
Check our Milestones for planned features:
- Working Set - Currently in progress
- Backlog - Future considerations
- Enhanced flaky test analytics
- Test failure categorization (infrastructure vs. code)
- Multi-language support (Java, Python, JavaScript)
- Self-hosted deployment option
- GitHub Discussions - Ask questions, share ideas
- Issue Tracker - Report bugs, request features
- Email Support - Direct support
- Documentation - Comprehensive guides
This project is licensed under the MIT License - see the LICENSE file for details.