QA Studio is a modern, open-source test management platform built by QA engineers, for QA engineers. No bloat, no slowness, no BSβjust powerful testing tools that actually work the way you need them to.
- π Lightning Fast - Built with SvelteKit 5, Tailwind 4, and optimized for speed
- π API First - Every feature available via comprehensive REST API
- π Rich Reporting - Track test results, trends, and metrics with beautiful dashboards
- π§ͺ Test Organization - Hierarchical test suites and cases with full traceability
- π― Test Execution - Plan and execute test runs across multiple environments
- πΈ Rich Media - Attach screenshots, videos, logs, and stack traces
- π Self-Hosted Auth - Secure authentication with bcrypt and session management
- π Self-Hostable - Deploy on your own infrastructure with full control
- Node.js 18+ and npm
- PostgreSQL database
-
Clone the repository
git clone https://github.com/QAStudio-Dev/studio.git cd studio -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Edit
.env.localwith your configuration:# Database DATABASE_URL="postgresql://user:password@localhost:5432/qa_studio" # Vercel Blob Storage (REQUIRED for attachments) # Get from: Vercel Dashboard -> Storage -> Blob -> Connect -> Read/Write Token # All attachments (screenshots, videos, traces) are stored in Vercel Blob BLOB_READ_WRITE_TOKEN=vercel_blob_rw_... # Cron Secret (for scheduled jobs like attachment cleanup) # Generate with: openssl rand -hex 32 CRON_SECRET=your_64_character_hex_string_here # Decap CMS (optional, for blog) DECAP_GITHUB_CLIENT_ID=... DECAP_GITHUB_CLIENT_SECRET=...
Note:
BLOB_READ_WRITE_TOKENis required even in development. QA Studio uses Vercel Blob storage for all attachments. See Vercel Blob Setup below for details. -
Set up the database
npx prisma generate npx prisma db push
-
Start the development server
npm run dev
Open http://localhost:5173 in your browser.
QA Studio requires Vercel Blob storage for test attachments (screenshots, videos, traces). This is required in both development and production.
Setup Steps:
-
Create a Vercel Blob Store
- Go to Vercel Dashboard
- Navigate to Storage β Blob
- Click "Create Database"
- Name it (e.g., "qa-studio-attachments")
-
Get Your Token
- In the Blob store settings, go to "Connect"
- Copy the "Read/Write Token"
- Add it to
.env.local:BLOB_READ_WRITE_TOKEN=vercel_blob_rw_xxxxxxxxxxxxx
-
Attachment Retention
- Free users: 7-day retention (attachments deleted automatically)
- Pro users: 30-day retention
- Cleanup runs daily via cron job at 2 AM UTC
Why Vercel Blob?
- Fast global CDN delivery
- No file size limits
- Automatic optimization
- Free tier: 500MB storage, 5GB bandwidth/month
- Paid: $0.15/GB storage, $0.15/GB bandwidth
Alternative for Self-Hosting: If you're self-hosting and don't want to use Vercel Blob, you can:
- Implement your own blob storage adapter (S3, MinIO, local filesystem)
- Modify
src/lib/server/blob-storage.tsto use your storage solution - Keep the same interface for compatibility
- Frontend: SvelteKit 2, Svelte 5, Skeleton UI, Tailwind 4
- Backend: SvelteKit API routes
- Database: PostgreSQL with Prisma ORM
- Authentication: Self-hosted with bcrypt and secure sessions
- Deployment: Vercel (or any Node.js host)
- CMS: Decap CMS for blog management
- π API Documentation - Complete REST API reference
- π§ Setup Guides - Detailed setup instructions
- Team Invitations - Invite members with role-based access
- Stripe Integration - Team billing and subscriptions
- Decap CMS Setup - Blog management
- Slack Notifications - Team notifications
- π¨ Project Structure - Codebase organization and conventions
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy!
QA Studio can be deployed to any platform that supports Node.js:
- Docker: Build and run with Docker (Dockerfile included)
- AWS/GCP/Azure: Deploy to any cloud provider
- VPS: Run on your own server with PM2 or similar
See our deployment guide for detailed instructions.
QA Studio uses the GNU Affero General Public License v3.0 (AGPL-3.0) - you're free to:
- β Use QA Studio for free
- β Self-host on your own infrastructure
- β Modify and fork the code
- β Use it commercially
- β Distribute modified versions
You must:
- β Share source code of any modifications when you run it as a service
- β Keep the same AGPL-3.0 license for derivative works
- β Provide access to source code to network users
- Free Tier: 1 project, unlimited test cases
- Self-Hosted: Unlimited everything on your infrastructure
- Pro Plan: Unlimited projects, teams, AI diagnostics - Learn more
We welcome contributions from everyone! Whether you're fixing bugs, adding features, improving documentation, or helping others in the community - every contribution matters.
Quick start:
- Read our Contributing Guide
- Check out good first issues
- Join our Discord community
See CONTRIBUTING.md for detailed guidelines on:
- Setting up your development environment
- Coding standards and best practices
- Testing requirements
- Pull request process
- How to get help
QA Studio is designed with privacy best practices and we are actively working toward full GDPR/CCPA compliance.
- Password Security: Bcrypt hashing (OWASP 2025 recommended)
- Session Security: HTTP-only secure cookies
- Data Encryption: AES-256 encryption at rest
- Audit Logging: Comprehensive audit trail for all actions
- Self-Hosted: Complete data sovereignty
For detailed compliance information, see:
- Database Backup System - Backup retention and GDPR/CCPA compliance procedures
- Audit Logging - Complete audit trail system
- Authentication Security - Password and session security
- π¬ Discord Server - Chat with the community
- π Blog - Latest updates and tutorials
- π Issue Tracker - Report bugs or request features
- π£οΈ Discussions - Ask questions and share ideas
QA Studio is licensed under the GNU Affero General Public License v3.0.
Copyright Β© 2025 QA Studio
Website β’ Documentation β’ Discord