# @line_count 500 # 测试规范数据配置文件 # 包含14个测试类型的规范定义 test_standards: - id: "功能测试" name: "功能测试" category: "primary" summary: | 功能测试是对软件需求规格说明中的功能需求逐项进行的测试,以验证其功能是否满足要求。 主要测试点: 1. 每个功能至少一个测试用例和一个异常用例 2. 基本数据类型和数据值测试 3. 边界值测试(合法和非法边界值) 4. 操作模式、运行环境、状态转换覆盖 5. 超负荷、饱和及"最坏情况"测试 6. 不规则输入测试 7. 用户手册中的功能覆盖 key_points: - "功能覆盖(正常+异常)" - "边界值测试" - "数据类型测试" - "状态转换测试" - "异常情况测试" full_content: | 功能测试是对软件需求规格说明中的功能需求逐项进行的测试,以验证其功能是否满足要求。功能测试一般需进行: 1)每一个软件功能应至少被一个测试用例和一个被认可的异常所覆盖,对大的功能应进一步分解为更细的功能,使测试用例可以直接和功能对应: 2)用基本数据类型和数据值测试: 3)用一系列合理的数据类型和数据值运行,测试超负荷、饱和及其它"最坏情况"的结果; 4)用假想的数据类型和数据值运行,测试排斥不规则输入的能力; 5)每个功能的合法边界值和非法边界值都应被作为测试用例; 6)应考虑软件功能对操作模式、运行环境、运行状态、状态转换、运行时间等的覆盖要求; 7)对于在需求规格说明中没有指明,而在用户使用手册、操作手册中表明出来的每一功能及操作,都应有相应测试用例覆盖。 applicable_requirements: - "功能需求" keywords: - "功能" - "操作" - "控制" - "处理" - id: "性能测试" name: "性能测试" category: "primary" summary: | 性能测试是对软件需求规格说明中的性能需求逐项进行的测试,以验证其性能是否满足要求。 主要测试点: 1. 计算精确性(处理精度) 2. 响应时间测试 3. 数据处理量测试 4. 系统协调性测试 5. 负载潜力测试 6. 资源占用测试 key_points: - "处理精度" - "响应时间" - "数据处理量" - "系统协调性" - "负载潜力" full_content: | 性能测试是对软件需求规格说明中的性能需求逐项进行的测试,以验证其性能是否满足要求。性能测试一般需进行: 1)测试程序在获得定量结果时程序计算的精确性(处理精度); 2)测试程序在有速度要求时完成功能的时间(响应时间); 3)测试程序完成功能所能处理的数据量; 4)测试程序各部分的协调性,如高速、低速操作的协调: 5)测试软/硬件中因素是否限制了程序的性能; 6)测试程序的负载潜力; 7)测试程序运行占用的空间。 applicable_requirements: - "功能需求" - "性能需求" keywords: - "性能" - "速度" - "时间" - "精度" - "负载" - "容量" - id: "外部接口测试" name: "外部接口测试" category: "primary" summary: | 外部接口测试是对软件需求规格说明中的外部接口需求逐项进行的测试。 主要测试点: 1. 测试所有外部接口,检查接口信息的格式及内容 2. 对每一个外部的输入/输出接口做正常和异常情况的测试 key_points: - "接口格式验证" - "接口内容验证" - "正常情况测试" - "异常情况测试" full_content: | 外部接口测试是对软件需求规格说明中的外部接口需求逐项进行的测试。外部接口测试一般需进行: 1)测试所有外部接口,检查接口信息的格式及内容; 2)对每一个外部的输入/输出接口做正常和异常情况的测试。 applicable_requirements: - "接口需求" keywords: - "接口" - "输入" - "输出" - "通信" - "总线" - "CAN" - "以太网" - id: "人机交互界面测试" name: "人机交互界面测试" category: "primary" summary: | 人机交互界面测试是对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的要求。 主要测试点: 1. 界面一致性和符合性测试 2. 非常规操作、误操作、快速操作测试 3. 错误命令和非法数据输入检测 4. 错误操作流程检测 5. 对照用户手册逐条验证 key_points: - "界面一致性" - "健壮性测试" - "错误检测" - "用户手册对照" full_content: | 人机交互界面测试是对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的要求。人机交互界面测试一般需进行: 1)测试操作和显示界面及界面风格与软件需求规格说明中要求的一致性和符合性: 2)以非常规操作、误操作、快速操作来检验界面的健壮性; 3)测试对错误命令或非法数据输入的检测能力与提示情况; 4)测试对错误操作流程的检测与提示: 5)如果有用户手册或操作手册,应对照手册逐条进行操作和观察。 applicable_requirements: - "功能需求" keywords: - "界面" - "显示" - "操作" - "人机交互" - "UI" - id: "强度测试" name: "强度测试" category: "secondary" summary: | 强度测试是强制软件运行在不正常到发生故障的情况下,检验软件可以运行到何种程度的测试。 主要测试点: 1. 性能的强度测试 2. 降级能力的强度测试 3. 系统健壮性测试 4. 系统饱和测试 key_points: - "极限状态测试" - "降级能力" - "系统健壮性" - "饱和测试" full_content: | 强度测试是强制软件运行在不正常到发生故障的情况下(设计的极限状态到超出极限),检验软件可以运行到何种程度的测试。强度测试一般需进行: 1)性能的强度测试; 2)降级能力的强度测试; 3)系统健壮性测试; 4)系统饱和测试。 强度测试在某种程度上可看作性能测试的延伸,测出软件功能、性能的实际极限。 applicable_requirements: - "功能需求" - "性能需求" keywords: - "强度" - "极限" - "饱和" - "超负荷" - id: "余量测试" name: "余量测试" category: "secondary" summary: | 余量测试是对软件是否达到需求规格说明中要求的余量的测试。若无明确要求时,一般至少留有20%的余量。 主要测试点: 1. 全部存储量的余量 2. 输入、输出及通道的余量 3. 功能处理时间的余量 key_points: - "存储余量" - "I/O通道余量" - "处理时间余量" full_content: | 余量测试是对软件是否达到需求规格说明中要求的余量的测试。若无明确要求时,一般至少留有20%的余量。根据测试要求,余量测试一般需提供: 1)全部存储量的余量; 2)输入、输出及通道的余量; 3)功能处理时间的余量。 applicable_requirements: - "功能需求" - "性能需求" keywords: - "余量" - "存储" - "通道" - "时间" - id: "可靠性测试" name: "可靠性测试" category: "secondary" summary: | 可靠性测试是在真实的和仿真的环境中,为做出软件可靠性估计而对软件进行的功能测试。 主要测试点: 1. 测试环境与典型使用环境一致 2. 定义软件失效等级 3. 建立软件运行剖面/操作剖面 4. 详细记录失效现象和时间 5. 保证输入覆盖 6. 边界条件和环境条件测试 key_points: - "运行剖面" - "失效等级" - "输入覆盖" - "环境条件" full_content: | 可靠性测试是在真实的和仿真的环境中,为做出软件可靠性估计而对软件进行的功能测试(其输入覆盖和环境覆盖一般大于普通的功能测试),可靠性测试中必须按照运行剖面和使用的概率分布随机地选择测试用例。可靠性测试一般需: 1)测试环境应与典型使用环境的统计特性相一致,必要时使用测试平台; 2)定义软件失效等级; 3)建立软件运行剖面/操作剖面; 4)测试记录更为详细、准确,应记录失效现象和时间; 5)必须保证输入覆盖,应覆盖重要的输入变量值、各种使用功能、相关输入变量可能组合以及不合法输入域等; 6)对于可能导致软件运行方式改变的一些边界条件和环境条件,必须进行针对性测试。 applicable_requirements: - "功能需求" keywords: - "可靠性" - "失效" - "运行剖面" - "环境" - id: "安全性测试" name: "安全性测试" category: "primary" summary: | 安全性测试是检验软件中已存在的安全性、安全保密性措施是否有效的测试。A、B、C级软件需要进行安全性测试。 主要测试点: 1. 软件安全性分析,危险状态测试 2. 安全性关键部件单独测试 3. 容错、冗余、中断处理测试 4. 异常条件测试 5. 硬件及软件输入故障模式测试 6. 边界、界外测试 7. 零值测试 8. 最坏情况配置测试 9. 操作员错误测试 10. 双工切换、多机替换测试 11. 防非法进入测试 key_points: - "危险状态测试" - "容错测试" - "故障模式测试" - "边界测试" - "安全机制验证" full_content: | A、B、C级软件需要进行安全性测试。安全性测试是检验软件中已存在的安全性、安全保密性措施是否有效的测试。安全性测试一般: 1)应进行软件安全性分析,并且在软件需求中明确每一个危险状态及导致危险的可能原因,在测试中全面检验软件在这些危险状态下的反应; 2)对安全性关键的软件部件,应单独测试,以确认该软件部件满足安全性需求: 3)对软件设计中用于提高安全性的结构、算法、容错、冗余、中断处理等方案应进行针对性测试; 4)测试应尽可能在符合实际使用的条件下进行; 5)除在正常条件下测试外,应在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态; 6)应包含硬件及软件输入故障模式测试: 7)应包含边界、界外及边界接合部的测试; 8)应包括"0"、穿越"0"以及从两个方向趋近于"0"的输入值; 9)应包含在最坏情况配置下的最小和最大输入数据率,以确定系统的固有能力及对这些环境的反应; 10)操作员接口测试应包括在安全性关键操作中的操作员错误,以验证安全系统对这些错误的响应; 11)应测试双工切换、多机替换的正确性和连续性; 12)应测试防止非法进入系统并保护系统数据完整性的能力。 applicable_requirements: - "功能需求" - "其他需求" keywords: - "安全" - "危险" - "容错" - "故障" - "报警" - id: "恢复性测试" name: "恢复性测试" category: "secondary" summary: | 恢复性测试是对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试,以验证其恢复或重置功能。 主要测试点: 1. 探测错误功能的测试 2. 切换或自动启动备用硬件测试 3. 故障时保护作业和系统状态测试 4. 从无错误状态继续执行测试 key_points: - "错误探测" - "备用硬件切换" - "状态保护" - "恢复执行" full_content: | 恢复性测试是对有恢复或重置(reset)功能的软件的每一类导致恢复或重置的情况,逐一进行的测试,以验证其恢复或重置功能。恢复性测试是要证实在克服硬件故障后,系统能否正常地继续进行工作,且不对系统造成任何损害。恢复性测试一般需进行: 1)探测错误功能的测试; 2)能否切换或自动启动备用硬件的测试; 3)在故障发生时能否保护正在运行的作业和系统状态的测试; 4)在系统恢复后,能否从最后记录下来的无错误状态开始继续执行作业的测试。 applicable_requirements: - "功能需求" keywords: - "恢复" - "重置" - "故障" - "备用" - id: "边界测试" name: "边界测试" category: "secondary" summary: | 边界测试是对软件处在边界或端点情况下运行状态的测试。 主要测试点: 1. 输入域或输出域的边界或端点测试 2. 状态转换的边界或端点测试 3. 功能界限的边界或端点测试 4. 性能界限的边界或端点测试 5. 容量界限的边界或端点测试 key_points: - "输入输出域边界" - "状态转换边界" - "功能界限" - "性能界限" - "容量界限" full_content: | 边界测试是对软件处在边界或端点情况下运行状态的测试。边界测试一般需进行: 1)软件的输入域或输出域的边界或端点的测试; 2)状态转换的边界或端点的测试; 3)功能界限的边界或端点的测试; 4)性能界限的边界或端点的测试; 5)容量界限的边界或端点的测试。 applicable_requirements: - "功能需求" - "接口需求" - "其他需求" keywords: - "边界" - "端点" - "极限" - "范围" - id: "安装性测试" name: "安装性测试" category: "secondary" summary: | 安装性测试是对安装过程是否符合安装规程的测试,以发现安装过程中的错误。 主要测试点: 1. 不同配置下的安装和卸载测试 2. 安装规程的正确性测试 key_points: - "安装测试" - "卸载测试" - "安装规程" full_content: | 安装性测试是对安装过程是否符合安装规程的测试,以发现安装过程中的错误。安装性测试一般需进行: 1)不同配置下的安装和卸载测试; 2)安装规程的正确性的测试。 applicable_requirements: - "其他需求" keywords: - "安装" - "卸载" - "配置" - id: "互操作性测试" name: "互操作性测试" category: "secondary" summary: | 互操作性测试是为验证不同软件之间的互操作能力而进行的测试。 主要测试点: 1. 必须同时运行两个或多个不同的软件 2. 软件之间发生互操作 key_points: - "多软件协同" - "互操作验证" full_content: | 互操作性测试是为验证不同软件之间的互操作能力而进行的测试。互操作性测试一般: 1)必须同时运行两个或多个不同的软件; 2)软件之间发生互操作。 applicable_requirements: - "接口需求" keywords: - "互操作" - "协同" - "交互" - id: "敏感性测试" name: "敏感性测试" category: "secondary" summary: | 敏感性测试是为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。 主要测试点: 1. 发现引起不稳定性的数据组合 2. 发现引起不正常处理的数据组合 key_points: - "数据组合测试" - "不稳定性检测" - "异常处理检测" full_content: | 敏感性测试是为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。敏感性测试一般需进行: 1)发现有效输入类中可能引起某种不稳定性的数据组合的测试; 2)发现有效输入类中可能引起某种不正常处理的数据组合的测试。 applicable_requirements: - "功能需求" - "其他需求" keywords: - "敏感" - "不稳定" - "数据组合" - id: "测试充分性要求" name: "测试充分性要求" category: "meta" summary: | 测试充分性要求是对测试覆盖率的总体要求。 主要要求: 1. 需求覆盖率应达到100% 2. 使用与开发相同的编译器 3. A、B级软件语句、分支覆盖率应达到100% key_points: - "需求覆盖率100%" - "代码覆盖率100%" - "编译器一致性" full_content: | 1)对软件需求规格说明中明确和隐含的需求(包括功能、性能、接口、质量要求等)的覆盖率应达到100%; 2)配置项测试应使用与软件开发相同的编译器,全面覆盖软件需求说明文档中的所有要求。 3)对于A、B级嵌入式软件,对配置项源程序测试的语句、分支覆盖率均应达到100%。对用高级语言编制的A、B级嵌入式软件,应对配置项目标码进行结构分析和测试,测试的目标码语句、分支覆盖率均应达到100%。对覆盖率达不到要求的软件,应对未覆盖的部分逐一进行分析和确认,并提供分析报告。 applicable_requirements: - "功能需求" - "接口需求" - "其他需求" keywords: - "覆盖率" - "充分性" - "完整性" # 需求类型到测试规范的映射规则 requirement_mapping: 功能需求: primary: - "功能测试" secondary: - "性能测试" - "边界测试" - "安全性测试" conditional: 有界面: - "人机交互界面测试" 有性能要求: - "性能测试" - "强度测试" 安全关键: - "安全性测试" 接口需求: primary: - "外部接口测试" secondary: - "互操作性测试" - "边界测试" conditional: 多软件交互: - "互操作性测试" 其他需求: primary: [] secondary: - "边界测试" - "敏感性测试" conditional: 性能相关: - "性能测试" 安全相关: - "安全性测试" # 关键词到测试规范的映射 keyword_mapping: 接口: - "外部接口测试" - "互操作性测试" 性能: - "性能测试" - "强度测试" - "余量测试" 界面: - "人机交互界面测试" 安全: - "安全性测试" 恢复: - "恢复性测试" 边界: - "边界测试" 安装: - "安装性测试" 可靠性: - "可靠性测试" 敏感: - "敏感性测试" 显示: - "人机交互界面测试" 总线: - "外部接口测试" CAN: - "外部接口测试" 以太网: - "外部接口测试"