AIcase 是一个基于人工智能的软件测试用例自动生成系统,旨在通过集成GPT API和自定义AI模型,帮助测试工程师高效生成高质量的测试用例。系统支持多种测试用例设计方法,并提供智能化的用例配置和优化建议。
- GPT API集成:基于大语言模型自动理解需求并生成测试用例
- 多种测试方法支持:等价类、边界值、判定表、正交试验、因果图等10种经典测试设计方法
- 分层处理架构:需求分解、精简、忠诚度验证、格式化等多层优化
- 自定义神经网络:基于PyTorch的yiyan模型,用于测试配置优化
- 智能推荐系统:根据项目特征自动推荐最佳测试用例配置
- 持续学习机制:通过用户评分不断优化模型性能
- 项目生命周期管理:从需求录入到测试用例输出的完整流程
- 需求规格说明书(SRS)管理:支持需求的结构化管理和版本控制
- 用例配置可视化:直观的配置界面,支持个性化定制
- Excel导出功能:一键导出结构化的测试用例文档
- 质量评估机制:内置评分系统,持续改进生成质量
- 缓存机制:支持结果缓存,提高响应速度
- 框架:Django 3.2.13
- 数据库:SQLite(开发环境)
- AI框架:PyTorch
- API集成:GPT API(yiyan.cn)
- 数据处理:pandas、openpyxl
- 框架:Vue.js 3.2.13
- UI组件库:Element Plus 2.4.4
- 路由管理:Vue Router 4.0.3
- HTTP客户端:Axios 1.6.2
- 样式预处理:Sass
class Ceng():
    def __init__(self, gpt_api, content, case, id):
        # 初始化处理层级
    
    def 需求层(self):          # 基础需求解析
    def 原文分解层(self):      # 长文本智能分解
    def 要求精简层(self):      # 冗余信息过滤
    def 要求忠诚层(self):      # 原文忠实度验证
    def 要求格式层(self):      # 标准化格式输出
    def 算法层(self, data):    # 算法辅助生成class yiyan(nn.Module):
    def __init__(self, input_features=3, hidden_features=16, output_features=10):
        # 自定义神经网络架构
        # 输入:项目特征向量
        # 输出:测试配置推荐- DB_project:项目信息管理
- DB_srs:需求规格说明书
- DB_mock:缓存管理
- DB_AI:AI训练数据
- Python 3.8+
- Node.js 14+
- npm 6+
- 克隆项目
git clone <repository-url>
cd AIcase- 安装Python依赖
pip install django==3.2.13
pip install django-cors-headers
pip install torch
pip install openpyxl
pip install requests- 数据库初始化
python manage.py makemigrations
python manage.py migrate- 启动Django服务
python manage.py runserver 0.0.0.0:8000- 进入前端目录
cd v_project- 安装依赖
npm install- 开发模式运行
npm run serve- 生产环境构建
npm run build在 myapp/GPT_api.py 中配置您的GPT API凭据:
# 替换为您的实际凭据
gpt_api = GPT_api('your_username', 'your_password')- 访问系统主页
- 点击"新建项目"
- 输入项目名称和描述
- 系统自动初始化10种测试方法配置
- 进入项目详情页面
- 在"需求配置"标签下添加SRS
- 输入具体需求描述
- 选择适用的测试方法
- 切换到"用例配置"标签
- 为每种测试方法选择处理层级
- 配置算法辅助参数(如边界值范围)
- 使用"AI帮选"获取智能推荐
- 进入"开始生成"标签
- 点击"开始生成"按钮
- 系统调用GPT API生成初步用例
- 通过分层处理优化结果质量
- 对生成结果进行1-5星评分
- 系统收集评分数据训练AI模型
- 后续生成会基于学习结果优化
- 点击"导出Excel"按钮
- 系统生成包含所有测试用例的Excel文件
- 文件包含GPT生成用例和算法层用例两部分
- GET /get_projects/- 获取所有项目
- POST /add_project/- 创建新项目
- GET /get_project/?id=<project_id>- 获取项目详情
- POST /save_project/- 保存项目信息
- GET /get_srs/?id=<project_id>- 获取项目需求列表
- GET /add_srs/?id=<project_id>- 添加新需求
- POST /save_srs/- 保存需求信息
- GET /del_srs/?id=<srs_id>- 删除需求
- GET /start/?id=<project_id>- 开始生成测试用例
- POST /save_project_case_set/?id=<project_id>- 保存用例配置
- POST /excel/- 导出Excel文件
- GET /scoring/?id=<project_id>&score=<score>- 提交质量评分
- GET /play_AI/?id=<project_id>- 获取AI推荐配置
┌─────────────────┬─────────────────┬─────────────────┐
│   前端层        │     API层       │    核心引擎层   │
├─────────────────┼─────────────────┼─────────────────┤
│ Vue.js 3        │ Django REST     │ Ceng分层处理器  │
│ Element Plus    │ CORS支持        │ GPT API集成     │
│ Vue Router      │ JSON响应        │ 算法库ALGORITHM │
│ Axios HTTP      │ Excel导出       │ 缓存机制        │
└─────────────────┼─────────────────┼─────────────────┤
                  │   数据持久层    │   AI模型层      │
                  ├─────────────────┼─────────────────┤
                  │ SQLite数据库    │ PyTorch yiyan   │
                  │ Django ORM      │ 神经网络训练    │
                  │ 模型迁移        │ 智能推荐系统    │
                  └─────────────────┴─────────────────┘
- 等价类划分法:将输入域划分为若干等价类,每类选取代表性测试数据
- 边界值分析法:重点测试边界条件,包括上点、下点、离点
- 判定表法:适用于复杂逻辑条件的组合测试
- 正交试验法:高效覆盖多因子组合的测试场景
- 输出域覆盖法:确保所有可能的输出结果都被测试
- 错误猜测法:基于经验和直觉的补充测试
- 因果图法:分析输入条件和输出结果的因果关系
- 场景法:模拟用户实际使用场景的测试
- 流程图法:基于业务流程的路径测试
- 状态迁移法:测试系统状态转换的正确性
- 需求层:基础需求理解和用例框架生成
- 原文分解层:长文本智能分割,提高处理效率
- 要求精简层:去除冗余描述,突出核心要点
- 要求忠诚层:确保生成内容忠于原始需求
- 要求格式层:标准化输出格式,便于后续处理
- 要求扩展层:补充遗漏的测试场景
- 比对验证层:验证生成数据的合理性
- 自然语境层:优化表述,提高可读性
- 算法层:基于算法规则生成补充测试数据
欢迎提交Issue和Pull Request来改进系统功能。
- 遵循PEP 8 Python代码规范
- 前端代码使用ESLint进行检查
- 提交前请确保所有测试通过
- 新功能需要添加相应的单元测试
- 支持更多GPT API提供商
- 增加测试用例执行引擎
- 实现团队协作功能
- 添加缺陷管理模块
- 支持自定义测试模板
本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件。
如有问题或建议,请联系:
- 项目维护者:[[email protected]]
- 联系vx:yiyan_k
注意:本系统仍在持续开发中,建议在生产环境使用前进行充分测试。