# TestCaseProject **Repository Path**: lsy0213/test-case-project ## Basic Information - **Project Name**: TestCaseProject - **Description**: 头歌平台编程类课程测试用例依赖教师手动编写,耗时且易出现覆盖不全问题。本项目旨在开发低成本、适配性强的测试用例生成系统,减轻教师教学负担,提高学生编程实践反馈效率。同时,以学生为主体的开发模式,既能锻炼学生实践能力,又能为高校低成本教学工具开发提供可借鉴案例。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智能测试用例生成系统 基于NLP和机器学习的程序设计题目分析与测试用例自动生成平台 ## 🚀 功能特性 - **智能分析**: 使用规则引擎和机器学习模型分析编程题目 - **自动生成**: 根据分析结果自动生成测试用例 - **测试管理**: 完整的测试用例管理系统 - **用户认证**: 支持教师账号管理 - **现代化界面**: 响应式Web界面设计 ## 🛠️ 技术栈 - **后端**: Python Flask - **前端**: HTML5, CSS3, JavaScript - **数据库**: MySQL - **机器学习**: scikit-learn, NLTK, jieba - **规则引擎**: JSON配置驱动的智能规则引擎 ## 📦 安装和运行 ### 环境要求 - Python 3.7+ - MySQL 5.7+ - Node.js (可选,用于前端开发) ### 安装步骤 1. **克隆仓库** ```bash git clone https://github.com/你的用户名/TestCaseProject.git cd TestCaseProject ``` 2. **创建虚拟环境** ```bash python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate ``` 3. **安装依赖** ```bash pip install -r requirements.txt ``` 4. **配置数据库** ```bash # 创建数据库 mysql -u root -p CREATE DATABASE test_case_db; # 初始化数据库 python init_mysql_db.py ``` 5. **运行应用** ```bash python web_app.py ``` 6. **访问应用** 打开浏览器访问: http://localhost:5000 ## 📖 使用说明 ### 智能分析 1. 在首页输入编程题目描述 2. 选择测试用例数量 3. 点击"开始智能分析" 4. 查看分析结果和生成的测试用例 ### 测试用例管理 1. 登录教师账号 2. 查看问题库和测试用例 3. 编辑、删除、导出测试用例 4. 创建新的测试用例 ## 🔧 配置说明 ### 规则配置 - `rules/keywords.json`: 关键词定义 - `rules/patterns.json`: 正则模式 - `rules/weights.json`: 权重配置 - `rules/contexts.json`: 上下文模式 ### 机器学习模型 - `models/best_model_naive_bayes.joblib`: 训练好的分类模型 - `models/training_results.json`: 训练结果 ## 📊 项目结构 ``` TestCaseProject/ ├── src/ # 源代码 │ ├── main_analyzer.py # 主分析器 │ ├── enhanced_semantic_analyzer.py # 语义分析器 │ ├── test_case_generator.py # 测试用例生成器 │ ├── json_rule_engine.py # 规则引擎 │ ├── test_case_manager.py # 测试用例管理 │ ├── user_manager.py # 用户管理 │ └── ... ├── templates/ # HTML模板 │ ├── index.html # 首页 │ ├── teacher.html # 教师管理页面 │ ├── login.html # 登录页面 │ └── new_test_case.html # 新建测试用例页面 ├── static/ # 静态资源 │ ├── css/ # 样式文件 │ └── js/ # JavaScript文件 ├── rules/ # 规则配置 │ ├── keywords.json # 关键词定义 │ ├── patterns.json # 正则模式 │ ├── weights.json # 权重配置 │ └── contexts.json # 上下文模式 ├── models/ # 机器学习模型 ├── docs/ # 项目文档 ├── web_app.py # Flask应用主文件 ├── init_mysql_db.py # 数据库初始化 ├── manage_users.py # 用户管理脚本 ├── requirements.txt # 依赖文件 └── README.md # 项目说明 ``` ## 🎯 核心功能 ### 1. 智能分析引擎 - **规则引擎**: 基于JSON配置的智能规则匹配 - **机器学习**: 朴素贝叶斯分类器进行问题类型识别 - **混合决策**: 结合规则和ML的混合决策策略 - **语义理解**: 深度理解编程题目的语义结构 ### 2. 测试用例生成 - **多类型支持**: 支持数学运算、字符串处理、数组操作等 - **智能生成**: 根据问题类型自动生成合适的测试用例 - **边界测试**: 自动生成边界条件和异常情况测试 - **难度分级**: 支持简单、中等、困难三个难度等级 ### 3. 测试用例管理 - **CRUD操作**: 完整的增删改查功能 - **批量操作**: 支持批量导入导出 - **搜索过滤**: 强大的搜索和过滤功能 - **统计分析**: 测试用例统计和分析 ### 4. 用户管理 - **教师认证**: 支持教师账号注册和登录 - **权限控制**: 基于角色的权限管理 - **会话管理**: 安全的用户会话管理 ## 🔄 工作流程 1. **问题输入**: 用户在智能分析界面输入编程题目 2. **语义分析**: 系统使用规则引擎和ML模型分析题目 3. **类型识别**: 识别问题类型和关键信息 4. **测试用例生成**: 根据分析结果生成测试用例 5. **结果展示**: 展示分析结果和生成的测试用例 6. **管理操作**: 用户可以保存、编辑、导出测试用例