DEV Community

Cover image for Introducing QitOps: A Unified CLI for API, Performance, and Security Testing
madmeme
madmeme

Posted on

Introducing QitOps: A Unified CLI for API, Performance, and Security Testing

What is QitOps?

QitOps is a command-line tool for software testing — built to unify API, performance, security, and web testing workflows into a single, Rust-powered CLI.

If you've ever juggled Postman collections, k6 scripts, custom curl chains, or browser test wrappers, QitOps is meant to replace that chaos with a clean, structured, extensible CLI.


Why I Built It

As someone who’s worked in QA and dev automation for nearly two decades, I’ve seen the testing ecosystem get increasingly fragmented.

We use one tool for APIs, another for performance, yet another for security... then we stitch them together with shell scripts and cross our fingers.

I wanted a tool that:

  • Runs everywhere (local, CI, offline)
  • Has zero GUI dependency
  • Uses JSON/YAML for clean, repeatable test configs
  • Works for QA engineers and DevOps pipelines alike

Key Features

  • API Testing — with support for retries, validation, chaining, and test collections
  • Performance Testing — ramping load profiles, thresholds, detailed response metrics
  • Security Scanning — headers, tokens, basic vulnerability detection
  • Web Testing — headless browser checks (Playwright/Chromium)
  • Data-Driven Tests — run with CSV or JSON data sets
  • CI-Friendly Output — generate structured reports (JSON, HTML, XML, CSV)

All CLI, no fluff.


Quick Example

# Run a simple API test
qitops api -c tests/configs/login.json

# Run a collection of chained API requests
qitops collection -c tests/configs/api_collection.json

# Run a performance test with 50 users for 2 minutes
qitops performance -c tests/configs/perf.json -u 50 -d 120

# Run in CI mode with JSON output
qitops --ci-mode -r json -o results.json api -c tests/configs/api.json
Enter fullscreen mode Exit fullscreen mode

Installation

You can build from source, install with Cargo, or run via Docker:

# Rust + Cargo
cargo install qitops

# Docker
docker run --rm qitops/qitops api -c test.json
Enter fullscreen mode Exit fullscreen mode

Looking Ahead

The CLI is just the start — I'm currently working on:

  • A plugin system for custom test runners
  • AI-based test generation (offline/local LLMs supported)
  • Optional TUI/dashboard interface
  • Community-driven test libraries

I’d love to hear what features you would want.


Try It

Source:

https://github.com/qitops/qitops-cli-tools

MIT licensed, contributions welcome.

Let me know if you test it, spot something weird, or have ideas to improve it. I built this for the QA/dev community — and now I want to build it with you.

Top comments (3)

Collapse
 
nevodavid profile image
Nevo David

Pretty cool seeing someone put it all together like this. Always makes me wonder though, you think the real headache comes from too many tools or just how fast stuff keeps changing?

Collapse
 
jcopperman profile image
Jonathan Opperman

Great question, the headache I was trying solve here was just CI/CD simplicity, where I believe the headaches actually lie. Otherwise it's just QA nagging DevOps or devs to include scripts in the pipeline.

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

pretty cool stuff man, building your own tool to kill all that testing mess gets my respect