testteller


Nametestteller JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummaryAI-Powered Test Agent for Test Case Generation and Automation using RAG & GenAI
upload_time2025-07-23 12:48:26
maintainerNone
docs_urlNone
authorAviral Nigam
requires_python>=3.11
licenseApache License 2.0
keywords testing ai rag test-automation code-generation llm pytest qa quality-assurance test-cases vector-store chromadb generative-ai openai anthropic claude gemini junit jest testng automation-framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TestTeller Agent

[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/testteller.svg)](https://pypi.org/project/testteller/)
[![Docker](https://img.shields.io/docker/v/iavipro/testteller?label=docker&logo=docker)](https://hub.docker.com/r/iavipro/testteller)
[![Tests](https://github.com/iAviPro/testteller-agent/actions/workflows/test-unit.yml/badge.svg)](https://github.com/iAviPro/testteller-agent/actions/workflows/test-unit.yml)
[![Downloads](https://pepy.tech/badge/testteller)](https://pepy.tech/project/testteller)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

**TestTeller** is the AI-powered Test agent that transforms your documentation into comprehensive test suites and executable automation code. Powered by a **dual-feedback RAG architecture** with support for multiple GenAI/LLMs (Google Gemini, OpenAI, Anthropic Claude, Local Llama), TestTeller analyzes your requirements, designs, and existing code to generate strategic test cases and automate them across **multiple programming languages** and **supported testing frameworks**.

## Why TestTeller?

TestTeller transforms documentation and code into comprehensive test strategies and executable automation. Unlike traditional testing tools, TestTeller uses dual-feedback RAG architecture to understand your requirements and generate intelligent test scenarios.

### Test Types Generated
- **End-to-End (E2E) Tests**: Complete user journeys across frontend, middleware, and backend services
- **Integration Tests**: Component integration (FE-BE, service-to-service, event-driven) and contract validation  
- **Technical Tests**: Performance, security, resilience testing with infrastructure focus
- **Mocked System Tests**: Isolated component testing with mocked dependencies

### Critical Features
- **Dual-Feedback RAG Enhancement**: Self-improving system that learns from generation cycles and stores high-quality outputs
- **Multi-Provider LLM Support**: Works with Google Gemini, OpenAI, Anthropic Claude, and local Llama/Ollama
- **Universal Document Intelligence**: Advanced parsing for PDFs, DOCX, XLSX, MD, TXT with context understanding
- **Code Repository Analysis**: Ingests and analyzes code from GitHub repos or local folders.

### Supported Languages & Frameworks  
**Test Generation**: All test types with tabular summaries and detailed specifications  
**Automation**: Python (pytest, unittest), JavaScript/TypeScript (Jest, Mocha, Cypress, Playwright), Java (JUnit, TestNG), and more

**Real-world workflow**: Ingest project (PRDs/Contracts/Design/Schema etc.) documentation & project code → Generate strategic test cases covering authentication, error handling, and edge cases → Create executable Selenium/Playwright automation with proper setup and assertions → Commit your code.

## Key Features

- **🤖 Generator Agent**: Virtual Test architect with dual-feedback RAG enhancement - analyzes docs and generates strategic test cases with intelligent categorization (E2E, integration, security, edge cases)
- **⚡ Automator Agent**: Multi-language code generation across **Python, JavaScript, TypeScript, Java** with **20+ framework support** (pytest, Jest, JUnit, Playwright, Cypress, Cucumber, etc.)
- **🔧 Multi-Provider GenAI/LLM**: Choose your AI provider - **Google Gemini, OpenAI, Anthropic Claude**, or run completely **local with Llama/Ollama**
- **📄 Universal Document Intelligence**: Advanced RAG ingestion for **PDFs, DOCX, XLSX, MD, TXT** - understands context and generates appropriate test focus
- **🔄 Self-Learning System**: Dual-feedback architecture gets smarter with each use - stores high-quality outputs and learns from automation success patterns

→ **[View Detailed Features](FEATURES.md)** | **[Technical Architecture](ARCHITECTURE.md)**

## Quick Start

### Prerequisites
- Python 3.11+
- API key for at least one LLM provider:
  - [Google Gemini](https://aistudio.google.com/) (recommended)
  - [OpenAI](https://platform.openai.com/api-keys)
  - [Anthropic Claude](https://console.anthropic.com/)
  - [Ollama](https://ollama.ai/) (local or within accessible environment)

### Installation

#### Option 1: PyPI Installation
```bash
# Install from PyPI
pip install testteller
```

#### Option 2: Docker Installation

**Quick Testing (Docker Hub Image):**
```bash
# Pull and run from Docker Hub for quick testing
docker pull iavipro/testteller:latest

# Run single commands
docker run -it \
  -e GOOGLE_API_KEY=your_api_key \
  -v $(pwd)/docs:/app/docs \
  -v $(pwd)/output:/app/output \
  iavipro/testteller:latest testteller --help

# Example: Generate test cases
docker run -it \
  -e GOOGLE_API_KEY=your_api_key \
  -v $(pwd):/app/workspace \
  iavipro/testteller:latest testteller generate "API tests" --output-file /app/workspace/tests.pdf --collection-name my_collection
```

**Full Development Setup (Docker Compose):**
```bash
# Clone repository for complete setup with ChromaDB
git clone https://github.com/iAviPro/testteller-agent.git
cd testteller-agent

# Setup environment variables
cp .env.example .env
# Edit .env file and add your API keys (GOOGLE_API_KEY, OPENAI_API_KEY, CLAUDE_API_KEY)

# Start all services (TestTeller + ChromaDB)
docker-compose up -d

# Configure and use
docker-compose exec app testteller configure
docker-compose exec app testteller ingest-docs /path/to/document.pdf --collection-name project
docker-compose exec app testteller generate "API integration tests" --collection-name project

# Stop services
docker-compose down
```

#### Option 3: From Source
```bash
# Install from source
git clone https://github.com/iAviPro/testteller-agent.git
cd testteller-agent
pip install -e .
```

### Basic Usage - Get Started in 2 Minutes

```bash
# 1. Configure your LLM provider (interactive wizard)
testteller configure

# 2. Ingest your documentation (supports PDF, DOCX, XLSX, MD, TXT)
testteller ingest-docs requirements.pdf --collection-name my_project

# 3. Ingest code from repository or local folder
testteller ingest-code https://github.com/user/repo --collection-name my_project
# OR: testteller ingest-code ./src --collection-name my_project

# 4. Generate strategic test cases with RAG context
testteller generate "Create comprehensive API integration tests" --collection-name my_project --output-file tests.pdf

# 5. Generate executable automation code
testteller automate tests.pdf --language python --framework pytest --output-dir ./tests
```

**Enhanced Examples:**

```bash
# E2E Testing Workflow
testteller ingest-docs user_stories.pdf --collection-name webapp
testteller ingest-code ./frontend --collection-name webapp  
testteller generate "E2E user registration and checkout flow" --collection-name webapp
testteller automate output.pdf --language javascript --framework cypress

# API Testing with Security Focus
testteller ingest-docs api_spec.pdf --collection-name api
testteller generate "API security and integration tests" --collection-name api --output-format pdf
testteller automate tests.pdf --language python --framework pytest

# Microservices Testing
testteller ingest-code ./services --collection-name microservices
testteller generate "Inter-service communication and resilience tests" --collection-name microservices
testteller automate output.pdf --language java --framework junit
```

**What happens?** TestTeller's dual-feedback RAG analyzes your ingested docs and code, generates strategic test cases using structured templates (E2E, Integration, Technical, Mocked), then creates production-ready automation with proper setup, data management, and CI/CD integration.

### Try TestTeller Now

**No API Keys?** No problem - use local Llama:
```bash
# Install Ollama (macOS/Linux)  
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3.2

# Configure TestTeller for local use
testteller configure --provider llama
```

## Docker Support

```bash
# Clone and setup
git clone https://github.com/iAviPro/testteller-agent.git
cd testteller-agent
cp .env.example .env  # Add your API keys
docker-compose up -d

# Use with Docker
docker-compose exec app testteller configure
docker-compose exec app testteller ingest-docs document.pdf --collection-name project
```

## Documentation

- **[Complete Features](FEATURES.md)** - Detailed feature descriptions and capabilities
- **[Technical Architecture](ARCHITECTURE.md)** - System design and technical details  
- **[Command Reference](COMMANDS.md)** - Complete CLI command documentation
- **[Testing Guide](TESTING.md)** - Test suite and validation documentation

## Common Issues

Run `testteller configure` if you encounter API key errors. For Docker issues, check logs with `docker-compose logs app`.


---

## License

This project is licensed under the Apache-2.0 License - see the [LICENSE](LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "testteller",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "testing, ai, rag, test-automation, code-generation, llm, pytest, qa, quality-assurance, test-cases, vector-store, chromadb, generative-ai, openai, anthropic, claude, gemini, junit, jest, testng, automation-framework",
    "author": "Aviral Nigam",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/d2/28/e8b8f6e339b650b0107975d15ef79a58ed945c5942ac708047e2944ee827/testteller-2.0.3.tar.gz",
    "platform": null,
    "description": "# TestTeller Agent\n\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![PyPI](https://img.shields.io/pypi/v/testteller.svg)](https://pypi.org/project/testteller/)\n[![Docker](https://img.shields.io/docker/v/iavipro/testteller?label=docker&logo=docker)](https://hub.docker.com/r/iavipro/testteller)\n[![Tests](https://github.com/iAviPro/testteller-agent/actions/workflows/test-unit.yml/badge.svg)](https://github.com/iAviPro/testteller-agent/actions/workflows/test-unit.yml)\n[![Downloads](https://pepy.tech/badge/testteller)](https://pepy.tech/project/testteller)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n**TestTeller** is the AI-powered Test agent that transforms your documentation into comprehensive test suites and executable automation code. Powered by a **dual-feedback RAG architecture** with support for multiple GenAI/LLMs (Google Gemini, OpenAI, Anthropic Claude, Local Llama), TestTeller analyzes your requirements, designs, and existing code to generate strategic test cases and automate them across **multiple programming languages** and **supported testing frameworks**.\n\n## Why TestTeller?\n\nTestTeller transforms documentation and code into comprehensive test strategies and executable automation. Unlike traditional testing tools, TestTeller uses dual-feedback RAG architecture to understand your requirements and generate intelligent test scenarios.\n\n### Test Types Generated\n- **End-to-End (E2E) Tests**: Complete user journeys across frontend, middleware, and backend services\n- **Integration Tests**: Component integration (FE-BE, service-to-service, event-driven) and contract validation  \n- **Technical Tests**: Performance, security, resilience testing with infrastructure focus\n- **Mocked System Tests**: Isolated component testing with mocked dependencies\n\n### Critical Features\n- **Dual-Feedback RAG Enhancement**: Self-improving system that learns from generation cycles and stores high-quality outputs\n- **Multi-Provider LLM Support**: Works with Google Gemini, OpenAI, Anthropic Claude, and local Llama/Ollama\n- **Universal Document Intelligence**: Advanced parsing for PDFs, DOCX, XLSX, MD, TXT with context understanding\n- **Code Repository Analysis**: Ingests and analyzes code from GitHub repos or local folders.\n\n### Supported Languages & Frameworks  \n**Test Generation**: All test types with tabular summaries and detailed specifications  \n**Automation**: Python (pytest, unittest), JavaScript/TypeScript (Jest, Mocha, Cypress, Playwright), Java (JUnit, TestNG), and more\n\n**Real-world workflow**: Ingest project (PRDs/Contracts/Design/Schema etc.) documentation & project code \u2192 Generate strategic test cases covering authentication, error handling, and edge cases \u2192 Create executable Selenium/Playwright automation with proper setup and assertions \u2192 Commit your code.\n\n## Key Features\n\n- **\ud83e\udd16 Generator Agent**: Virtual Test architect with dual-feedback RAG enhancement - analyzes docs and generates strategic test cases with intelligent categorization (E2E, integration, security, edge cases)\n- **\u26a1 Automator Agent**: Multi-language code generation across **Python, JavaScript, TypeScript, Java** with **20+ framework support** (pytest, Jest, JUnit, Playwright, Cypress, Cucumber, etc.)\n- **\ud83d\udd27 Multi-Provider GenAI/LLM**: Choose your AI provider - **Google Gemini, OpenAI, Anthropic Claude**, or run completely **local with Llama/Ollama**\n- **\ud83d\udcc4 Universal Document Intelligence**: Advanced RAG ingestion for **PDFs, DOCX, XLSX, MD, TXT** - understands context and generates appropriate test focus\n- **\ud83d\udd04 Self-Learning System**: Dual-feedback architecture gets smarter with each use - stores high-quality outputs and learns from automation success patterns\n\n\u2192 **[View Detailed Features](FEATURES.md)** | **[Technical Architecture](ARCHITECTURE.md)**\n\n## Quick Start\n\n### Prerequisites\n- Python 3.11+\n- API key for at least one LLM provider:\n  - [Google Gemini](https://aistudio.google.com/) (recommended)\n  - [OpenAI](https://platform.openai.com/api-keys)\n  - [Anthropic Claude](https://console.anthropic.com/)\n  - [Ollama](https://ollama.ai/) (local or within accessible environment)\n\n### Installation\n\n#### Option 1: PyPI Installation\n```bash\n# Install from PyPI\npip install testteller\n```\n\n#### Option 2: Docker Installation\n\n**Quick Testing (Docker Hub Image):**\n```bash\n# Pull and run from Docker Hub for quick testing\ndocker pull iavipro/testteller:latest\n\n# Run single commands\ndocker run -it \\\n  -e GOOGLE_API_KEY=your_api_key \\\n  -v $(pwd)/docs:/app/docs \\\n  -v $(pwd)/output:/app/output \\\n  iavipro/testteller:latest testteller --help\n\n# Example: Generate test cases\ndocker run -it \\\n  -e GOOGLE_API_KEY=your_api_key \\\n  -v $(pwd):/app/workspace \\\n  iavipro/testteller:latest testteller generate \"API tests\" --output-file /app/workspace/tests.pdf --collection-name my_collection\n```\n\n**Full Development Setup (Docker Compose):**\n```bash\n# Clone repository for complete setup with ChromaDB\ngit clone https://github.com/iAviPro/testteller-agent.git\ncd testteller-agent\n\n# Setup environment variables\ncp .env.example .env\n# Edit .env file and add your API keys (GOOGLE_API_KEY, OPENAI_API_KEY, CLAUDE_API_KEY)\n\n# Start all services (TestTeller + ChromaDB)\ndocker-compose up -d\n\n# Configure and use\ndocker-compose exec app testteller configure\ndocker-compose exec app testteller ingest-docs /path/to/document.pdf --collection-name project\ndocker-compose exec app testteller generate \"API integration tests\" --collection-name project\n\n# Stop services\ndocker-compose down\n```\n\n#### Option 3: From Source\n```bash\n# Install from source\ngit clone https://github.com/iAviPro/testteller-agent.git\ncd testteller-agent\npip install -e .\n```\n\n### Basic Usage - Get Started in 2 Minutes\n\n```bash\n# 1. Configure your LLM provider (interactive wizard)\ntestteller configure\n\n# 2. Ingest your documentation (supports PDF, DOCX, XLSX, MD, TXT)\ntestteller ingest-docs requirements.pdf --collection-name my_project\n\n# 3. Ingest code from repository or local folder\ntestteller ingest-code https://github.com/user/repo --collection-name my_project\n# OR: testteller ingest-code ./src --collection-name my_project\n\n# 4. Generate strategic test cases with RAG context\ntestteller generate \"Create comprehensive API integration tests\" --collection-name my_project --output-file tests.pdf\n\n# 5. Generate executable automation code\ntestteller automate tests.pdf --language python --framework pytest --output-dir ./tests\n```\n\n**Enhanced Examples:**\n\n```bash\n# E2E Testing Workflow\ntestteller ingest-docs user_stories.pdf --collection-name webapp\ntestteller ingest-code ./frontend --collection-name webapp  \ntestteller generate \"E2E user registration and checkout flow\" --collection-name webapp\ntestteller automate output.pdf --language javascript --framework cypress\n\n# API Testing with Security Focus\ntestteller ingest-docs api_spec.pdf --collection-name api\ntestteller generate \"API security and integration tests\" --collection-name api --output-format pdf\ntestteller automate tests.pdf --language python --framework pytest\n\n# Microservices Testing\ntestteller ingest-code ./services --collection-name microservices\ntestteller generate \"Inter-service communication and resilience tests\" --collection-name microservices\ntestteller automate output.pdf --language java --framework junit\n```\n\n**What happens?** TestTeller's dual-feedback RAG analyzes your ingested docs and code, generates strategic test cases using structured templates (E2E, Integration, Technical, Mocked), then creates production-ready automation with proper setup, data management, and CI/CD integration.\n\n### Try TestTeller Now\n\n**No API Keys?** No problem - use local Llama:\n```bash\n# Install Ollama (macOS/Linux)  \ncurl -fsSL https://ollama.ai/install.sh | sh\nollama pull llama3.2\n\n# Configure TestTeller for local use\ntestteller configure --provider llama\n```\n\n## Docker Support\n\n```bash\n# Clone and setup\ngit clone https://github.com/iAviPro/testteller-agent.git\ncd testteller-agent\ncp .env.example .env  # Add your API keys\ndocker-compose up -d\n\n# Use with Docker\ndocker-compose exec app testteller configure\ndocker-compose exec app testteller ingest-docs document.pdf --collection-name project\n```\n\n## Documentation\n\n- **[Complete Features](FEATURES.md)** - Detailed feature descriptions and capabilities\n- **[Technical Architecture](ARCHITECTURE.md)** - System design and technical details  \n- **[Command Reference](COMMANDS.md)** - Complete CLI command documentation\n- **[Testing Guide](TESTING.md)** - Test suite and validation documentation\n\n## Common Issues\n\nRun `testteller configure` if you encounter API key errors. For Docker issues, check logs with `docker-compose logs app`.\n\n\n---\n\n## License\n\nThis project is licensed under the Apache-2.0 License - see the [LICENSE](LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "AI-Powered Test Agent for Test Case Generation and Automation using RAG & GenAI",
    "version": "2.0.3",
    "project_urls": null,
    "split_keywords": [
        "testing",
        " ai",
        " rag",
        " test-automation",
        " code-generation",
        " llm",
        " pytest",
        " qa",
        " quality-assurance",
        " test-cases",
        " vector-store",
        " chromadb",
        " generative-ai",
        " openai",
        " anthropic",
        " claude",
        " gemini",
        " junit",
        " jest",
        " testng",
        " automation-framework"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "be60d7c77bf565b5ef8616819ac0be8b6d42562235e9996a198fa55985db2035",
                "md5": "b1502a83e6b59ae332ffb843ea24438d",
                "sha256": "f40ee843f90fa3a8babf18826127b8c89b5272aa0549de478c258e61bc3f80e3"
            },
            "downloads": -1,
            "filename": "testteller-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b1502a83e6b59ae332ffb843ea24438d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 153282,
            "upload_time": "2025-07-23T12:48:25",
            "upload_time_iso_8601": "2025-07-23T12:48:25.085001Z",
            "url": "https://files.pythonhosted.org/packages/be/60/d7c77bf565b5ef8616819ac0be8b6d42562235e9996a198fa55985db2035/testteller-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d228e8b8f6e339b650b0107975d15ef79a58ed945c5942ac708047e2944ee827",
                "md5": "1c50165d7b26d78df938eab096fe7bb2",
                "sha256": "2d4a1658c3b845ea67073b8a6c0693f8500eeea35c06fcbc04e1d057f3ab752a"
            },
            "downloads": -1,
            "filename": "testteller-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "1c50165d7b26d78df938eab096fe7bb2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 142013,
            "upload_time": "2025-07-23T12:48:26",
            "upload_time_iso_8601": "2025-07-23T12:48:26.593549Z",
            "url": "https://files.pythonhosted.org/packages/d2/28/e8b8f6e339b650b0107975d15ef79a58ed945c5942ac708047e2944ee827/testteller-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 12:48:26",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "testteller"
}
        
Elapsed time: 1.26776s