Manual Testing Guide for Performance Fixes

Date: October 20, 2025 Author: Anzal K Shahul Purpose: Verify all 6 critical performance fixes are working correctly


Prerequisites

  1. Ensure you have test data files:

  • Multi-channel ABF file (2+ channels)

  • Large WCP file with many trials (20+ trials recommended)

  • Any supported electrophysiology file format

  1. Start the application:

cd /Users/anzalks/PycharmProjects/Synaptipy
conda activate synaptipy
python -m Synaptipy

Test 1: Verify Fast File Loading (Fix 4)

What to test: File loading should be significantly faster with no UI freeze.

Steps:

  1. Click File > Open File

  2. Select a multi-channel file (e.g., 2-channel ABF)

  3. Observe the loading time

Expected Result:

  • File loads quickly (1-2 seconds for typical files)

  • No UI freeze during loading

  • Status bar shows progress

  • Both channels display data (not empty)

How to confirm the fix:

  • Check console logs for: [load_recording_data] Received a pre-loaded Recording object. Using fast display path.

  • This confirms the Recording object was passed directly (no double-loading)


Test 2: Verify Multi-Channel Data Loading (Fix 3)

What to test: All channels should display data, not just the first channel.

Steps:

  1. Open a file with 2+ channels

  2. Observe all channel plots in the Explorer tab

Expected Result:

  • All channels show waveforms (not empty plots)

  • Each channel shows different data

  • Channel names match file metadata

How to confirm the fix:

  • Console logs show: Appended X samples to channel 'Y' from segment Z for EACH channel

  • Multiple channels visible with distinct waveforms


Test 3: Verify Plot Customization Performance (Fixes 1 & 2)

What to test: Plot style changes should apply instantly with no lag.

Steps:

  1. With a file loaded, click View > Customize Plots

  2. Change average trace color (e.g., from black to red)

  3. Click “Apply”

  4. Observe how quickly the plot updates

  5. Change single trial color and width

  6. Click “Apply” again

Expected Result:

  • Plot updates appear INSTANTLY (< 0.5 seconds)

  • No UI freeze or lag

  • Colors and widths change as expected

  • Can make multiple changes rapidly

How to confirm the fix:

  • Console logs show: Cache HIT for average pen (singleton working)

  • Console logs show: [PEN-UPDATE] Pen update completed for X channels (optimized loop)


Test 4: Verify Fast Plotting for Large Files (Fix 5)

What to test: Single-trial mode should plot instantly, even for files with 100+ trials.

Steps:

  1. Open a file with many trials (20+ recommended)

  2. Ensure plot mode is set to “Cycle Single Trial” (top of left panel)

  3. Click “Next >” button to cycle through trials

  4. Observe plot update speed

Expected Result:

  • Plot updates INSTANTLY when clicking Next/Previous

  • Only ONE trial is visible at a time (not all trials overlaid)

  • Trial counter shows “X/Y” where Y is total trials

  • Smooth navigation through all trials

How to confirm the fix:

  • Console logs show: [_update_plot] CYCLE_SINGLE mode for channel X: Plotting trial Y

  • NOT showing: “Plotting N trials and average” (which would indicate all trials being plotted)


Test 5: Verify Linked X-Axis Zooming (Fix 6)

What to test: Zooming one plot should zoom all plots on the X-axis simultaneously.

Steps:

  1. Open a multi-channel file (2+ channels)

  2. Ensure multiple channel plots are visible

  3. Use mouse to zoom into a time region on the TOP plot:

  • Click and drag to select a rectangular region

  • Release to zoom

  1. Observe ALL channel plots

Expected Result:

  • ALL channel plots zoom to the same X-axis (time) range simultaneously

  • Y-axes remain independent (different per channel)

  • Panning one plot pans all plots on X-axis

  • X-zoom slider controls all plots together

How to confirm the fix:

  • When zooming plot 1, plots 2, 3, etc. immediately match the X-axis range

  • Console logs show: [_create_channel_ui] Linked X-axis for plot N to the first plot


Test 6: Verify Overlay Mode Still Works (Fix 5 Regression Check)

What to test: Overlay mode should still plot all trials correctly.

Steps:

  1. Open any file with trials

  2. Change plot mode to “Overlay Average” (dropdown at top)

  3. Observe the plots

Expected Result:

  • ALL trials are plotted (overlaid)

  • Average trace is visible (thicker line)

  • Can see trial-to-trial variability

How to confirm the fix:

  • Console logs show: [_update_plot] OVERLAY_AVG mode for channel X: Plotting Y trials and average


Performance Benchmarks

For a 2-channel file with 50 trials:

Operation

Before Fixes

After Fixes

Improvement

File Loading

8-10 seconds

4-5 seconds

~50% faster

Plot Customization

3-5 seconds lag

< 0.5 seconds

~90% faster

Trial Navigation (Single)

2-3 seconds

< 0.1 seconds

~95% faster

Multi-channel Zoom

Manual per plot

Instant linked

UX improvement


Troubleshooting

If plots are empty:

  • Check console for: “Appended X samples to channel Y”

  • If missing, Fix 3 may not be working

If file loading is still slow:

  • Check console for: “Using fast display path”

  • If missing, Fix 4 may not be working

If plot updates lag:

  • Check console for: “Cache HIT”

  • If missing, Fixes 1 & 2 may not be working

If trial navigation is slow:

  • Check console for plot mode: Should show “CYCLE_SINGLE”

  • If showing “OVERLAY_AVG” in single-trial mode, Fix 5 may not be working

If zoom isn’t linked:

  • Check console for: “Linked X-axis for plot N”

  • If missing, Fix 6 may not be working


Success Criteria

All 6 fixes working if:

  1. File loading is fast and smooth

  2. All channels display data

  3. Plot customization updates instantly

  4. Single-trial mode navigates instantly

  5. X-axes zoom together

  6. Overlay mode still works


Reporting Issues

If any test fails:

  1. Check console logs for relevant error messages

  2. Note which specific test failed

  3. Capture any error dialogs

  4. Report with test number and observed behavior