--- title: Acceptance Testing localeTitle: 验收测试 --- ## 验收测试 验收测试,执行测试技术以确定软件系统是否符合要求规范。此测试的主要目的是评估系统是否符合业务要求,并验证其是否符合向最终用户交付的必要条件。 有各种形式的验收测试: \- >用户验收测试 \- >业务验收测试 \- > Alpha测试 \- > Beta测试 # 验收标准 验收标准是基于以下属性定义的 \- >功能正确和完整 \- >数据完整性 \- >数据转换 \- >可用性 \- >性能 \- >及时性 \- >机密性和可用性 \- >可安装性和可升级性 \- >可扩展性 \- >文档 # 验收测试计划 - 属性 验收测试活动分阶段进行。首先,执行基本测试,如果测试结果令人满意,则执行更复杂的场景。 验收测试计划具有以下属性: \- >简介 \- >验收测试类别 \- >操作环境 \- >测试用例ID \- >测试题目 \- >测试目标 \- >测试程序 \- >测试时间表 \- >资源 \=>验收测试活动旨在得出以下结论之一: 接受系统交付 在请求的修改完成后接受系统 不要接受系统 # 验收测试报告 - 属性 验收测试报告具有以下属性: \- >报告标识符 \- >结果摘要 \- >变化 \- >建议 \- > To-DO列表摘要 # \- >批准决定 验收测试侧重于检查开发的软件是否满足所有要求。其主要目的是检查开发的解决方案是否满足用户期望。 [这种快速风格指南有助于确保您的拉取请求被接受](https://github.com/freecodecamp/guides/blob/master/README.md) 。 验收测试是软件开发中的成熟实践。验收测试是代码功能测试的主要部分。 验收测试测试代码按预期执行,即在给定预期输入的情况下产生预期输出。 验收测试用于测试相对较大的软件功能块,即功能。 ### 例 您创建了一个页面,要求用户首先在对话框中输入其名称,然后才能看到内容。您有一个受邀用户列表,因此任何其他用户都将返回错误。 这里有多种方案,例如: * 每次加载页面时,都需要输入您的名字。 * 如果您的名字在列表中,则对话框将消失,您将看到该文章。 * 如果您的名称不在列表中,则对话框将显示错误。 您可以为较大的对话框功能的每个子功能编写验收测试 除了处理测试将如何执行的基础结构的代码之外,您对第一个场景的测试看起来像(在伪代码中): 鉴于该页面已打开 该对话框应该是可见的 对话框应包含一个输入框 并且输入框应该有占位符文本“你的名字,请!” ### 笔记 验收测试可以用任何语言编写,并使用各种可用的工具运行,这些工具可以处理上面提到的基础结构,例如打开浏览器,加载页面,提供访问页面元素的方法,断言库等等。 每次你编写一个将再次使用的软件(即使是你自己),它也有助于为它编写测试。当您自己或其他人对此代码进行更改时,运行测试将确保您没有破坏现有功能。 它通常由用户或主题专家执行。它也被称为用户验收测试(UAT)。 UAT涉及最常见的现实生活场景。与系统测试不同,它不关注错误或崩溃,而是关注功能。 UAT在测试生命周期结束时完成,并将决定软件是否移至下一个环境。 定义应该编写哪些验收测试的好方法是为用户故事添加验收标准。使用验收标准,您可以定义用户故事何时可以部署,并根据您的意愿完成问题。 在敏捷项目中,团队必须为所有用户故事定义验收标准。验收测试工作将使用定义的标准来评估交付的功能。当故事可以通过所有验收标准时,它就完成了。 验收测试还可以验证完成的史诗/故事/任务是否满足定义的验收标准。与完成的定义相反,此标准可以涵盖团队想要解决的特定业务案例。这提供了良好的工作质量测量。 #### 更多信息: * [国际软件测试资格委员会](http://www.istqb.org/)