💡 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
- Open App → Select Sensor
- Tap "Test Workouts"
- Choose Scenario
- Tap "Start Workout"
- Monitor progress
- 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
- Run quick test:
python test_automation.py --all - Check results: PASS/FAIL count
- If FAIL: Check logs, fix issue
- Generate report weekly
- Update baseline monthly
🎓 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.