QA Studio

QA Studio Logo

Modern Test Management Without the BS

Website β€’ Documentation β€’ Discord β€’ Blog


Overview

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.

Key Features

  • πŸš€ 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
  • πŸ” Enterprise Auth - Clerk authentication with SSO/SAML support
  • 🌐 Self-Hostable - Deploy on your own infrastructure with full control

Quick Start

Prerequisites

  • Node.js 18+ and npm
  • PostgreSQL database
  • Clerk account (for authentication)

Installation

  1. Clone the repository

    git clone https://github.com/QAStudio-Dev/studio.git
    cd studio
    
  2. Install dependencies

    npm install
    
  3. Set up environment variables

    cp .env.example .env.local
    

    Edit .env.local with your configuration:

    # Database
    DATABASE_URL="postgresql://user:password@localhost:5432/qa_studio"
    
    # Clerk Authentication
    PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
    CLERK_SECRET_KEY=sk_test_...
    
    # 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_TOKEN is required even in development. QA Studio uses Vercel Blob storage for all attachments. See Vercel Blob Setup below for details.

  4. Set up the database

    npx prisma generate
    npx prisma db push
    
  5. Start the development server

    npm run dev
    

    Open http://localhost:5173 in your browser.

Vercel Blob Setup

QA Studio requires Vercel Blob storage for test attachments (screenshots, videos, traces). This is required in both development and production.

Setup Steps:

  1. Create a Vercel Blob Store

    • Go to Vercel Dashboard
    • Navigate to Storage β†’ Blob
    • Click "Create Database"
    • Name it (e.g., "qa-studio-attachments")
  2. 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
      
  3. 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.ts to use your storage solution
  • Keep the same interface for compatibility

Tech Stack

  • Frontend: SvelteKit 2, Svelte 5, Skeleton UI, Tailwind 4
  • Backend: SvelteKit API routes
  • Database: PostgreSQL with Prisma ORM
  • Authentication: Clerk (with SSO support)
  • Deployment: Vercel (or any Node.js host)
  • CMS: Decap CMS for blog management

Documentation

Deployment

  1. Connect your GitHub repository to Vercel
  2. Add environment variables in Vercel dashboard
  3. Deploy!

Self-Hosting

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.

Pricing & Licensing

QA Studio uses the Elastic License 2.0 - you're free to:

  • βœ… Use QA Studio for free
  • βœ… Self-host on your own infrastructure
  • βœ… Modify and fork the code
  • βœ… Use it commercially (internally)

You cannot:

  • ❌ Offer QA Studio as a hosted/managed service to others
  • ❌ Remove license notices or circumvent license checks

Pricing Plans

  • Free Tier: 1 project, unlimited test cases
  • Self-Hosted: Unlimited everything on your infrastructure
  • Pro Plan: Unlimited projects, teams, AI diagnostics - Learn more

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Community

  • πŸ’¬ Discord Server - Chat with the community
  • πŸ“ Blog - Latest updates and tutorials
  • πŸ› Issue Tracker - Report bugs or request features
  • πŸ—£οΈ Discussions - Ask questions and share ideas

License

QA Studio is licensed under the Elastic License 2.0.

Copyright Β© 2025 QA Studio


Built with ❀️ by QA Engineers, for QA Engineers

Website β€’ Documentation β€’ Discord

Top categories

Loading Svelte Themes