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
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
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:
Click
File > Open FileSelect a multi-channel file (e.g., 2-channel ABF)
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:
Open a file with 2+ channels
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 Zfor EACH channelMultiple 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:
With a file loaded, click
View > Customize PlotsChange average trace color (e.g., from black to red)
Click “Apply”
Observe how quickly the plot updates
Change single trial color and width
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:
Open a file with many trials (20+ recommended)
Ensure plot mode is set to “Cycle Single Trial” (top of left panel)
Click “Next >” button to cycle through trials
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 YNOT 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:
Open a multi-channel file (2+ channels)
Ensure multiple channel plots are visible
Use mouse to zoom into a time region on the TOP plot:
Click and drag to select a rectangular region
Release to zoom
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:
Open any file with trials
Change plot mode to “Overlay Average” (dropdown at top)
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 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:
File loading is fast and smooth
All channels display data
Plot customization updates instantly
Single-trial mode navigates instantly
X-axes zoom together
Overlay mode still works
Reporting Issues
If any test fails:
Check console logs for relevant error messages
Note which specific test failed
Capture any error dialogs
Report with test number and observed behavior