Getting Started with Softprobe Testing
Welcome to Softprobe Testing! This guide provides a single, cohesive path to get you started with record-and-replay in minutes using our pre-built Travel OTA demo application, followed by a quick wrapup on how to connect your own Java service.
Pick your interface
The steps below for registering an app, viewing recordings, and replaying can all be done in the Web console or with the sp command. Use the switch at the top of each card to choose one — your choice is remembered and stays consistent across the whole docs site.
Prerequisites
- Java 8 or higher (Java 17/21 recommended) installed and on your
PATH. spcommand installed (curl -fsSL https://install.softprobe.ai/install.sh | bash) — see Install the CLI.- Your Softprobe Helm chart is deployed and running (with the Softprobe backend available, e.g. at
http://<your-backend-host>:8090) — not deployed yet? Follow Server (Helm) first.
1. Verify Java Installation
Ensure Java is configured correctly and available in your terminal:
java -version2. Download the Demo Application
Download the pre-built Travel OTA application JAR (either click to download travel-ota.jar directly via your browser, or run the command below):
curl -L -O https://github.com/softprobe/demo-ota/releases/download/v1.1.0/travel-ota.jar3. Download the Softprobe Agent
Download the Softprobe Java agent JAR (either click to download sp-agent.jar directly via your browser, or run the command below):
curl -fsSL -o sp-agent.jar https://install.softprobe.ai/artifacts/agent/latest/sp-agent.jarSee Download Java agent for immutable release versions.
4. Register the Application
Register the demo application in Softprobe to receive a unique appId (a 16-character hex identifier):
- Open your Softprobe Dashboard.
- Navigate to Apps and click Create App.
- Enter
travel-otaas the name and click Save. - Copy the generated App ID.
5. Start the Application with the Agent
Start the demo app with the -javaagent flag, passing your appId:
java -javaagent:sp-agent.jar \
-Dsp.app.id=<your-app-id> \
-Dsp.api.url=http://localhost:8090 \
-jar travel-ota.jar(If your Helm backend is hosted at another address, replace http://localhost:8090 with your actual backend URL).
The application is now running locally at http://localhost:8080.
6. Perform a Booking (Generate Traffic)
Open http://localhost:8080 in your browser:
- Click Search to view available flights.
- Select a flight and click Book.
- Complete the checkout/payment process.
The Softprobe agent automatically intercepts and captures this entire transaction.
7. View Recorded Data
- Log in to your Softprobe Dashboard.
- Go to the Workbench or Recordings tab.
- Select
travel-otafrom the app dropdown. - Browse the recorded traces and inspect the deep dependency graphs.
8. Replay the Recordings
Replay executes recorded transactions against a target environment with automated dependency mocking (your database and downstreams do not need to be set up).
- Navigate to the Replays tab and click New Replay Plan.
- Select
travel-ota. - Choose the cases to replay.
- Set the target environment to
http://localhost:8080and click Run.
Onboard Your Own Application
Onboarding your own service is exactly the same as running the Travel OTA demo! Your application is just another .jar file started with the same Softprobe Java Agent and your custom App ID.
To connect your own application:
- Register Your App: Create a new 16-character App ID either via Apps → Create App in the Web UI, or run:bash
sp app create <your-app-name> - Attach the Agent: Start your own JVM service with the same
-javaagentflag, passing your new App ID and Helm backend address:bashjava -javaagent:sp-agent.jar \ -Dsp.app.id=<your-new-app-id> \ -Dsp.api.url=http://<your-backend-host>:8090 \ -jar your-own-application.jar - Verify and Replay: Record traffic, list cases, and trigger replays exactly as you did with the demo app.
Next: the core workflow
The demo is just the start. Take your own application through the core workflow:
- Record traffic — capture real cases from production/staging and build your regression corpus
- Replay & diff — run a regression before every release
- Review diffs — understand failing cases and accept the differences that aren't bugs
- Configure compare rules — turn always-changing fields into rules so they stop false-alarming
For deeper configuration, see Java Agent Configuration (JVM properties, Tomcat/Docker) and the Policies Overview (declarative YAML for CI/GitOps).
