Skip to content
Concepts & Methodology

What Is a Continuous Test Stack

A continuous test stack connects test development, execution, data collection, and analytics into one integrated workflow. Learn what it includes and how.

JJulien Buteau
intermediate7 min readMarch 14, 2026

What Is a Continuous Test Stack

A continuous test stack connects every stage of manufacturing test into one integrated workflow: writing tests, deploying them to stations, executing on the production floor, collecting data, and analyzing results. Instead of disconnected tools at each stage, a continuous stack feeds data from production back into test development, creating a loop that improves test quality over time.

The Fragmented Stack Problem

Most manufacturing test operations look like this:

StageToolData FormatConnection to Next Stage
Write testsText editor or IDEPython/LabVIEW filesManual copy to station
Deploy to stationsUSB drive or shared folderExecutable or scriptNone
Execute testsTest executive (OpenHTF, TestStand)Internal formatCSV export or local DB
Store resultsFile server or spreadsheetCSV, ExcelManual report generation
AnalyzeExcel, custom scriptsCharts, pivot tablesEmail to engineering
ImproveEngineer reads report, updates testBack to step 1Manual, delayed

Every handoff between stages is manual. Data changes format. Context is lost. The feedback loop from production data back to test improvement takes weeks or months.

The Continuous Stack

A continuous test stack eliminates the handoffs:

StageHow It WorksFeedback Loop
Write testsPython scripts in GitProduction failure data informs what to test next
Deploy to stationspip install or Docker pullVersion-controlled, reproducible
Execute testsOpenHTF runs phases, streams resultsReal-time operator UI
Store resultsAutomatic upload to TofuPilotStructured, searchable, traceable
AnalyzeLive dashboards, automated alertsImmediate visibility
ImproveEngineer sees data, updates test, pushes to GitHours, not weeks

The key difference: data flows automatically from execution to analysis, and insights flow back to development. There's no manual export step, no Excel processing, no emailed reports.

Components of a Continuous Test Stack

ComponentPurposeOpen Source Option
Test frameworkSequence and execute test phasesOpenHTF, pytest
Version controlTrack test script changesGit
Package managementDeploy test scripts to stationspip, Docker
Data platformStore and query test resultsTofuPilot
Operator interfaceProduction floor UITofuPilot streaming
AnalyticsYield, SPC, Pareto, trendsTofuPilot Analytics
AlertingNotify on yield drops or driftTofuPilot alerts

Prerequisites

  • Python 3.10+
  • OpenHTF installed (pip install openhtf)
  • TofuPilot Python SDK installed (pip install tofupilot)
  • Git for version control

Step 1: Write Tests in Git

Keep test scripts in a Git repository. Every change is tracked, reviewable, and reversible.

tests/production_test.py
import openhtf as htf
from openhtf.util import units


@htf.measures(
    htf.Measurement("output_voltage_V")
    .in_range(minimum=4.9, maximum=5.1)
    .with_units(units.VOLT),
    htf.Measurement("current_draw_mA")
    .in_range(minimum=90, maximum=110)
    .with_units(units.MILLIAMPERE),
)
def phase_electrical(test):
    """Production electrical test."""
    test.measurements.output_voltage_V = 5.01
    test.measurements.current_draw_mA = 99.3

Step 2: Deploy with pip

Package your tests as a Python package. Stations install or update with one command.

terminal
pip install --upgrade your-test-package

This replaces the USB drive workflow. Every station runs the same version. Updates are traceable.

Step 3: Stream Results to TofuPilot

Connect the test to TofuPilot. Results flow automatically from every station to a central platform.

tests/production_test.py
from tofupilot.openhtf import TofuPilot

test = htf.Test(phase_electrical)

with TofuPilot(test):
    test.execute(test_start=lambda: input("Scan serial: "))

Step 4: Close the Loop

The continuous part: use production data to improve tests.

Signal in TofuPilotAction
Phase with 0% failure rate for 10K unitsConsider removing from production test
Measurement consistently at 99% of limitInvestigate design margin, adjust limit
Yield drop after test script updateGit blame the change, revert if needed
New failure mode appearsAdd a test phase to catch it
Station 3 has lower yield than stations 1-2Investigate fixture or equipment on station 3

Each action results in a code change in Git, a new deployment to stations, and the cycle continues. The stack is continuous because data flows in a loop, not a line.

Continuous Stack vs Point Solutions

ApproachProsCons
Point solutions (TestStand + custom DB + Excel)Each tool is best-in-class for its stageNo integration, manual handoffs, data silos
Continuous stack (OpenHTF + Git + TofuPilot)Integrated data flow, fast feedback loopsRequires upfront architecture decisions
Custom-built everythingPerfectly tailoredExpensive to build and maintain

The continuous stack approach trades some per-tool flexibility for end-to-end integration. The ROI comes from faster feedback loops: when you can go from "yield dropped" to "root cause identified" to "fix deployed" in hours instead of weeks, the investment pays for itself quickly.

More Guides

Put this guide into practice