📋 Testing Quick Reference Card

One-Page Guide to Fitness Sensor Testing

💡 Pro Tip: Print this page or bookmark it for quick access to common commands and troubleshooting steps.

🎯 Quick Commands

Daily Use

# Quick test (2 min)
python test_automation.py --all
# Start dashboard
python live_monitor.py

Full Testing

# Complete suite (15 min)
python regression_suite.py --run-all
# Generate report
python test_reporter.py --results *.json

Custom Workouts

# Specific workout
python test_automation.py --workout intervals
# Load custom
python test_automation.py --custom workout.json

Monitoring

# Open http://localhost:8080
python live_monitor.py
# View device logs
screen /dev/ttyACM0 115200

📱 iOS App Quick Guide

  1. Open App → Select Sensor
  2. Tap "Test Workouts"
  3. Choose Scenario
  4. Tap "Start Workout"
  5. Monitor progress
  6. View results

🏋️ 10 Test Scenarios

Name Time Purpose
Intervals 30m Rapid changes
Endurance 45m Steady state
Recovery 20m Low intensity
Pyramids 25m Progressive ramps
Tabata 4m Max sprints
FTP 25m Threshold test
Warm-up 10m Gradual builds
Sweet Spot 40m Sub-threshold
VO2 Max 30m High intensity
Ramp 15m Progressive overload

🔧 Intensity Quick Reference

Zone Intensity Power HR Feel
Recovery 0-50 50-118W 60-87 Very Easy
Easy 50-100 118-187W 87-115 Comfortable
Endurance 100-140 187-243W 115-135 Moderate
Tempo 127 (default) 225W 130 Steady
Threshold 180 291W 160 Hard
VO2 Max 200-210 325-338W 171-177 Very Hard
Sprint 254 (max) 400W 200 Maximum

📊 File Outputs

File Description
test_results.json Test data from automation runs
test_report_DATE.html Visual HTML report with charts
regression_results_DATE.json Regression test data
baseline.json Performance baseline for comparison
monitor_dashboard.html Live monitoring dashboard

🐛 Quick Troubleshooting

Problem Solution
Sensor offline Check power, re-commission device
Values not changing Enable sensor in iOS app, check BLE
Zwift not updating Re-pair sensors in Zwift settings
chip-tool error Check node-id (default: 1), verify commission
Permission denied sudo usermod -a -G dialout $USER (logout/login)
Port 8080 in use Change port in live_monitor.py or kill process
Python dependencies pip install colorama tabulate

✅ Daily Checklist

🎓 Best Practices

1. Test before commit

Always run quick tests before pushing code

2. Monitor during long tests

Use live dashboard for 15+ minute tests

3. Generate reports regularly

Create weekly HTML reports for tracking

4. Update baselines

Set new baseline after validated changes

5. Document all issues

Log bugs and workarounds in reports

6. Use version control

Commit test results and reports

📞 Emergency Commands

# Reset device
chip-tool onoff toggle 1 1
# Check connection
chip-tool onoff read on-off 1 1
# Force intensity to default
chip-tool levelcontrol move-to-level 127 0 0 0 1 1
# View device logs
screen /dev/ttyACM0 115200

🚀 3-Minute Quick Start

# 1. Install dependencies
pip install colorama tabulate

# 2. Run quick test
python test_automation.py --all

# 3. Generate report
python test_reporter.py --results test_results.json

# 4. View report
open test_report_*.html

📈 Success Metrics

Metric Target Critical Threshold
Tests Passing >98% >90%
Avg Latency <2s <5s
Connection Time <5s <10s
Update Rate 1 Hz >0.5 Hz
Stability (1hr) >99% >95%

💡 Pro Tips

Use --dry-run flag for testing scripts without hardware
Run live_monitor.py during development for real-time feedback
Set baseline after each major release for accurate regression tracking
Archive reports by date: reports/YYYY-MM/
Use custom workouts for testing specific edge cases
Check serial logs when automated tests fail

📄 Print This Page!

This reference card is designed to be printed and kept handy for quick access to common commands and troubleshooting steps.