A Python-based AI testing system that leverages AutoGen framework and multiple AI agents to automatically analyze requirements and generate test cases.
- 📝 Automated requirement analysis using AI
- 🤖 Multi-agent system powered by AutoGen framework
- 📋 Configurable test case templates and formats
- 📊 Excel export with customizable formatting
- 🔄 Support for multiple document formats (PDF, Word, Markdown, Text)
- ⚙️ Extensible architecture for future enhancements
- Clone the repository:
git clone <repository-url>
cd ai-test-case-generator
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure the system:
- Copy the sample configuration file:
cp config.json.example config.json
- Update the configuration with your OpenAI API key and other settings in config.json
src/ ├── agents/ # AutoGen-based AI agents │ ├── requirement_analyst.py │ ├── test_designer.py │ ├── test_case_writer.py │ ├── quality_assurance.py │ └── assistant.py ├── services/ # Core services │ ├── document_processor.py │ ├── test_case_generator.py │ └── export_service.py ├── models/ # Data models │ ├── test_case.py │ └── template.py ├── utils/ # Utilities │ ├── logger.py │ └── config.py └── main.py # Application entry point
-
Start the system:
python src/main.py
-
Input:
- Requirements document (PDF, Word, Markdown, or Text)
- Template configuration (optional)
- Output:
- Excel file containing generated test cases
- Logs in the logs directory
The system can be configured through config.json. Key configuration options:
- openai_api_key: Your OpenAI API key
- log_level: Logging level (INFO, DEBUG, etc.)
- templates_dir: Directory for test case templates
- output_dir: Directory for generated files
- Agent-specific configurations (model, temperature, etc.)
from main import AITestingSystem import asyncio
async def main(): system = AITestingSystem() result = await system.process_requirements( doc_path="requirements.pdf", template_id="default_template", output_path="test_cases.xlsx" ) print("Test cases generated successfully!")
if name == "main": asyncio.run(main())
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.