Skip to content

biogitt/PTEAnalyst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PTE Analyst

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.

Features

  • 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 (Site and LoopIndex).
  • PTE Calculation: Automatically aligns test items using Sequence, StepName, and StepId to compute the Parallel Test Efficiency (PTE).
  • Excel Export: Generates clean Excel sheets for the extracted groups (e.g., 1S, 3S) and a final PTE summary 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 .exe file so no Python installation is required on the host machine.

How PTE is Calculated

The tool calculates Parallel Test Efficiency using the following formula:

$$ PTE = 1 - \frac{T_{multi} - T_{single}}{(N - 1) \times T_{single}} $$

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).

Requirements

If you are running from source, you need Python 3.8+ and the following package:

pip install openpyxl

Usage

1. Using the GUI

Simply run the GUI script to open the interactive application:

python pte_gui.py

From 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.

2. Using the CLI

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 1

Use python pte_analyst.py --help for a full list of commands.

3. Using the Standalone EXE

If you have compiled the application (via PyInstaller), simply double-click PTEAnalyst.exe to launch the GUI. No Python environment is needed.

Configuration & Logic

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 sheet 1S.
  • Group 2 (Multi Site): NumberOfSites = 3, Site = 0, LoopIndex = 1. Written to sheet 3S.

License

This project is open-source. Feel free to modify and distribute.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors