Skip to content

Smoke checklist

Manual verification checklist for broadcast-grade metering functionality. Run through this list after each significant change to ensure no regressions.


Pre-Test Setup

  • Clear browser cache and localStorage
  • Use Chrome/Edge (best Web Audio support) or Firefox
  • Ensure audio output device is working
  • Have test audio files ready (sine wave, pink noise, speech, music)

1. Application Launch

1.1 Legacy Version (audio-meters-grid.html)

  • Page loads without console errors
  • All meter panels render correctly
  • Default theme applied (dark mode)
  • Header shows “VERO-BAAMBI” branding

1.2 Modular Version (index.html)

  • Loading indicator appears
  • ESM modules load without errors
  • App transitions from loading to ready state
  • Fallback link to legacy version works

2. Audio Source Selection

2.1 Test Tone Generator

  • 1kHz sine wave generates cleanly
  • Level control affects meter reading proportionally
  • Stereo/mono toggle works
  • No clicks or pops on start/stop

2.2 Microphone Input

  • Permission prompt appears
  • Audio capture starts after permission granted
  • Meter responds to voice input
  • Input device selector shows available devices

2.3 External Device (USB Audio)

  • External devices appear in device list
  • Device selection changes audio source
  • Refresh button updates device list
  • Hot-plug detection works (if supported)

3. Metering Accuracy

3.1 EBU R128 / LUFS

  • 1kHz @ -23 LUFS shows -23.0 on meter
  • Pink noise @ -23 LUFS shows -23.0 ±0.5
  • Integrated LUFS accumulates correctly over time
  • Short-term (3s) responds to level changes
  • Momentary (400ms) shows transient peaks

3.2 True Peak

  • True Peak reads higher than sample peak (intersample peaks)
  • +3 dB digital sine shows > 0 dBTP
  • True Peak scale matches EBU Tech 3341

3.3 PPM (Nordic Standard)

  • Attack time: ~5ms (fast response)
  • Decay: 20dB in 1.7s
  • Scale markings at TEST, +3, 0, -6, -12, -18, -24

3.4 Phase Correlation

  • Mono signal shows +1.0 (full correlation)
  • L/R phase-inverted shows -1.0
  • Stereo music shows typical 0.3-0.8 range
  • Correlation meter responds smoothly

4. UI Interactions

4.1 Grid Layout

  • Meters can be collapsed/expanded
  • Collapsed state persists after refresh
  • Grid reflows correctly on resize
  • Touch gestures work on mobile

4.2 Settings Panel

  • Settings panel opens/closes
  • Reference level adjustment works
  • Theme toggle (if implemented)
  • Settings persist to localStorage

4.3 Responsive Design

  • Desktop layout (1920×1080)
  • Tablet layout (768×1024)
  • Mobile layout (375×812)
  • Landscape/portrait transitions

5. AudioWorklet Verification

5.1 Processor Loading

  • AudioWorklet registers without error
  • Worklet path resolves correctly (check console)
  • No “Failed to load processor” errors

5.2 Heartbeat Monitoring

  • Heartbeat messages received (~10Hz)
  • No message queue buildup
  • Processor survives device disconnect/reconnect

5.3 PCM Data (if enabled)

  • PCM messages contain valid Float32Array data
  • Sample rate matches AudioContext
  • No detached buffer errors

6. Performance

6.1 CPU Usage

  • Idle CPU < 5% (no audio playing)
  • Active CPU < 20% (metering running)
  • No memory leaks over 10+ minute session

6.2 Animation Smoothness

  • Meter needle animation at 60fps
  • No jank during level changes
  • CSS transitions complete smoothly

6.3 Audio Quality

  • No glitches or dropouts
  • No added latency (transparent pass-through)
  • No audible artifacts

7. Error Handling

7.1 Permission Denied

  • Graceful handling if mic permission denied
  • User-friendly error message displayed
  • Other features remain usable

7.2 Device Disconnection

  • USB unplug handled gracefully
  • Error state shown to user
  • Recovery when device reconnected

7.3 Context Suspension

  • AudioContext suspends on tab background
  • Resumes correctly when tab focused
  • No errors on resume

8. Browser Compatibility

8.1 Chrome/Edge (Primary)

  • All features functional
  • AudioWorklet supported
  • No deprecation warnings

8.2 Firefox

  • Core metering works
  • AudioWorklet supported (Firefox 76+)
  • Note any differences

8.3 Safari

  • Core metering works
  • AudioWorklet supported (Safari 14.1+)
  • Note any WebKit-specific issues

9. LocalStorage

9.1 Settings Persistence

  • Collapsed meter state persists
  • Reference level persists
  • Device selection persists (if applicable)

9.2 Storage Version Migration

  • STORAGE_VERSION matches expected value
  • Migration runs on version mismatch
  • Old settings preserved or gracefully cleared

10. Remote Metering Features

Test the probe/broker/client architecture for distributed monitoring.

10.1 Local-Only Mode (Default)

  • No network requests in local mode
  • Remote panel shows “Local Mode”
  • All features work offline
  • No console errors about WebSocket

10.2 Broker Server

  • cd broker && node server.js starts without error
  • Server listens on ws://localhost:8765
  • Console shows client connections/disconnections

10.3 Probe Mode (probe.html)

  • Page loads and captures system audio
  • Goniometer renders at correct scale
  • Metrics stream to broker (check broker console)
  • Probe ID appears in broker logs
  • Reconnects automatically if broker restarts

10.4 Client Mode (index.html)

  • Enable “Remote Mode” toggle in settings
  • Probe list populates from broker
  • Selecting probe starts receiving metrics
  • LUFS/TP/PPM displays match probe readings
  • Latency indicator shows reasonable value (<100ms)
  • Switching back to local mode works correctly
  • Screen capture (getDisplayMedia) works after remote mode

Test Sign-Off

TesterDateVersionBrowserResult

Notes

(Add any observations, issues, or comments here)

TSG Suite VERO-BAAMBI – Broadcast-grade metering for professional audio