Skip to Content
TestingTesting

Testing

OpenFactory runs two complementary surfaces under “Testing”: ISO image testing (every OS-image build boots in a KVM VM and runs assertions before the ISO is released) and the App Platform (deploy a Git repo or a one-line brief to a tester VM, layer on managed services, and verify with replayable scenarios or an autonomous walker).

App Platform

Deploy a Git repo to a tester VM and get a public preview URL at https://<slug>.apps.openfactory.tech, then bolt on managed Postgres, S3-compatible object storage, custom domains with TLS, encrypted secrets, bi-directional checkpoints, observability, a browser IDE, OIDC auth, template scaffolds, and autonomous walkers that discover UI bugs and emit replayable scenarios. Every capability is callable via MCP from the same coding agent that built the app.

TopicDescription
App DeploymentDeploy a Git repo as an app at https://<slug>.apps.openfactory.tech
App UI TestingRecord and replay GUI scenarios against any reachable URL
Prompt-to-App AgentTurn a one-line brief plus a template into a deployed app
App Secrets and Env VarsEncrypted per-app and account-level env management with audited reveal
Managed DatabasesOne-call managed Postgres with auto-injected DATABASE_URL
Object StorageS3-compatible bucket per app with auto-injected OF_S3_* env vars
Custom Domains and TLSAttach your own domain with verification and squatting defense
Checkpoints and RollbackBi-directional snapshots for safe agent-driven iteration
ObservabilityRequests, uptime probes, event timeline, per-VM resource usage
Web IDEBrowser-based code-server tied to your app’s VM
App Auth ServiceOne-call OIDC binding with auto-published auth env vars
Templates and RemixGallery of scaffolds plus fork-public-apps with hard-rule security
Autonomous WalkerBFS bug hunt that explores a UI and emits replayable scenarios
Walker Diffs and TicketsDiff two walks, see what regressed, export findings as Linear/Jira/GitHub tickets
Walk-and-Fix AgentTurn walker findings into FixIntents and materialize patches against running deployments

ISO Image Testing

Every OpenFactory image build is automatically tested in a KVM virtual machine before the ISO is made available for download.

Why Automated Testing?

Building a custom Linux image involves many components that must work together:

  • Kernel and bootloader configuration
  • Service dependencies and startup order
  • Network configuration
  • User authentication
  • Package compatibility

OpenFactory’s testing system verifies all these components automatically.

Test Infrastructure

┌─────────────────────────────────────────────────────────┐ │ Test Pipeline │ ├─────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ ISO │───▶│ KVM │───▶│ Test Runner │ │ │ │ Image │ │ VM │ │ (assertions) │ │ │ └──────────┘ └──────────┘ └──────────────────┘ │ │ │ │ │ │ │ ┌─────▼─────┐ │ │ │ │ Results │ │ │ └─────────────▶│ Report │ │ │ └───────────┘ │ │ │ └─────────────────────────────────────────────────────────┘

Test Categories

Default Tests

Every build automatically runs:

  • Boot verification - System boots successfully
  • Login test - Users can authenticate
  • Package check - Requested packages installed
  • Network test - Basic connectivity works

Custom Assertions

Add your own verification tests:

  • Service running checks
  • Port listening verification
  • HTTP endpoint testing
  • File content validation
  • Command output checking

CIS Benchmarks

Security compliance testing:

  • CIS Debian Linux Benchmark
  • CIS Ubuntu Linux Benchmark
  • Configurable hardening levels

Test Results

After testing completes, you can view:

  • Pass/Fail status for each test
  • Detailed logs from test execution
  • Screenshots of the VM during testing
  • Timing information for each stage
TopicDescription
Default TestsWhat’s tested automatically
Custom AssertionsWrite your own tests
CIS BenchmarksSecurity compliance

Test Failures

When tests fail:

  1. Review the logs - Detailed output shows what went wrong
  2. Check configuration - Verify your build recipe
  3. Modify and rebuild - Make changes and try again
  4. Ask for help - OpenFactory can suggest fixes

Failed builds provide detailed diagnostics to help identify and fix issues.

Last updated on