PTE Analyst is a Python-based data processing tool designed to evaluate Parallel Test Efficiency (PTE) from NI semiconductor module Test Program Performance Analyzer files (CSV). It extracts data for single-site and multi-site test runs, matches the individual test steps, and calculates the parallel efficiency for both individual steps and the overall test program.
It includes both a Command Line Interface (CLI) and a Graphical User Interface (GUI), and can be compiled into a standalone Windows executable.
- Automated Data Extraction: Reads test logs and filters out single-site (e.g., 1 site) and multi-site (e.g., 3 sites) data using customizable parameters (
SiteandLoopIndex). - PTE Calculation: Automatically aligns test items using
Sequence,StepName, andStepIdto compute the Parallel Test Efficiency (PTE). - Excel Export: Generates clean Excel sheets for the extracted groups (e.g.,
1S,3S) and a finalPTEsummary sheet with percentage formatting. - Dual Interface: Run via the interactive GUI (
pte_gui.py) or automate through the CLI (pte_analyst.py). - Standalone EXE: Can be compiled into a single
.exefile so no Python installation is required on the host machine.
The tool calculates Parallel Test Efficiency using the following formula:
Where:
-
$T_{single}$ : Total time of the test item running on a single site. -
$T_{multi}$ : Total time of the test item running on multiple sites. -
$N$ : The number of sites tested in parallel (e.g., 3). -
PTE = 100%: Perfect parallel efficiency (testing
$N$ sites takes exactly the same time as 1 site). -
PTE = 0%: Fully serial execution (testing
$N$ sites takes$N \times$ the time of 1 site).
If you are running from source, you need Python 3.8+ and the following package:
pip install openpyxlSimply run the GUI script to open the interactive application:
python pte_gui.pyFrom the GUI, you can:
- Browse and select your source Excel file.
- Configure filtering parameters (NumberOfSites, Site, LoopIndex).
- Configure the output file path.
- Click Run and view live execution logs.
You can use the core script directly from the command line for batch processing:
# Run with default settings (processes TestPerformance_trimed.xlsx and overwrites)
python pte_analyst.py
# Specify input, output, and adjust site counts:
python pte_analyst.py --input "data.xlsx" --output "result.xlsx" --single-sites 1 --multi-sites 4 --site 0 --loop-index 1Use python pte_analyst.py --help for a full list of commands.
If you have compiled the application (via PyInstaller), simply double-click PTEAnalyst.exe to launch the GUI. No Python environment is needed.
The default parameters can be modified directly within pte_analyst.py under the CONFIG dictionary.
By default, the script looks for:
- Group 1 (Single Site):
NumberOfSites = 1,Site = 0,LoopIndex = 1. Written to sheet1S. - Group 2 (Multi Site):
NumberOfSites = 3,Site = 0,LoopIndex = 1. Written to sheet3S.
This project is open-source. Feel free to modify and distribute.