โšก Quick Start Guide

Get started with automated testing in 5 minutes

๐Ÿš€ Choose Your Method

Method 1: iOS App

Best for: Visual testing, real-time monitoring

  1. Open iOS Control App
  2. Tap your sensor
  3. Scroll down โ†’ Tap "Test Workouts"
  4. Select any workout
  5. Tap "Start Workout"

โœ… Real-time progress bars
โœ… Live stats display
โœ… Pause/resume/skip controls

Method 2: Python Script

Best for: Automation, CI/CD, scripting

# Install
pip install colorama tabulate

# Run a workout
python test_automation.py --workout intervals

# Quick test all scenarios
python test_automation.py --all

โœ… Command-line automation
โœ… Custom JSON workouts
โœ… Batch testing

Method 3: Manual Control

Best for: Debugging, custom testing

# Set intensity directly
chip-tool levelcontrol move-to-level 180 0 0 0 1 1

# Turn on/off
chip-tool onoff on 1 1
chip-tool onoff off 1 1

โœ… Direct hardware access
โœ… Single command testing
โœ… Debugging

๐Ÿ“‹ 10 Pre-Built Test Scenarios

Scenario Duration Purpose
HIIT Intervals 30m Test rapid intensity changes
Endurance 45m Test sustained output
Recovery 20m Test low intensity baseline
Pyramids 25m Test progressive ramps
Tabata 4m Test maximum sprints
FTP Test 25m Test threshold power
Warm-up 10m Test gradual builds
Sweet Spot 40m Test sub-threshold work
VO2 Max 30m Test high intensity
Ramp Test 15m Test progressive overload

๐ŸŽฏ Quick Test Examples

Example 1: Test Intervals with iOS App

  1. Open app โ†’ Select sensor
  2. Tap "Test Workouts"
  3. Select "HIIT Intervals"
  4. Review 9 segments: Warm-up โ†’ Intervals ร— 4 โ†’ Cool-down
  5. Tap "Start Workout"
  6. Watch progress:
    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 45% | 13:30 / 16:30
    Current: Interval 2
    โšก 327W | โค๏ธ 171 BPM

Example 2: Quick Test All Scenarios

iOS App:
  1. Tap "Test Workouts"
  2. Tap "Run Quick Test Suite"
  3. Wait 2 minutes
  4. View results: โœ… 10/10 passed
Python:
python test_automation.py --all

๐Ÿงช Running Quick Test Suite

Testing HIIT Intervals... โœ… PASS
Testing Endurance Ride... โœ… PASS
Testing Recovery Spin... โœ… PASS
Testing Pyramid Intervals... โœ… PASS
Testing Tabata Protocol... โœ… PASS
Testing FTP Test... โœ… PASS
Testing Warm-up Routine... โœ… PASS
Testing Sweet Spot Training... โœ… PASS
Testing VO2 Max Intervals... โœ… PASS
Testing Ramp Test... โœ… PASS

Test Results: 10/10 passed

Example 3: Custom Workout

Create my_workout.json:

{
  "name": "Quick Sprint Test",
  "description": "3 sprints with recovery",
  "segments": [
    {"name": "Warm-up", "duration": 180, "intensity": 100},
    {"name": "Sprint 1", "duration": 30, "intensity": 240},
    {"name": "Recovery", "duration": 120, "intensity": 80},
    {"name": "Sprint 2", "duration": 30, "intensity": 240},
    {"name": "Recovery", "duration": 120, "intensity": 80},
    {"name": "Sprint 3", "duration": 30, "intensity": 240},
    {"name": "Cool-down", "duration": 180, "intensity": 70}
  ]
}

Run it:

python test_automation.py --custom my_workout.json

๐Ÿ”ฅ Real-World Testing Workflows

Workflow 1: Daily Smoke Test

Time: 2 minutes

# Quick test all scenarios
python test_automation.py --all

# Check results
# All passed? โœ… Good to go
# Any failed? ๐Ÿ” Investigate
Workflow 2: Pre-Demo Check

Time: 5 minutes

  1. Open "Test Workouts"
  2. Run "Warm-up Routine" (10m)
  3. Open Zwift during workout
  4. Verify smooth transitions
  5. Ready to demo! ๐ŸŽ‰
Workflow 3: Zwift Integration Test

Time: 30 minutes

# Terminal 1: Start automated workout
python test_automation.py --workout intervals

# Terminal 2: Monitor logs
screen /dev/ttyACM0 115200

# Zwift: Pair sensors and ride
# Verify power/HR changes match automation

๐Ÿ’ก Pro Tips

Tip 1: Parallel Testing

Run multiple tests simultaneously on different devices using different node IDs

Tip 2: Automated Nightly Tests

Create a cron job to run tests every night and email results

Tip 3: Create Test Playlists

Save common test sequences in text files and run them in batch

Tip 4: Integration with CI/CD

Add test automation to your GitHub Actions workflow

๐Ÿ“Š Understanding Results

iOS App Results

Overall Progress: 45%
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
13:30 / 16:30

Current Segment: Interval 2
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ 32%
โšก 327W | โค๏ธ 171 BPM | 2:43 remaining

โœ… Workout Complete!
Total Time: 30:05
Segments Completed: 9/9
All segments completed successfully!

Python Script Results

๐ŸŽ‰ Workout Complete!

============================================================
Workout Summary
============================================================
Total Time: 0:30:05
Segments Completed: 9/9
โœ… All segments completed successfully!

๐Ÿ› Common Issues & Fixes

Issue Solution
"Sensor offline" โœ… Check power
โœ… Check Thread network
โœ… Re-commission device
"Values not changing" โœ… Enable sensor in app
โœ… Check BLE connection
โœ… Verify firmware running
"Zwift not updating" โœ… Re-pair in Zwift
โœ… Check BLE range
โœ… Restart Zwift
"Python script fails" โœ… Install dependencies
โœ… Check node-id correct
โœ… Verify chip-tool installed

โœ… Success Checklist

Before shipping/demoing:

๐ŸŽ“ Next Steps

1. Run First Test

python test_automation.py --workout warmup

2. Try iOS Automation

Open app โ†’ Test Workouts โ†’ Start

3. Create Custom Workout

Copy template, modify segments, test it!

Ready to automate! Let's test! ๐Ÿš€

Continue to the full testing guide for advanced features and detailed documentation.