Files
2026-04-13 11:34:23 +08:00

204 lines
8.5 KiB
Python

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}}": "界面显示反馈验证。",
}