测试分析及测试依据

⚡ 智能摘要

测试分析,也称为测试基础,是对需求、设计文档和其他用于推导可测试条件的工件进行结构化审查。本文将解释测试分析的来源、分步工作流程以及在V模型中的位置。

  • 📋 关键原则: 测试依据是权威来源——SRS、BRS、设计文档——所有测试条件和测试用例都必须能够从中推导出来。
  • 质量驱动因素: 强有力的测试分析可以防止在执行和用户验收测试期间遗漏需求、产生模糊的预期和返工。
  • 🔍 工作流程重点: Rev查看工件,识别可测试条件,按优先级和类型对其进行分类,然后将每个条件转换为结构化测试用例。
  • 🧪 模型对齐: V 模型的每个阶段都会生成一个配对的测试工件;测试分析是针对相应的开发文档进行的。
  • ⚠️ 风险洞察: 测试基础不明确或不完整是导致缺陷漏检的主要原因,因此早期分析是最有影响力的质量保证活动。

什么是测试分析(测试基础)

测试分析(也称为测试基础)位于测试生命周期的最开始。每个测试条件和测试用例最终都离不开测试分析。 trac让我们回到正题。以下各节将定义该术语,解释其来源,逐步介绍分析工作流程,并将其置于V模型中。

什么是测试分析?

测试分析 软件测试中的审核是指审查用于推导测试条件和测试用例的输入信息的过程。这些输入信息——包括规范、需求、设计文档、用户故事以及类似的交付物——统称为测试用例。 测试工件测试分析的目标是……tract检验的目标足够清晰,每个目标都可以转化为明确的检验条件。由于被分析的材料构成了所有检验的基础,因此它也被称为 测试依据.

测试人员通常从以下来源获取测试信息:

  • SRS — 软件需求规格说明书
  • BRS — 业务需求规范
  • 功能设计文档
  • 用户故事、验收标准和线框图

测试人员还可以通过直接探索被测应用程序或借鉴以往经验来生成测试条件,但大多数情况下…… 测试用例 源自测试工件以进行维护 trac能力。

👉 免费注册实时软件测试项目

为什么测试基础很重要?

测试基础是决定测试套件能否发现真正缺陷还是徒增虚幻缺陷的最关键因素。将其视为可选项是导致未发现的缺陷最终进入生产环境的最常见原因。扎实的测试分析能够带来以下四个切实的好处:

  • Trac能力: 每个测试用例都可以追溯到特定的需求,这使得变更影响分析快速便捷,审计审查也变得轻松无痛。
  • 覆盖范围清晰度: Rev在基础层面发现缺陷——未指定的错误状态、缺失的边界情况、未定义的非功能性阈值——以免它们演变成生产事故。
  • 利益相关者协调: 当测试团队从与开发团队所依据的同一文档中得出条件时,双方对“完成”的定义就达成了共识。
  • 早期缺陷检测: 许多需求缺陷(歧义、矛盾、缺少验收标准)在测试分析过程中就能被发现,远在编写任何代码之前——这是迄今为止修复这些缺陷成本最低的地方。

常见测试依据来源

不同的测试用例对应不同的测试级别。编写测试用例时,请参考下表快速确定需要参考的文档。

源工件最适合你前任tract
业务需求规格说明书(BRS)验收和系统测试端到端业务规则、监管限制、成功标准
软件需求规范 (SRS)系统测试具有可衡量阈值的功能性和非功能性需求
功能/技术设计文档整合测试模块接口、数据流、错误处理规范
用户故事和验收标准敏捷冲刺测试以“给定-当-那么”形式表达的行为预期
线框图和用户界面模型用户界面/可用性测试布局、导航、输入验证规则
测试中应用(探索性)探索性测试和回归测试未记录的行为、真实世界的工作流程、极端情况

如何逐步执行测试分析

无论项目规模或方法如何,有效的测试分析都遵循可重复的五步工作流程。

  1. 收集并清点测试基础材料。 收集所有描述预期行为的文档——需求规格说明书 (SRS)、业务需求规格说明书 (BRS)、设计文档、用户故事、原型图。记录每个需求对应的文档。 trac能力保持不变。
  2. Rev考虑可测试性。 阅读每个文档时,请牢记三个问题:这个语句是否可衡量?是否明确无误?是否完整?如果任何一项要求未能通过上述任何一项检查,请在编写测试之前将其标记出来并反馈给作者。
  3. 确定测试条件。 对于每个可测试语句,列出需要验证的条件(正向路径、反向路径、边界值、错误处理、安全性、性能)。测试条件是绝对值。tract “什么”——例如, “系统拒绝数量为零的订单” — 与测试用例的具体“方法”不同。
  4. 对各种情况进行优先级排序和分组。 根据风险和使用频率对每种情况进行分类。高风险、高频率的情况需要详细分析;低风险的情况可以合并或抽样分析。您也可以在此决定哪些情况适合自动化处理。
  5. 将条件转换为测试用例。 每个优先条件都变成一个或多个 测试用例 包括前提条件、步骤、测试数据和预期结果。维护需求 trac能力矩阵将每个测试用例与其对应的需求联系起来。

遵循此顺序可以避免最常见的测试分析错误:编写没有明确依据的测试用例、遗漏负面场景以及在缺陷分类期间无法将测试与需求关联起来。

V模型中的测试分析

V模型将每个开发活动与相应的测试活动配对。测试分析在生命周期的每个阶段进行,并使用当时可用的任何文档。

测试V模型中的测试分析

图 1:各阶段的测试分析 V型.

案例研究:根据客户需求导出测试用例

设想这样一种场景:客户发送了以下一行需求。

Client requirement: Add search functionality to an eCommerce Store

即使应用程序尚未构建完成,测试人员也可以通过分析需求所蕴含的信息(包括正常流程行为和客户未明确说明的故障模式)来推导出若干测试条件。以下是一些示例:

  • 验证未输入关键词时的搜索结果。
  • 当输入的关键词没有匹配的产品时,请验证搜索结果。
  • 当关键词匹配到多个产品时,请核实搜索结果。
  • 验证特殊字符、前导/尾随空格以及超长输入时的行为。
  • 验证区分大小写和部分匹配行为。
  • 在预期用户负载下验证搜索响应时间。

测试人员获取客户需求(即测试基础),对其进行分析,并将其转化为测试条件。这种模式在V模型的每个阶段都会重复出现——测试计划和测试用例都是根据生命周期中该阶段可用的文档创建的。

视频:测试分析详解

如果视频无法加载,请直接在以下位置观看: YouTube.

常见问题

测试条件描述 什么 必须进行验证(例如,“系统阻止空搜索”)。测试用例添加 形成一种:前提条件、步骤、数据和预期结果。多个测试用例可以涵盖一个条件。

是的。人工智能工具会解析需求,例如tract 可测试的陈述,并建议测试条件,通常会指出人工审核员可能忽略的歧义。然而,人工审核对于验证优先级、业务风险和特定领域的极端情况仍然至关重要。

测试人员会将发现的问题上报给业务分析师和开发人员,然后利用探索性测试和经验分析方法来弥补未知领域。务必记录下所有假设,以便在需求稳定后进行重新验证。

原则相同,只是节奏不同。敏捷团队在迭代计划和细化期间,逐个用户故事地持续进行测试分析。而V模型团队则根据正式的SRS和设计文档,批量进行测试分析。

生成式人工智能能够匹配需求和测试用例中语义相似的文本,并自动构建。 trac构建能力矩阵,并检测孤立测试或未涵盖的需求。这缩短了审计准备时间,并发现了关键词搜索无法发现的覆盖范围缺口。

总结一下这篇文章: