πŸ‡¬πŸ‡§ English

# Suitest β€” Platform Testing yang Bekerja untuk Semua Orang > **Kolaborasi Suitest Cloud segera hadir.** Produk saat ini adalah platform > self-hosted gratis. Semua provider model membuka fitur produk yang sama.

Suitest

Kelola test case. Jalankan otomatis. Analisa dengan AI.
Data tetap milikmu β€” tanpa biaya langganan.

CI status Apache-2.0 License MCP native M8ven Live Monitored

@suiflex/suitest on npm @suiflex/suitest-mcp on npm @suiflex/suitest-sdk on npm suiflex-suitest-sdk on PyPI

Suitest β€” Platform QA yang bisa test browser, API, dan database dalam satu tempat.

--- ## Apa itu Suitest? **Suitest** adalah platform pengujian (testing) gratis yang bisa kamu pasang di komputer atau server sendiri. **Bayangkan ini:** Kamu punya website atau aplikasi. Kamu ingin memastikan semua fiturnya berjalan benar β€” tombol bisa diklik, form bisa diisi, data tersimpan dengan baik. Dulu, kamu harus pakai Excel untuk catat test case, lalu jalankan test satu per satu secara manual. **Suitest menggantikan semua itu dalam satu aplikasi.** ### Apa yang bisa dilakukan Suitest? | Kebutuhanmu | Solusi Suitest | |-------------|----------------| | πŸ“ Catat semua test case di satu tempat | βœ… **Test Case Management** β€” buat, edit, organisir test case dan suite | | πŸ€– Jalankan test otomatis | βœ… **Automated Runner** β€” test browser, API, database secara otomatis | | πŸ“Έ Dapat bukti screenshot & video | βœ… **Evidence Capture** β€” setiap test hasilkan screenshot dan video | | πŸ› Lacak bug dari test yang gagal | βœ… **Defect Tracking** β€” bug otomatis tercatat saat test gagal | | πŸ“Š Lihat laporan hasil testing | βœ… **Dashboard & Analytics** β€” pass rate, coverage, readiness dalam satu halaman | | πŸ”— Kaitkan requirement ↔ test ↔ bug | βœ… **Traceability** β€” setiap test terhubung ke requirement dan bug | | πŸ”Œ Integrasi CI/CD | βœ… **Webhook** β€” GitHub, GitLab, Jira, Slack | | πŸ€– Pakai AI untuk generate test | βœ… **AI (opsional)** β€” generate test dari PRD, diagnosis otomatis | ### Siapa yang pakai Suitest? | Profil | Kebutuhan | Cara Suitest membantu | |--------|-----------|-----------------------| | πŸ‘©β€πŸ’» **QA Engineer** | Kelola test case, jalankan otomatis, track defect | TCM, MCP runner, evidence, defect | | πŸ‘¨β€πŸ’» **Developer** | Pastikan PR aman sebelum merge, test cross-cutting | Workflow CI dan mixed-target test | | πŸ“‹ **Product Manager** | Lihat kesiapan release sebelum deploy | Readiness, analytics, traceability | | 🏦 **IT/Infrastructure** | Self-host untuk compliance | Infrastruktur, model, dan data milik sendiri | | πŸš€ **Startup / Indie Dev** | Hindari subscription dan vendor lock-in | Platform self-hosted gratis dengan BYO LLM | --- ## Mengapa harus pakai Suitest? ### vs TestRail / Zephyr TestRail berbayar ($30/user/bulan) dan tidak punya automated runner. **Suitest menggabungkan TCM, automated runner, dan MCP plugins dalam satu platform self-hosted gratis.** ### vs Playwright (standalone) Playwright cuma bisa test browser. **Suitest pakai Playwright sebagai salah satu plugin** + tambah TCM layer + traceability + multi-target (bukan cuma browser). ### vs TestSprite TestSprite vendor lock-in (LLM mereka, cloud mereka). **Suitest: BYO LLM, self-host, universal MCP plugin (test API/DB/Infra/Mobile, bukan cuma browser).** --- ## Mulai dalam 3 Langkah ### ⚑ Langkah 1: Install (1 menit) **Yang dibutuhkan:** - [Node.js](https://nodejs.org/) versi 18 atau lebih tinggi (unduh dari nodejs.org) - [uv](https://docs.astral.sh/uv/) β€” package manager Python (install dengan: `pip install uv`) **Cara cek apakah sudah terinstall:** Buka terminal (Command Prompt / PowerShell / Terminal) dan ketik: ```bash node --version # harus v18 atau lebih tinggi uv --version # harus terinstall ``` **Install Suitest:** ```bash npx @suiflex/suitest onboard ``` > πŸ’‘ **Apa itu `npx`?** Ini adalah bagian dari Node.js yang memungkinkan kamu menjalankan program tanpa install manual. `npx @suiflex/suitest onboard` akan mengunduh dan menjalankan Suitest otomatis. ### ⚑ Langkah 2: Buka Dashboard (30 detik) Setelah install selesai, Suitest akan memberikan alamat web (biasanya `http://localhost:4000`). Buka alamat tersebut di browser. **Login pertama kali:** - Email: yang kamu masukkan saat onboard - Password: yang kamu masukkan saat onboard > πŸ’‘ **Tip:** Jika lupa password, jalankan `suitest settings` di terminal untuk generate ulang API key. ### ⚑ Langkah 3: Buat Test Case Pertama 1. **Login** ke dashboard 2. Klik **"+ New Project"** β†’ beri nama project 3. Klik **"+ New Suite"** β†’ beri nama suite (kumpulan test case) 4. Klik **"+ New Case"** β†’ buat test case pertama 5. Tambahkan **steps** β€” setiap step punya action (klik tombol, isi form, dll) 6. Buka **Settings β†’ LLM**, simpan provider, lalu klik **Test connection** 7. Klik **"Run"** β†’ test akan dijalankan otomatis > πŸ’‘ **Baru pertama kali?** Lihat [demo interaktif](http://localhost:3000) setelah menjalankan `make demo` β€” sudah ada test case siap pakai. --- ## Cara Install (Detail) ### 1. 🏠 Install Lokal β€” Satu Command (Recommended untuk Pemula) ```bash npx @suiflex/suitest onboard ``` **Yang dilakukan command ini:** Mengunduh dan menginstall semua komponen yang dibutuhkan. **Mengelola Suitest setelah install:** | Mau ngapain? | Command | |--------------|---------| | Mulai Suitest | `suitest up` | | Hentikan Suitest | `suitest down` | | Generate/refresh API key | `suitest settings` | | Ganti port | `suitest onboard --port 5000` | ### 2. 🌐 MCP Server Saja (Tanpa Install Platform) Jika kamu hanya butuh MCP server untuk IDE (Claude Code, Cursor, Codex): ```bash npx -y @suiflex/suitest-mcp ``` > πŸ’‘ **Apa itu MCP?** MCP (Model Context Protocol) adalah standar yang memungkinkan AI agent (seperti Claude Code) menjalankan test. Dengan MCP server, kamu bisa generate test dari repo code kamu. **Contoh konfigurasi untuk Claude Code / Cursor (`.mcp.json`):** ```json { "mcpServers": { "suitest": { "command": "npx", "args": ["-y", "@suiflex/suitest-mcp"], "env": { "SUITEST_API_URL": "http://localhost:4000", "SUITEST_API_KEY": "sk_suitest_..." } } } } ``` > πŸ’‘ **`SUITEST_API_URL` dan `SUITEST_API_KEY` wajib.** Saat startup, MCP memverifikasi key dan berhenti jika LLM workspace belum divalidasi di Settings. Kredensial provider tetap berada di server Suitest. ### 3. 🐳 Full Platform β€” Docker Compose Jika kamu ingin menjalankan semua komponen (API, web, runner, database, Redis, MinIO): ```bash git clone https://github.com/suiflex/suitest && cd suitest cp .env.example .env ``` **Edit `.env`** β€” isi super-admin: ```bash SUITEST_AUTH_SECRET=<32-char-random-hex> # generate: openssl rand -hex 32 SUITEST_SUPERADMIN_EMAIL=admin@example.com SUITEST_SUPERADMIN_PASSWORD= ``` **Jalankan:** ```bash make docker-up # pull images dan boot stack open http://localhost:3000 ``` > πŸ’‘ **Apa itu Docker Compose?** Docker adalah cara menjalankan aplikasi dalam "container" (wadah terisolasi). Docker Compose memudahkan menjalankan banyak container sekaligus. Jika belum punya Docker, install dari [docker.com](https://docker.com). ### 4. ☸️ Kubernetes β€” Helm Untuk deployment di Kubernetes cluster: ```bash helm install suitest infra/helm/suitest -f infra/helm/suitest/values.yaml ``` > πŸ’‘ **Butuh:** cluster Kubernetes + Helm + PostgreSQL/Redis/object storage sebagai external services. ### 5. πŸ”§ Local Development (Developer) Jika kamu ingin contribute ke Suitest: ```bash # Butuh: Python 3.12 + uv, Node 20 + pnpm, PostgreSQL/Redis/MinIO make setup # copy .env β†’ install deps β†’ run migrations β†’ seed DB make dev # start API (:4000) + web (:3000) + runner bersamaan ``` **Command berguna lainnya:** | Command | Fungsi | |---------|--------| | `make dev-api` | Start API saja | | `make dev-web` | Start web saja | | `make dev-runner` | Start runner saja | | `make migrate` | Jalankan database migration | | `make seed` | Isi data demo | | `make ci` | Lint + typecheck + test (sama seperti CI) | | `make help` | Lihat semua command | --- ## Satu produk Suitest Suitest adalah satu produk self-hosted gratis. Login, pengelolaan workspace, LLM Settings, dan Test Case Management manual tetap tersedia sebelum LLM terhubung. Eksekusi MCP, test run, dan fitur AI aktif setelah administrator menyimpan dan memvalidasi LLM workspace di **Settings β†’ LLM**. Ollama, llama.cpp, vLLM, LM Studio, Anthropic, OpenAI, Gemini, Groq, OpenRouter, dan endpoint OpenAI-compatible membuka fitur produk yang sama. Suitest Cloud adalah layanan kolaborasi hosted oleh Suitest yang akan hadir. Layanan ini terpisah dari provider model yang kamu hubungkan. --- ## Test Case Pertama Dari install kosong, kamu bisa bootstrap dan menjalankan test browser nyata: 1. **Login**, lalu buat project, suite, dan test case manual. 2. Buka **Settings β†’ LLM**, simpan provider, lalu klik **Test connection**. 3. Tambahkan step executable dengan MCP provider seperti `playwright-mcp`. 4. **Klik "Run"** untuk menjalankan setiap step melalui MCP. 5. Tinjau live status, evidence, dan defect di halaman run detail. > πŸ’‘ **Seluruh perjalanan ini diuji dengan Playwright suite nyata** β€” `make e2e-real` --- ## Hubungkan LLM Workspace LLM dikonfigurasi **per workspace dari web UI** β€” `Settings β†’ LLM` β€” bukan dari env vars. **Cara mengaktifkan:** 1. Buka **Settings β†’ LLM** 2. Pilih provider (Anthropic, OpenAI, Gemini, Groq, Ollama, dll) 3. Masukkan API key (akan di-encrypt AES-GCM, tidak ditampilkan lagi) 4. Klik **Test connection**; validasi yang berhasil mengaktifkan MCP, run, dan AI **Provider yang didukung:** | Jenis provider | Provider | |----------------|----------| | **Hosted API** | Anthropic, OpenAI, Gemini, Groq, OpenRouter, DeepSeek, dll (100+ via LiteLLM) | | **Model self-hosted** | Ollama, llama.cpp, vLLM, LM Studio | | **Custom** | URL OpenAI-compatible (gateways, routers, proxies) | > Tidak ada LLM call sampai workspace mengkonfigurasi provider. --- ## Repository Structure ``` suitest/ β”œβ”€β”€ README.md ← kamu di sini β”œβ”€β”€ CLAUDE.md ← aturan coding untuk AI agent β”œβ”€β”€ Makefile ← semua dev command (make help) β”‚ β”œβ”€β”€ apps/ β”‚ β”œβ”€β”€ web/ ← Frontend (Vite + React 19) β”‚ β”œβ”€β”€ api/ ← Backend (FastAPI Python) β”‚ └── runner/ ← Worker yang menjalankan test via MCP β”‚ β”œβ”€β”€ packages/ β”‚ β”œβ”€β”€ agent/ ← AI agent (LiteLLM + LangGraph) β”‚ β”œβ”€β”€ db/ ← Database (SQLAlchemy + Alembic) β”‚ β”œβ”€β”€ mcp/ ← MCP client + registry + bundled providers β”‚ β”œβ”€β”€ lifecycle/ ← MCP server: analyzeβ†’generateβ†’runβ†’publish β”‚ β”œβ”€β”€ mcp-npx/ ← @suiflex/suitest-mcp (npm launcher) β”‚ β”œβ”€β”€ suitest-npx/ ← @suiflex/suitest (one-command launcher) β”‚ β”œβ”€β”€ shared/ ← Shared Pydantic schemas β”‚ └── core/ ← Capability resolver, autonomy, crypto β”‚ β”œβ”€β”€ sdk/ β”‚ β”œβ”€β”€ python/ ← Python SDK (REST client) β”‚ └── typescript/ ← TypeScript SDK β”‚ β”œβ”€β”€ infra/ β”‚ β”œβ”€β”€ docker/ ← Dockerfile per service β”‚ └── helm/suitest/ ← Helm chart β”‚ └── docs/ ← Dokumentasi lengkap ``` --- ## Dokumentasi **Mulai dari [docs/ROADMAP.md](./docs/ROADMAP.md)** β€” single entry point untuk semua fitur. | Dokumen | Topik | Untuk siapa? | |---------|-------|-------------| | [ROADMAP.md](./docs/ROADMAP.md) | Milestones M0 β†’ M15 + build status | Developer yang mau contribute | | [PRODUCT.md](./docs/PRODUCT.md) | Vision, personas, user journeys | Product Manager, QA Lead | | [ARCHITECTURE.md](./docs/ARCHITECTURE.md) | Stack, services, topology | Developer, DevOps | | [DATA_MODEL.md](./docs/DATA_MODEL.md) | Database schema + entity diagram | Backend Developer | | [API.md](./docs/API.md) | REST + WebSocket contract | Frontend Developer, API Consumer | | [UI_SPEC.md](./docs/UI_SPEC.md) | Per-screen component spec | Frontend Developer, Designer | | [MCP_PLUGINS.md](./docs/MCP_PLUGINS.md) | MCP registry + routing + security | Developer, DevOps | | [GENERATORS.md](./docs/GENERATORS.md) | Generator design (deterministic + LLM) | QA Engineer, Developer | | [AUTONOMY.md](./docs/AUTONOMY.md) | Per-workspace autonomy dial | Admin, QA Lead | | [AI_AGENT.md](./docs/AI_AGENT.md) | Prompts + LangGraph + tool registry | AI/ML Engineer | | [BLACKBOX_UI_TESTING.md](./docs/BLACKBOX_UI_TESTING.md) | Blackbox DOM engine | QA Engineer (test dari URL saja) | | [DESKTOP_TESTING.md](./docs/DESKTOP_TESTING.md) | Desktop targets (computer-use, Electron, Slint) | QA Engineer (test desktop app) | | [DEPLOYMENT.md](./docs/DEPLOYMENT.md) | Compose / Helm / air-gapped | DevOps, SRE | | [TROUBLESHOOTING.md](./docs/TROUBLESHOOTING.md) | FAQ teknis & solve masalah umum | Semua | --- ## FAQ (Pertanyaan Umum) ### ❓ Apakah Suitest gratis? **Ya.** Suitest open-source (Apache 2.0 License). Tidak ada biaya langganan. Kamu bisa self-host tanpa batas. ### ❓ Apakah saya harus bisa coding untuk pakai Suitest? **Tidak.** Buat dan kelola test case melalui web dashboard. Eksekusinya membutuhkan LLM workspace yang tervalidasi dan MCP provider. ### ❓ Apakah saya butuh AI/LLM untuk pakai Suitest? **Untuk TCM manual, tidak.** Eksekusi MCP, test run, dan fitur AI membutuhkan LLM workspace yang tervalidasi. ### ❓ Bagaimana cara install Suitest? Lihat [Mulai dalam 3 Langkah](#mulai-dalam-3-langkah) di atas. Cukup satu command: `npx @suiflex/suitest onboard` ### ❓ Apakah data saya aman? **Ya.** Suitest self-host β€” data tidak pernah keluar dari server kamu. API key di-encrypt AES-GCM. Tidak ada telemetry wajib. ### ❓ Apakah Suitest bisa test selain browser? **Ya.** Suitest bisa test: browser (Playwright), API (HTTP/GraphQL/gRPC), database (Postgres/Mongo/MySQL), mobile (Appium), desktop (Slint, Tauri), infra (Kubernetes), dan MCP server lainnya. ### ❓ Bagaimana jika saya stuck / ada error? Lihat [docs/TROUBLESHOOTING.md](./docs/TROUBLESHOOTING.md) atau buka issue di [GitHub Issues](https://github.com/suiflex/suitest/issues). ### ❓ Bagaimana cara contribute? Baca [CONTRIBUTING.md](./CONTRIBUTING.md). Singkatnya: 1. Baca [CLAUDE.md](./CLAUDE.md) β€” aturan coding 2. Pick item di [ROADMAP.md](./docs/ROADMAP.md) yang belum selesai 3. Branch: `feat/-` 4. Commit: conventional commits (`feat(api): ...`) 5. Pastikan `make ci` pass sebelum push ### ❓ Apakah ada demo yang bisa saya coba? **Ya.** Jalankan `make demo` β†’ buka `http://localhost:3000` β†’ login `demo@suitest.dev` / `demo1234` ### ❓ Port 4000 sudah dipakai, bagaimana? Gunakan flag `--port`: `npx @suiflex/suitest onboard --port 5000` ### ❓ Apakah Suitest bisa dijalankan di Windows? **Ya.** Suitest mendukung Windows, macOS, dan Linux. Pastikan Node.js β‰₯ 18 dan uv terinstall. --- ## Perbandingan dengan Tools Lain | Fitur | TestRail | Playwright | TestSprite | **Suitest** | |-------|:--------:|:----------:|:----------:|:-----------:| | Manual Test Case Management | βœ… | ❌ | Partial | βœ… | | Automated Runner | ❌ | βœ… | βœ… | βœ… | | Universal MCP Plugin Layer | ❌ | ❌ | Partial | βœ… | | AI Generation / Diagnosis | ❌ | ❌ | βœ… | βœ… | | Self-host | βœ… | βœ… | ❌ | βœ… | | BYO LLM (100+ providers) | n/a | n/a | ❌ Locked | βœ… | | Air-gapped | βœ… | βœ… | ❌ | βœ… (model self-hosted) | | Open Source | ❌ | Runner only | ❌ | βœ… | --- ## Release Notes Seluruh workspace berbagi satu versi dan rilis lewat satu tag `vX.Y.Z`. Dua package yang kamu install langsung: | Package | Fungsi | Update dengan | |---------|--------|---------------| | [`@suiflex/suitest`](https://www.npmjs.com/package/@suiflex/suitest) (launcher) | Platform lokal: web dashboard + semua Python wheels | `npx @suiflex/suitest@latest onboard` | | [`@suiflex/suitest-mcp`](https://www.npmjs.com/package/@suiflex/suitest-mcp) (MCP server) | IDE tools + lifecycle engine | `npx -y @suiflex/suitest-mcp@latest` | **Release notes:** [suitest.suiflex.dev/docs/changelog](https://suitest.suiflex.dev/docs/changelog/) --- ## Contributing 1. **Baca [CLAUDE.md](./CLAUDE.md)** β€” aturan coding yang berlaku (termasuk untuk AI coding agent) 2. **Pick item berikutnya di [docs/ROADMAP.md](./docs/ROADMAP.md)** β€” satu PR = satu acceptance criterion 3. **Branch:** `feat/-`. **Commits:** conventional commits (`feat(api): ...`) 4. **Sebelum push:** `make ci` harus pass (ruff + mypy strict, tsc strict + ESLint, pytest async + vitest) Lihat juga [CONTRIBUTING.md](./CONTRIBUTING.md), [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md), dan [SECURITY.md](./SECURITY.md). --- ## License Apache License 2.0. See [LICENSE](./LICENSE). ## Acknowledgments Built on [Model Context Protocol](https://modelcontextprotocol.io) (Anthropic), [LiteLLM](https://github.com/BerriAI/litellm) (BerriAI), [LangGraph](https://langchain-ai.github.io/langgraph/) (LangChain), [`@ai-sdk/react`](https://sdk.vercel.ai/docs) + assistant-ui (Vercel), shadcn/ui, TanStack, and the FastAPI / SQLAlchemy / Pydantic ecosystems. ---

Suiflex

Suitest is a Suiflex project β€” powered by Suiflex.