什么是用户验收测试(UAT)?

⚡ 智能摘要

用户验收测试 (UAT) 在软件系统投入生产之前,验证其是否满足实际业务需求。UAT 由客户和最终用户共同进行,验证端到端工作流程,发现早期阶段遗留的缺陷,并确认版本是否已准备就绪。

  • 🎯 业务验证: 上线前,请确认软件能够根据已记录的业务需求实现预期结果。
  • 👥 真实用户视角: 与客户、主题专家和实际最终用户互动,以模拟生产行为。
  • 📋 结构化规划: 根据业务用例和软件需求规格说明书 (SRS) 制定用户验收测试 (UAT) 计划、场景和测试用例。
  • 🧪 生产级数据: 在隔离的用户验收测试 (UAT) 环境中使用加密的实时数据进行真实执行。
  • 明确签字: 发布前,确定退出标准、发现缺陷并获得利益相关者的批准。

用户验收测试的目的

什么是 UAT?

用户验收测试 (UAT) 是最终用户或客户在将软件应用程序移至生产环境之前验证/接受软件系统的一种测试。UAT 是在功能、集成和系统测试完成后的测试最后阶段进行的。

UAT 的目的

用户验收测试的目的

UAT 的目的 用户验收测试旨在验证端到端的业务流程,它不关注界面错误、拼写错误或系统测试。用户验收测试在独立的测试环境中进行,数据设置与生产环境类似。它是一种黑盒测试,需要两个或多个最终用户参与。

用户验收测试 (UAT) 由以下人员执行:

  • 客户
  • 终端用户

需要用户验收测试

用户验收测试的必要性 软件经过单元测试、集成测试和系统测试后,便需要进行用户验收测试 (UAT)。开发人员可能基于自身对需求文档的理解来构建软件,而开发过程中所需的变更可能并非总能得到有效沟通。因此,用户验收测试旨在验证最终产品是否已被客户和最终用户接受。

需要用户验收测试

  • 开发人员根据需求文档编写软件,而需求文档是他们“自己”对需求的理解。 实际上可能不是客户需要的软件.
  • 项目过程中的需求变更可能无法有效地传达给开发人员。

验收测试和 V 模型

在V模型中,用户验收测试对应于需求阶段。 软件开发生命周期 (SDLC)这种配对方式确保了业务需求中记录的所有内容在发布前都能通过用户验收测试 (UAT) 进行验证。

验收测试与V模型的关系

用户验收测试的先决条件

用户验收测试 (UAT) 开始之前,系统必须满足一套明确的准入标准。以下是用户验收测试的典型先决条件:

  • 业务需求必须可用。
  • 应用程序代码应已完全开发完成。
  • 应完成单元测试、集成测试和系统测试。
  • 系统集成测试阶段不应存在任何重大缺陷、高危缺陷或中危缺陷。
  • 用户验收测试前只允许存在外观上的瑕疵。
  • 回归测试应顺利完成,不应存在重大缺陷。
  • 所有已报告的缺陷都应在用户验收测试 (UAT) 前进行修复和测试。
  • 应建立所有测试的可追溯性矩阵。
  • 用户验收测试环境必须准备就绪。
  • 系统测试团队的签核邮件或沟通函,确认系统已准备好执行用户验收测试 (UAT)。

如何执行 UAT 测试

用户验收测试 (UAT) 由系统或软件的预期用户执行。这种类型的 软件测试 通常在客户现场进行,也称为 Beta 测试。一旦满足用户验收测试 (UAT) 的准入标准,测试人员将执行以下任务:

用户验收测试 (UAT) 流程步骤
UAT流程
  • 业务需求分析
  • 创建UAT测试计划
  • 确定测试场景
  • 创建UAT测试用例
  • 测试数据准备(类生产数据)
  • 运行测试用例
  • 记录结果
  • 确认业务目标

步骤1)业务需求分析

用户验收测试 (UAT) 中最重要的活动之一是识别和开发测试场景。这些测试场景来源于以下文档:

  • 项目章程
  • 业务用例
  • 工艺流程图
  • 业务需求文件 (BRD)
  • 系统需求规格说明书(SRS)

步骤2)制定UAT计划

用户验收测试计划概述了用于验证和确保应用程序满足其业务需求的策略。它记录了…… 用户验收测试的准入和退出标准、测试场景、测试用例方法以及测试时间表.

步骤3)确定测试场景和测试用例

根据高层业务流程确定测试场景,并创建包含清晰测试步骤的测试用例。测试用例应充分覆盖大部分用户验收测试 (UAT) 场景。业务用例将作为创建测试用例的输入。

步骤4)准备测试数据

建议最好使用实时数据进行 UAT。数据应该加密以保护隐私,并且 安全性 原因:测试人员应该熟悉数据库流程。

步骤5)运行并记录结果

执行测试用例,如有发现错误,请报告。错误修复后,请重新测试。 测试管理 可以使用工具来执行。

步骤 6)确认业务目标已实现

业务分析师或用户验收测试 (UAT) 人员应在 UAT 测试结束后发送确认邮件。确认后,产品即可上线生产环境。UAT 测试的交付物包括测试计划、UAT 场景和测试用例、测试结果以及缺陷日志。

UAT 的退出标准

在投入生产之前,需要考虑以下事项:

  • 没有重大缺陷。
  • 业务流程运行良好。
  • 与所有利益相关者召开用户验收测试(UAT)签字确认会议。

UAT 测试人员的素质

一名优秀的用户验收测试员应具备的素质

用户验收测试员应具备扎实的业务知识。测试员应独立思考,并能从客户的角度出发进行分析。 系统未知用户测试人员应具备分析能力、横向思维能力,并能够整合各种数据,以确保用户验收测试的成功。

了解业务需求或工作流程的测试人员、业务分析师或领域专家可以准备符合业务实际情况的测试和数据。

用户验收测试中常见的挑战

即使是成熟的团队在用户验收测试 (UAT) 过程中也会遇到问题。预先考虑到这些问题可以确保发布计划不受影响:

  • 范围不明确: 定义以业务成果为重点的场景,以防止用户验收测试与系统测试混淆。
  • 用户后期参与: 在正式用户验收测试开始之前,通过需求调研环节与最终用户进行互动。
  • 环境漂移: 在 UAT 环境中镜像生产配置和数据量。

最佳实践

为确保用户验收测试 (UAT) 成功,应考虑以下几点:

  • 在项目生命周期的早期阶段就制定用户验收测试计划。
  • 用户验收测试开始前,请准备一份检查清单。
  • 在系统测试阶段进行预用户验收测试(Pre-UAT)环节。
  • 明确设定预期并定义用户验收测试的范围。
  • 测试端到端业务流程,避免进行系统级测试。
  • 使用真实场景和数据测试系统或应用程序。
  • 设身处地地站在系统陌生人的角度思考。
  • 进行可用性测试。
  • 在投入生产之前,先召开反馈会议和讨论会。

UAT工具

多种工具支持用户验收测试的协作、执行和报告。以下列出一些常用工具:

  • Fitnesse: A Java基于开源的测试引擎,业务利益相关者可以在其中以表格格式编写测试。
  • JIRA 使用 Zephyr 或 Xray: 结合了缺陷跟踪、结构化测试执行和可追溯性。
  • 测试轨: 一个基于网络的测试管理平台,用于组织用户验收测试周期和报告测试状态。

UAT 指南示例

  • 在常规软件开发场景中,当没有专门的测试环境或用户验收测试环境时,用户验收测试通常在质量保证环境中进行。
  • UAT通常分为以下几类 Beta 和 Alpha 测试不过,当软件是为服务型行业开发时,这种区别就不那么重要了。
  • 客户在整个项目过程中参与程度越高,用户验收测试 (UAT) 的价值就越大。

常见问题

是的。像 ChatGPT 这样的 AI 助手可以根据需求生成场景草图,推荐缺失的边界情况,并总结反馈会议内容。不过,在批准用户验收测试 (UAT) 计划之前,仍然需要人工审核人员验证范围和业务意图。

人工智能驱动的分析能够将相似的缺陷归类,根据业务影响确定问题的优先级,并揭示用户评论中的情绪趋势。团队可以更快地了解哪些工作流程需要在最终审批前进行返工。

系统测试由质量保证团队执行,用于验证功能和非功能性需求。用户验收测试由客户或最终用户执行,用于在发布前确认软件满足实际业务需求。

用户验收测试 (UAT) 周期通常为一到四周,具体取决于系统复杂性、业务流程数量以及相关人员的参与情况。规模较大的企业级部署可能需要多个迭代周期。

总结一下这篇文章: