TestGenie is an enterprise-ready test management platform designed to streamline software testing workflows and enhance quality assurance operations. This system offers comprehensive test management capabilities with AI-powered assistance to accelerate test creation and optimization.
- Comprehensive Test Management: End-to-end solution covering test case creation, test plan management, test execution tracking, and results analysis within a unified platform
- AI-Enhanced Productivity: Integrated AI assistant (powered by SUPERWISEยฎ) provides intelligent test case suggestions, automation recommendations, and smart workflow optimizations
TestGenie serves quality assurance teams, software testing professionals, and development organizations seeking to:
- Centralize and standardize test management processes
- Improve test coverage and quality through AI-assisted test creation
- Reduce manual effort in test planning and execution tracking
- Enhance collaboration between QA teams and development stakeholders
- Scale testing operations efficiently across multiple projects
By automating test management workflows and leveraging AI capabilities, TestGenie enables organizations to:
- Reduce Time-to-Market: Accelerate test planning and execution cycles by up to 40% through AI-powered automation
- Improve Quality Coverage: Systematic test case organization and comprehensive tracking ensure thorough test coverage across all project components
- Enhance Team Efficiency: Centralized platform eliminates tool fragmentation and reduces context switching, improving team productivity
- Enable Data-Driven Decisions: Comprehensive analytics and reporting provide insights into test execution trends and quality metrics
- Lower Operational Costs: Self-hosted deployment options and efficient resource utilization reduce licensing and infrastructure expenses
Transform your business operations with Superwise AI: Get Started with Superwise - Enterprise-grade AI governance, risk & compliance solutions for software testing and other businesses.
- Node.js 18+
- Python 3.8+
- npm or yarn
- pip (Python package installer)
- Docker Desktop (for Docker setup)
Clone, configure, and run:
git clone <repository-url>
cd testgenie
cp .env.example .env
# Edit .env file with your configurationFrontend:
npm installBackend:
cd backend
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txtOption 1: Quick Start with Docker the entire application: (Recommended)
# docker-compose directly
docker-compose up --build
# Run in background
docker-compose up --build -d
# Or build and start all services
npm run docker:up:buildOption 2: Use the provided startup scripts (Recommended)
Windows:
# Start both frontend and backend automatically
start-project.batPowerShell:
# Start both frontend and backend automatically
.\start-project.ps1Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- API Documentation: http://localhost:5000/docs
# Build all images
npm run docker:build
# Start services
npm run docker:up
# Build and start
npm run docker:up:build
# Stop services
npm run docker:down
# View logs
npm run docker:logs
# Restart services
npm run docker:restart
# Clean up everything
npm run docker:clean- Consistent Environment: Same setup across all machines
- Easy Deployment: One command to start everything
- No Local Dependencies: No need to install Node.js or Python locally
- Isolation: No conflicts with local installations
- Production Ready: Optimized for production deployment
- Log Persistence: Logs are mounted as volumes for easy access and persistence
For detailed Docker documentation, see DOCKER_README.md.
- Visual Dashboard: Comprehensive project overview with real-time metrics and insights
- Project Creation: Create and manage multiple test projects with ease
- Project Navigation: Intuitive switching between projects and seamless workspace organization
- Project Metrics: Track project health, test coverage, and execution statistics at a glance
- Intelligent Planning: AI-assisted test plan generation based on project requirements and scope
- Automated Test Strategy: Smart recommendations for test coverage and execution strategy
- Optimized Planning: AI-driven optimization of test plan structure and resource allocation
- Automated Test Case Generation: AI-powered creation of comprehensive test cases from requirements
- Smart Test Steps: Intelligent generation of detailed test steps and validation criteria
- Test Case Optimization: AI-enhanced suggestions for improving test case quality and coverage
- Rapid Test Development: Accelerate test case creation with AI-powered automation
- Intelligent Test Automation: AI assistant powered by SUPERWISEยฎ for advanced test automation guidance
- Smart Recommendations: AI-driven suggestions for test improvements, coverage gaps, and optimization
- Contextual Assistance: Real-time AI support throughout the test management lifecycle
- Workflow Optimization: AI-powered insights to streamline testing processes and enhance productivity
The Superwise agent provides comprehensive data guardrails on project data to ensure data safety:
- Data Isolation: Each project maintains complete data isolation, preventing cross-project data leakage and ensuring secure multi-tenant operations through Superwise agent monitoring
- Data Validation: Superwise agent enforces strict input validation and sanitization for project data to prevent malicious data injection and ensure data quality
TestGenie includes comprehensive telemetry and monitoring capabilities to provide visibility into system performance, usage patterns, and operational health:
- Application Logging: Centralized logging system captures all application events, errors, and user activities
- Structured Logging: JSON-formatted logs with timestamps, log levels, and contextual information
- Dual Log Files: Separate logs for general application events (
app.log) and errors (error.log) - Daily Rotation: Automatic log rotation with configurable retention periods (default: 1 day)
- Log Levels: Configurable logging levels (DEBUG, INFO, WARNING, ERROR, CRITICAL) for granular control
Access telemetry and monitoring data through the following locations:
-
Application Logs:
- Location:
logs/directory in the project root - Files:
logs/app.log- All application logs (INFO level and above)logs/error.log- Error logs only (ERROR level and above)
- Format: Rotated daily with date suffixes (e.g.,
app.log.2025-10-30) - Docker: Logs are persisted via Docker volumes at
/app/logsinside containers
- Location:
-
Console Output:
- Real-time logging output in the terminal/console where the application is running
- Useful for immediate debugging and development
- Configurable via
ENABLE_CONSOLE_LOGGINGenvironment variable
-
API Documentation:
- Health check endpoints available at
/healthand/docs - OpenAPI/Swagger documentation at
http://localhost:5000/docs(development) - Includes API performance metrics and response times
- Health check endpoints available at
-
Environment Configuration:
- Configure logging behavior via environment variables in
.envfile:LOG_LEVEL: Set logging verbosity (DEBUG, INFO, WARNING, ERROR, CRITICAL)LOG_DIR: Specify log directory pathENABLE_FILE_LOGGING: Toggle file logging (true/false)ENABLE_CONSOLE_LOGGING: Toggle console logging (true/false)
- Configure logging behavior via environment variables in
-
Docker Logs:
- Access container logs using:
docker-compose logsornpm run docker:logs - View specific service logs:
docker-compose logs backendordocker-compose logs frontend - Follow logs in real-time:
docker-compose logs -f
- Access container logs using:
-
Backend Logging Configuration:
- Logging configuration file:
backend/logging_config.py - Customizable log formats, handlers, and rotation policies
- Integration with external logging services (configurable)
- Logging configuration file:
TestGenie/
โโโ frontend/ # Next.js frontend application
โ โโโ src/
โ โ โโโ app/ # Next.js App Router directory
โ โ โ โโโ page.tsx # Landing page
โ โ โ โโโ layout.tsx # Root layout component
โ โ โ โโโ globals.css # Global styles
โ โ โ โโโ components/ # Reusable React components
โ โ โ โ โโโ CreateProjectModal.tsx
โ โ โ โ โโโ Header.tsx
โ โ โ โ โโโ LoginModal.tsx
โ โ โ โ โโโ ProjectSidebar.tsx
โ โ โ โ โโโ SignupModal.tsx
โ โ โ โโโ dashboard/ # Dashboard pages
โ โ โ โโโ page.tsx # Main dashboard
โ โ โ โโโ project/[id]/ # Dynamic project routes
โ โ โ โโโ page.tsx # Project dashboard
โ โ โ โโโ ai-assistant/ # AI assistant page
โ โ โ โโโ elements/ # Element management
โ โ โ โ โโโ page.tsx
โ โ โ โ โโโ create/
โ โ โ โ โโโ edit/
โ โ โ โโโ test-cases/ # Test case management
โ โ โ โ โโโ page.tsx
โ โ โ โ โโโ create/
โ โ โ โ โโโ edit/
โ โ โ โโโ test-data/ # Test data management
โ โ โ โ โโโ page.tsx
โ โ โ โ โโโ create/
โ โ โ โ โโโ environments/ # Test environments
โ โ โ โโโ test-plans/ # Test plan management
โ โ โ โ โโโ page.tsx
โ โ โ โ โโโ create/
โ โ โ โ โโโ edit/
โ โ โ โโโ test-suites/ # Test suite management
โ โ โ โ โโโ page.tsx
โ โ โ โ โโโ create/
โ โ โ โ โโโ edit/
โ โ โ โโโ run-results/ # Test execution results
โ โ โ โโโ settings/ # Project settings
โ โ โ โโโ wiki/ # Project documentation/wiki
โ โ โโโ config.ts # Frontend configuration
โ โ โโโ services/ # API service layer
โ โ โโโ api.ts # API client
โ โโโ public/ # Static assets
โ โ โโโ company-icon.svg
โ โ โโโ favicon.ico
โ โ โโโ superwise_logo.svg
โ โโโ Dockerfile # Frontend Docker configuration
โ โโโ .dockerignore # Frontend Docker ignore file
โ โโโ eslint.config.mjs # ESLint configuration
โ โโโ next.config.ts # Next.js configuration
โ โโโ next-env.d.ts # Next.js type definitions
โ โโโ package.json # Frontend dependencies
โ โโโ postcss.config.mjs # PostCSS configuration
โ โโโ tsconfig.json # TypeScript configuration
โ โโโ README.md # Frontend documentation
โโโ backend/ # Python FastAPI backend
โ โโโ main.py # FastAPI application entry point
โ โโโ database.py # Database configuration & connection
โ โโโ models.py # SQLAlchemy database models
โ โโโ schemas.py # Pydantic schemas for validation
โ โโโ crud.py # Database CRUD operations
โ โโโ auth.py # Authentication & authorization
โ โโโ config.py # Application configuration
โ โโโ logging_config.py # Logging configuration
โ โโโ run.py # Development server runner
โ โโโ requirements.txt # Python dependencies
โ โโโ Dockerfile # Backend Docker configuration
โ โโโ .dockerignore # Backend Docker ignore file
โ โโโ start.bat # Windows backend startup script
โ โโโ testgenie.db # SQLite database (development)
โ โโโ README.md # Backend documentation
โโโ docs/ # Documentation directory
โ โโโ DOCKER_README.md # Docker setup documentation
โ โโโ SUPERWISE_AGENT_SETUP_GUIDE.md # Superwise AI integration guide
โ โโโ USAGE.md # Usage documentation
โโโ helm/ # Kubernetes Helm charts
โ โโโ Chart.yaml # Helm chart metadata
โ โโโ values.yaml # Helm chart values
โ โโโ README.md # Helm chart documentation
โ โโโ templates/ # Kubernetes manifests
โ โโโ _helpers.tpl # Helm template helpers
โ โโโ deployment.yaml # Deployment manifest
โ โโโ ingress.yaml # Ingress manifest
โ โโโ knative-service.yaml # Knative service manifest
โ โโโ service.yaml # Service manifest
โ โโโ serviceaccount.yaml # Service account manifest
โโโ tests/ # Test suite
โ โโโ conftest.py # Pytest configuration & fixtures
โ โโโ README.md # Testing documentation
โ โโโ integration/ # Integration tests
โ โโโ test_auth_simple.py # Authentication tests
โ โโโ test_integration.py # Integration test suite
โโโ logs/ # Application logs directory
โ โโโ app.log # Main application logs (daily rotation)
โ โโโ error.log # Error logs (daily rotation)
โโโ docker-compose.yml # Docker Compose configuration
โโโ .dockerignore # Root Docker ignore file
โโโ .pre-commit-config.yaml # Pre-commit hooks configuration
โโโ DEPLOYMENT.md # Deployment documentation
โโโ DOCKER.md # Docker documentation (legacy)
โโโ LICENSE # MIT License
โโโ next.config.ts # Root Next.js configuration
โโโ package.json # Root package.json with Docker scripts
โโโ pyproject.toml # Python tool configuration (black, isort, mypy, pytest)
โโโ pytest.ini # pytest configuration
โโโ QUICKSTART.md # Quick start guide
โโโ setup.cfg # flake8 configuration
โโโ start-project.bat # Windows startup script (starts both frontend & backend)
โโโ start-project.ps1 # PowerShell startup script (starts both frontend & backend)
โโโ README.md # Main documentation
- Next.js 15: Latest React framework with App Router
- TypeScript: Full type safety throughout the application
- Responsive Design: Mobile-first responsive design
- API Integration: RESTful API communication with Python backend
- FastAPI: Modern, fast web framework for building APIs
- SQLAlchemy ORM: Database abstraction layer
- JWT Authentication: Secure token-based authentication
- Pydantic: Data validation and serialization
- SQLite/PostgreSQL: Database support for development and production
- Logging System: Centralized logging with daily file rotation
- File Logging: Separate logs for application and errors
- Daily Rotation: Automatic log rotation at midnight (30 days retention)
- Console Logging: Real-time console output with configurable levels
- Environment Configuration: Configurable via environment variables
- React Hooks: Modern state management with useState and useEffect
- API Client: Centralized API communication layer
- JWT Tokens: Secure authentication state management
- Local Storage: Fallback data persistence
- Drag & Drop: Reorder test steps with intuitive drag-and-drop
- Search & Filter: Advanced search and filtering capabilities
- Bulk Actions: Select and manage multiple items
- Empty States: Helpful empty state designs with clear CTAs
- Install Docker Desktop and ensure it's running
- Clone the repository
- Start the application:
npm run docker:up:build - Open your browser: Navigate to http://localhost:3000
- Create your first project: Click "Create Project" on the dashboard
- Clone the repository
- Install dependencies:
npm installandnpm run install:frontend - Start development server:
npm run dev:frontendandnpm run start:backend - Open your browser: Navigate to http://localhost:3000
- Create your first project: Click "Create Project" on the dashboard
- Database Migration: Easy migration from SQLite to PostgreSQL
- Advanced Authentication: OAuth2, SSO integration
- Team Collaboration: Multi-user project access and permissions
- Test Execution: Automated test execution capabilities
- Reporting: Advanced test reporting and analytics
- Real-time Updates: WebSocket support for live collaboration
- Email Notifications: Automated email notifications for test results
The application uses environment variables for configuration. Create a .env file in the root directory:
Database Configuration:
DATABASE_URL: Database connection string (default:sqlite:///./backend/testgenie.db)
Security Configuration:
SECRET_KEY: Secret key for JWT token signing (change in production!)ALGORITHM: JWT algorithm (default:HS256)ACCESS_TOKEN_EXPIRE_MINUTES: Token expiration time in minutes (default:30)
CORS Configuration:
FRONTEND_URL: Frontend URL for CORS (default:http://localhost:3000)
Logging Configuration:
LOG_LEVEL: Logging level - DEBUG, INFO, WARNING, ERROR, CRITICAL (default:INFO)LOG_DIR: Log directory path (default:logs)ENABLE_FILE_LOGGING: Enable file logging - true/false (default:true)ENABLE_CONSOLE_LOGGING: Enable console logging - true/false (default:true)
User Configuration:
TEST_USER_EMAIL: Default test user email (default:[REDACTED])TEST_USER_PASSWORD: Default test user password (default:Admin123)TEST_USER_FULL_NAME: Default test user full name (default:Admin)
Superwise AI Configuration:
SUPERWISE_API_URL: Superwise API endpoint (default:https://api.superwise.ai/v1/app-worker)SUPERWISE_AGENT_ID: Superwise agent ID
The application includes comprehensive logging with the following features:
-
Dual Log Files:
logs/app.log: All application logs (INFO level and above)logs/error.log: Error logs only (ERROR level and above)
-
Automatic Rotation: Logs rotate daily at midnight with everyday retention
-
Log Format: Detailed logs include timestamp, logger name, level, function name, line number, and message
-
Docker Support: Logs are persisted via Docker volumes and accessible both inside containers and on the host
- No Real Project Data: All projects data in this application is artificially generated
- Educational Purpose: This is a demonstration/educational project, not a production test system
- Data Sources: Dummy project data has set into Superwise agent knowledge.
๐จ CRITICAL SECURITY LIMITATIONS - NOT PRODUCTION READY:
- Authentication: Application has user login but not using OAuth2 authentication
- No Authorization: No access controls or user permission management
- No Data Encryption: Machine data is stored and transmitted without encryption
- No Session Management: No secure session handling or user state management
- No Access Logging: No audit trails for data access or user activities
- No Input Validation: Limited input sanitization and validation
- No HTTPS Enforcement: No SSL/TLS encryption for data transmission
- Local Processing: All data processing occurs locally on your infrastructure
- No External Data Sharing: Data is not transmitted to external services (except Superwise AI with explicit consent)
- Data Retention: Logs and data are stored locally with configurable retention policies
- Access Control: Environment-based configuration for secure access
- GDPR Ready: Data processing follows privacy-by-design principles
- Audit Logging: Comprehensive logging for compliance tracking
- Secure Configuration: Environment variables for sensitive data management
- Local Processing: All data processing occurs locally on user infrastructure
- Synthetic Data: Uses only synthetic/demo data for demonstration purposes
- No Personal Data: The system processes only project data (project name, description, business requirement document).
- Clear Purpose: Data processing is limited to test plan & cases generation.
- Environment Variables: Sensitive configuration stored in environment variables
- Local Storage: Data stored locally with no external transmission (except optional Superwise AI integration)
- Input Validation: Comprehensive data validation and sanitization
- Error Handling: Secure error messages without data exposure
- Clear Documentation: Comprehensive privacy and compliance documentation
- Data Sources: Clearly documented data sources and processing purposes
- Configuration: Transparent configuration management
- Comprehensive Logging: Detailed audit logs for all operations
- Compliance Tracking: Logging specifically designed for compliance tracking
- Data Processing Records: Complete records of data processing activities
- Synthetic Data: Pre-loaded sample data for demonstration
- Data Validation: Input validation and sanitization
- Error Handling: Secure error messages without data exposure
For Production Use:
- GDPR Compliance: Ensure proper GDPR compliance before handling real project data
- Data Encryption: Use encryption for data at rest and in transit
- Access Controls: Implement proper user authentication and authorization
- Audit Logging: Maintain comprehensive audit trails for all data access
- Business Associate Agreements: Ensure all third-party services (like Superwise API) have proper BAAs
Current Implementation:
- โ Synthetic Data Only: No real project data is processed
- โ Local Processing: Data stays within your local environment
- โ No External Storage: No data is sent to external databases
โ ๏ธ API Integration: Superwise API calls may transmit synthetic data (configure accordingly)
Note: This application is for educational/demonstration purposes. For production applications, consult with legal and compliance experts regarding GDPR requirements.
Load following data for application execution:
- Superwise agent knowledge: Add business requirement document pdf file in Superwise knowledge agent.
- Create Project: Login to TestGenie using the credentials set in environment file (TEST_USER_EMAIL, TEST_USER_PASSWORD). Create Project from dashboard using project name, description, version, etc.
Note: the AI agent will generate test plan & cases using project name and business requirement document.
Backend (Python):
- PEP 8 Compliance: Python code follows PEP 8 style guidelines with 88-character line length
- Type Hints: Comprehensive type annotations with mypy strict type checking
- Code Formatting: Consistent code formatting with Black and import sorting with isort
- Code Complexity: Enforced complexity limits (max complexity: 10, max statements: 50)
- Documentation: Inline documentation and docstrings for all functions and modules
- Error Handling: Robust error handling throughout the application
Frontend (TypeScript/React):
- TypeScript: Full type safety with strict TypeScript configuration
- ESLint: Next.js ESLint rules with core-web-vitals and TypeScript support
- Code Style: Consistent React/Next.js patterns and best practices
- Component Documentation: TypeScript interfaces and JSDoc comments for components
Backend Linting:
# Run flake8 linting (style and error checking)
npm run lint:backend
# Or manually:
cd backend
flake8 . --max-line-length=88 --extend-ignore=E203,W503
# Format code with Black and isort
npm run format:backend
# Or manually:
cd backend
black .
isort . --profile black
# Type checking with mypy
npm run typecheck:backend
# Or manually:
cd backend
mypy . --ignore-missing-imports
# Run all backend checks
npm run lint:backend && npm run format:backend && npm run typecheck:backendFrontend Linting:
# Run ESLint checks
npm run lint:frontend
# Or manually:
cd frontend
npm run lint
# Type checking is built into Next.js build process
npm run build:frontendCombined Commands:
# Lint both frontend and backend
npm run lint:all
# Format all code (backend only)
npm run format:all
# Run all tests
npm run test:all- Docker Setup Guide - Complete Docker deployment and configuration guide
- Superwise Agent Setup - AI agent configuration and integration guide
- User Guide - Step-by-step user walkthrough and features
- Application Interface - Interactive web application
- Environment Setup - Environment variables configuration template
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Check the comprehensive guides in the
docs/folder - Application Interface: Visit http://localhost:3000 for the interactive web application
- Common Issues: Check the User Guide for troubleshooting steps
- Configuration: Verify your
.envfile matches the.env.exampletemplate - Logs: Check the
logs/directory for detailed error information - Health Check:
- Backend API Health: Visit http://localhost:5000/api/health to verify backend API status
- API Documentation: Visit http://localhost:5000/docs for interactive API documentation
- Frontend: Visit http://localhost:3000 to access the web application