Testing Your Flow
Ensure your flow works perfectly before going live. Learn systematic testing approaches, tools, and best practices for catching issues early.
π You Are Here
Your flow is configured and ready for testing. Before sending real leads, you need to verify everything works correctly. This guide shows you how to test thoroughly and confidently.
π― What You'll Learn
- Pre-launch testing checklist
- Using test tools effectively
- Testing each component
- Load and stress testing
- Troubleshooting test failures
- Going live safely
ποΈ Pre-Testing Setup
Enable Test Mode
Before testing:
- Set flow to Test Mode (won't bill)
- Enable verbose logging
- Set up test recipients
- Configure alerts
Prepare Test Data
Create realistic test scenarios:
// Valid Lead
{
"email": "test.valid@example.com",
"phone": "5551234567",
"first_name": "Test",
"last_name": "Valid",
"state": "CA",
"zip": "90210"
}
// Invalid Email
{
"email": "notanemail",
"phone": "5551234567",
"first_name": "Test",
"last_name": "Invalid"
}
// Missing Required Field
{
"email": "test@example.com",
// phone missing
"first_name": "Test"
}
π§ͺ Component Testing
Step 1: Test Source Configuration
What to Test:
- Authentication works
- URL is accessible
- Field names match
- Required fields enforced
How to Test:
- Use source's Test button
- Submit minimal valid data
- Check Events tab
- Verify lead received
Expected Result:
Event: Lead Received
Status: Success
Source: Your Test Source
Fields: All mapped correctly
Step 2: Test Each Enhancement
For Each Enhancement Step:
- Send lead with valid data
- Verify enhancement runs
- Check appended fields
- Test error handling
Example - Email Validation:
Test 1: valid@example.com
Result: valid = true, deliverable = true
Test 2: invalid@fake-domain-xyz.com
Result: valid = false, reason = "Domain does not exist"
Test 3: role@example.com
Result: valid = true, role_address = true
Step 3: Test Filters
Critical Filter Tests:
Acceptance Criteria:
- β Valid lead passes
- β Invalid lead rejected
- π Rejection reason clear
Business Rules:
// Test age filter
Test 1: age = 25 β PASS
Test 2: age = 17 β REJECT (too young)
Test 3: age = null β REJECT (missing)
// Test geographic filter
Test 1: state = "CA" β PASS
Test 2: state = "XX" β REJECT (invalid)
Test 3: state = "HI" β REJECT (not serviceable)
Step 4: Test Delivery
Delivery Testing Checklist:
- Authentication successful
- All fields mapped
- Response parsed correctly
- Success tracked
- Failures handled
- Retries working
Test Scenarios:
- Successful delivery
- Auth failure (bad credentials)
- Timeout (slow endpoint)
- Invalid data (missing required)
- Duplicate (send same lead twice)
π End-to-End Testing
Complete Flow Test
Run leads through the entire flow:
1. Submit test lead via API
2. Watch Events in real-time
3. Verify each step executes
4. Check final delivery
5. Confirm in destination system
Test All Paths
Success Path:
- Valid data β Enhancements β Delivery β Success
Failure Paths:
- Invalid email β Rejection β Proper error
- Duplicate β Filter β Correct message
- API error β Retry β Recovery
Edge Cases
Don't forget to test:
- Empty fields:
"phone": ""
- Special characters:
"name": "O'Brien"
- Long values: 500 character strings
- Unicode:
"name": "JosΓ© GarcΓa"
- Null values:
"middle_name": null
π Load Testing
Gradual Load Increase
Test how your flow handles volume:
# Start small
Minute 1: Send 1 lead
Minute 2: Send 10 leads
Minute 3: Send 50 leads
Minute 4: Send 100 leads
# Monitor
- Processing time
- Queue depth
- Error rate
- API limits
Concurrent Testing
Test parallel processing:
# Send 10 leads simultaneously
for i in {1..10}; do
curl -X POST [your-endpoint] \
-H "X-API-Key: [key]" \
-d @testlead.json &
done
Stress Points
Identify where flow breaks:
- Enhancement API rate limits
- Delivery endpoint capacity
- Database connection limits
- Memory constraints
π οΈ Testing Tools
Built-in Test Feature
Every source has a test interface:
- Navigate to source
- Click Test button
- Fill form with test data
- Submit and track
API Testing Tools
Postman:
- Save test collections
- Environment variables
- Automated test runs
- Response validation
cURL:
# Basic test
curl -X POST https://app.leadconduit.com/flows/[ID]/sources/[NAME] \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"test@example.com","phone":"5551234567"}'
# Test with file
curl -X POST https://app.leadconduit.com/flows/[ID]/sources/[NAME] \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d @testlead.json
# Verbose output
curl -v -X POST ...
Webhook Testing
For testing deliveries:
- webhook.site
- requestbin.com
- ngrok (local testing)
- beeceptor.com
π― Test Scenarios
Scenario 1: Valid Lead
{
"email": "john.doe@gmail.com",
"phone": "5551234567",
"first_name": "John",
"last_name": "Doe",
"state": "CA",
"zip": "90210",
"age": "35",
"consent": true
}
Expected: Full success through delivery
Scenario 2: Invalid Email
{
"email": "not.an.email",
"phone": "5551234567",
"first_name": "Test",
"last_name": "User"
}
Expected: Rejection at email validation
Scenario 3: Duplicate Lead
Send same lead twice:
First: Success
Second: Rejected as duplicate
Scenario 4: API Failure
Simulate endpoint down:
- Point delivery to bad URL
- Send test lead
- Verify retry attempts
- Check failure handling
π Testing Checklist
Before Testing
- Flow in test mode
- Test data prepared
- Events tab open
- Destination access ready
Source Testing
- Authentication works
- Fields map correctly
- Required fields enforced
- Error messages clear
Processing Testing
- Enhancements run
- Filters work correctly
- Validations accurate
- Edge cases handled
Delivery Testing
- Successful delivery
- Failed delivery handling
- Retry logic works
- Response parsing correct
Load Testing
- Normal volume works
- Peak volume handled
- Recovery from overload
- No data loss
π Going Live
Final Checks
Before activating:
- Remove test mode
- Verify production credentials
- Clear test data
- Set appropriate alerts
- Document configuration
Soft Launch
Start cautiously:
- Enable for limited sources
- Monitor closely first day
- Check early results
- Gradually increase volume
Monitoring Plan
Set up monitoring:
- Success rate alerts
- Volume anomalies
- Error rate thresholds
- Performance degradation
π« Common Testing Mistakes
Testing Only Success Cases
Wrong: Only testing valid data
Right: Test failures, edges, errors
Not Testing Under Load
Wrong: Single lead tests only
Right: Test expected daily volume
Skipping Integration Tests
Wrong: Assuming endpoints work
Right: Test actual delivery endpoints
Forgetting Edge Cases
Wrong: Standard data only
Right: Special characters, limits, nulls
π‘ Testing Best Practices
Test Early and Often
- Don't wait until complete
- Test each component
- Iterate based on results
Use Realistic Data
- Match production formats
- Include edge cases
- Test all scenarios
Document Tests
- What you tested
- Expected results
- Actual results
- Issues found
Automate When Possible
- Regression testing
- Load testing
- Monitoring
π Related Documentation
- Basic Troubleshooting - When tests fail
- Monitoring Performance - Post-launch monitoring
- Common Issues - Problem resolution
β Test Complete: Thorough testing prevents production problems. Take time to test properly - your future self will thank you when everything runs smoothly!
Comments
0 comments
Please sign in to leave a comment.