Who writes the test, and how
No code: steps, extraction, checks and thresholds are set up in the web editor; the test is stored as JSON and can be versioned. HTTP, gRPC, WebSocket, Kafka, SQL, MQTT, AMQP, Redis and MongoDB are built in. Tests can be generated from OpenAPI 3, Swagger 2.0, a Postman collection or a HAR file recorded in the browser; threshold expressions (p(95)<500, rate<0.01) and CI exit codes are k6-compatible. Existing k6 scripts and JMeter plans (.jmx) become Spitfire tests with Tests → Open file (migration guide).
Where the load comes from
The load comes from runners on your servers or in your cloud account. Runners dial out to the controller, so no inbound port is opened on the load servers. One run can be split across several locations by percent. In a capacity test the load rises in steps and Spitfire states the rate where the system misses the criteria (the breaking point). Spitfire generates load at the protocol level; it does not measure pages in a real browser.
How the result is shared with the team
During the run, p95, error rate and request rate show live; on a finished run the findings are listed with their own numbers, and sample responses of failed requests are kept. The report is shared as PDF, HTML or a link. Scheduled runs send the result to Slack, Teams or e-mail; a regression against the baseline raises an alert. There are users, roles, SSO (OIDC, LDAP) and a tamper-proof audit log.
Where the data stays
The controller, database and runners run on your servers; test definitions and results are not sent out. The license is verified offline and works air-gapped. Details in the security statement and on the self-hosted load testing page.
To try it
Every testing feature and protocol is open in every edition. Team and organisation features (SSO, audit log, multiple runners) are in the paid plans. Install the free edition with one command (installation guide) and start from an example or your own OpenAPI document. On method: load testing guides.