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