from __future__ import annotations from typing import Dict, List REQUIREMENT_TYPES: List[str] = [ "功能测试", "性能测试", "外部接口测试", "人机交互界面测试", "强度测试", "余量测试", "可靠性测试", "安全性测试", "恢复性测试", "边界测试", "安装性测试", "互操作性测试", "敏感性测试", "测试充分性要求", ] TYPE_SIGNAL_RULES: Dict[str, str] = { "功能测试": "关注功能需求逐项验证、业务流程正确性、输入输出行为、状态转换与边界值处理。", "性能测试": "关注处理精度、响应时间、处理数据量、系统协调性、负载潜力与运行占用空间。", "外部接口测试": "关注外部输入输出接口的格式、内容、协议与正常/异常交互表现。", "人机交互界面测试": "关注界面一致性、界面风格、操作流程、误操作健壮性与错误提示能力。", "强度测试": "关注系统在极限、超负荷、饱和和降级条件下的稳定性与承受能力。", "余量测试": "关注存储余量、输入输出通道余量、功能处理时间余量等资源裕度。", "可靠性测试": "关注真实或仿真环境下的失效等级、运行剖面、输入覆盖和长期稳定运行能力。", "安全性测试": "关注危险状态响应、安全关键部件、异常输入防护、非法访问阻断和数据完整性保护。", "恢复性测试": "关注故障探测、备用切换、系统状态保护与从无错误状态继续执行能力。", "边界测试": "关注输入输出域边界、状态转换端点、功能界限、性能界限与容量界限。", "安装性测试": "关注不同配置下安装卸载流程和安装规程执行正确性。", "互操作性测试": "关注多个软件并行运行时的互操作能力与协同正确性。", "敏感性测试": "关注有效输入类中可能引发不稳定或不正常处理的数据组合。", "测试充分性要求": "关注需求覆盖率、配置项覆盖、语句覆盖、分支覆盖及未覆盖分析确认。", } DECOMPOSE_FORCE_RULES: List[str] = [ "每个软件功能至少应被正常测试与被认可的异常场景覆盖;复杂功能需继续细分。", "每个测试项必须语义完整、可直接执行。", "覆盖必须包含:正常流程、边界条件(适用时)、异常条件。", "粒度需适中,避免过粗或过细。", "对未知类型必须执行通用分解,并保持正常/异常分组。", "对需求说明未显式给出但在用户手册或操作手册体现的功能,也应补充测试项覆盖。", ] REQUIREMENT_RULES: Dict[str, Dict[str, List[str]]] = { "功能测试": { "keywords": ["功能", "业务流程", "输入输出", "状态转换", "边界值"], "normal": [ "正常覆盖功能主路径、基本数据类型、合法边界值与状态转换。", ], "abnormal": [ "异常覆盖非法输入、不规则输入、非法边界值与最坏情况。", ], }, "性能测试": { "keywords": ["性能", "处理精度", "响应时间", "处理数据量", "负载", "占用空间"], "normal": [ "正常覆盖处理精度、响应时间、处理数据量与模块协调性。", ], "abnormal": [ "异常覆盖超负荷、软硬件限制、负载潜力上限与资源占用异常。", ], }, "外部接口测试": { "keywords": ["外部接口", "输入接口", "输出接口", "格式", "内容", "协议", "异常交互"], "normal": [ "正常覆盖全部外部接口格式与内容正确性。", ], "abnormal": [ "异常覆盖每个输入输出接口的错误格式、错误内容与异常交互。", ], }, "人机交互界面测试": { "keywords": ["界面", "风格", "交互", "误操作", "错误提示", "操作流程"], "normal": [ "正常覆盖界面风格一致性与标准操作流程。", ], "abnormal": [ "异常覆盖误操作、快速操作、非法输入、错误命令与错误流程提示。", ], }, "强度测试": { "keywords": ["强度", "极限", "超负荷", "饱和", "降级", "健壮性"], "normal": [ "正常覆盖设计极限下系统功能和性能表现。", ], "abnormal": [ "异常覆盖超出极限时的降级行为、健壮性与饱和表现。", ], }, "余量测试": { "keywords": ["余量", "存储余量", "通道余量", "处理时间余量", "资源裕度"], "normal": [ "正常覆盖存储、通道、处理时间余量是否满足要求。", ], "abnormal": [ "异常覆盖余量不足或耗尽时系统告警与受控行为。", ], }, "可靠性测试": { "keywords": ["可靠性", "运行剖面", "失效等级", "输入覆盖", "长期稳定"], "normal": [ "正常覆盖典型环境、运行剖面与输入变量组合。", ], "abnormal": [ "异常覆盖失效等级场景、边界环境变化、不合法输入域及失效记录。", ], }, "安全性测试": { "keywords": ["安全", "危险状态", "安全关键部件", "非法进入", "完整性", "防护"], "normal": [ "正常覆盖安全关键部件、安全结构与合法操作路径。", ], "abnormal": [ "异常覆盖危险状态、故障模式、边界接合部、非法进入与数据完整性保护。", ], }, "恢复性测试": { "keywords": ["恢复", "故障探测", "备用切换", "状态保护", "继续执行", "reset"], "normal": [ "正常覆盖故障探测、备用切换、恢复后继续执行。", ], "abnormal": [ "异常覆盖故障中作业保护、状态保护与恢复失败路径。", ], }, "边界测试": { "keywords": ["边界", "端点", "输入输出域", "状态转换", "性能界限", "容量界限"], "normal": [ "正常覆盖输入输出域边界、状态转换端点与功能界限。", ], "abnormal": [ "异常覆盖性能界限、容量界限和越界端点。", ], }, "安装性测试": { "keywords": ["安装", "卸载", "配置", "安装规程", "部署", "中断"], "normal": [ "正常覆盖标准及不同配置下安装卸载流程。", ], "abnormal": [ "异常覆盖安装规程错误、依赖异常与中断后的处理。", ], }, "互操作性测试": { "keywords": ["互操作", "并行运行", "协同", "兼容", "冲突", "互操作失败"], "normal": [ "正常覆盖两个或多个软件同时运行与互操作过程。", ], "abnormal": [ "异常覆盖互操作失败、并行冲突与协同异常。", ], }, "敏感性测试": { "keywords": ["敏感性", "输入类", "数据组合", "不稳定", "不正常处理"], "normal": [ "正常覆盖有效输入类中典型数据组合。", ], "abnormal": [ "异常覆盖引发不稳定或不正常处理的特殊数据组合。", ], }, "测试充分性要求": { "keywords": ["测试充分性", "需求覆盖率", "配置项覆盖", "语句覆盖", "分支覆盖", "未覆盖分析"], "normal": [ "正常覆盖需求覆盖率、配置项覆盖与代码覆盖达标。", ], "abnormal": [ "异常覆盖未覆盖部分逐项分析、确认与报告输出。", ], }, } GENERIC_DECOMPOSITION_RULES: Dict[str, List[str]] = { "normal": [ "主流程正确性。", "合法边界值。", "标准输入输出。", ], "abnormal": [ "非法输入。", "越界输入。", "资源异常或状态冲突。", ], } EXPECTED_RESULT_PLACEHOLDER_MAP: Dict[str, str] = { "{{return_value}}": "接口或函数返回值验证。", "{{state_change}}": "系统状态变化验证。", "{{error_message}}": "异常场景错误信息验证。", "{{data_persistence}}": "数据库或存储落库结果验证。", "{{ui_display}}": "界面显示反馈验证。", }