求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
软件测试
1.教程
2. 软件测试原则
3. 软件开发生命周期(SDLC)
4. 软件测试命周期(STLC)
5. 软件测试的类型
6. 测试成熟度模型
7. 测试级别
SDLC 模型
1.瀑布模型
2.螺旋模型
3.混合模型
4.原型模型
5. V模型/V和V模型/验证和验证模型
测试的类型
1.手动测试
2.自动化测试
手册的类型
1.白盒测试
2.黑盒测试
3.灰盒测试
白盒技术
1.数据流测试
2.控制流测试
3.分支覆盖测试
4.语句覆盖率测试
5.决策覆盖率测试
黑盒技术
1.决策表
2.全对测试
3.黑盒测试中的因果图
4.状态转换技术
5.用例技术
黑盒的类型
1.功能测试
2.非功能性测试
功能类型
1.单元测试
2.集成测试
3.系统测试
非功能性的类型
1.性能测试
2.易用性测试
3.兼容性测试
测试用例开发
1.测试文档
2.测试场景
3.测试用例
测试技术
1.错误猜测技术
2.等效分区技术
3.边界值分析
测试管理
1.测试计划
2.测试用例审查过程
3.需求可追溯性矩阵
缺陷跟踪
1.软件测试中的错误
2.Bug生命周期
3.测试中bug的严重性和优先级
4.测试环境
5.缺陷管理过程
其他类型的测试
1.回归测试
2.冒烟测试
3.健全性测试
4.静态测试
5.动态测试
6.负载测试
7.压力测试
8.恢复测试
9.探索性测试
10.可视化测试
11.验收测试
12.Alpha 测试
13.Beta 测试
14.数据库测试
15.主机测试
16.Adhoc测试
17.全球化测试
18.变异测试
19.安全测试
20.可访问性测试
21.结构测试
22.批量测试
23.可伸缩性测试
24.稳定性测试
25.峰值测试
26.负面测试
27.正面测试
28.耐久性测试
29.可靠性测试
30.Monkey测试
31.敏捷测试
32.组件测试
33.GUI测试
34.测试策略
软件测试工具
1.软件测试工具
2.测试管理工具
3.缺陷/Bug跟踪工具
4.自动化测试工具
5.性能测试工具
6.跨浏览器测试工具
7.集成测试工具
8.单元测试工具
9.移动测试工具
10.GUI测试工具
11.安全测试工具
12.渗透测试工具
差异
1.自动化测试与手动测试
2.负载测试与压力测试
3.冒烟测试和健全性测试之间的差异
4.系统测试和验收测试之间的差异
5.质量保证与质量控制
6.静态测试与动态测试
7.验证和确认测试
8.Alpha 测试和 Beta 测试
9.黑盒测试与白盒测试与灰盒测试
10.全球化测试和本地化测试之间的区别
11.测试用例与测试场景
12.测试计划 VS.测试策略
13.边界值分析和等价划分之间的差异
14.SDLC VS.STLC
15.Bug, Defect, Error, Fault 和 Failure之间的区别
16.测试和调试之间的区别
17.前端测试 VS.后端测试
18.HLD和LLD的区别
19.BRS vs SRS
20.正面测试和负面测试之间的区别
21.自上而下和自下而上的集成测试之间的区别
22.用例和测试用例之间的区别
23.Monkey 测试 VS Gorilla 测试
24.Stubs和Drivers之间的区别
25.组件测试和单元测试之间的区别
26.软件测试和嵌入式测试之间的区别
27.GUI 测试和可用性测试之间的差异
28.SDET和Tester的区别
29.桌面应用程序测试、客户端-服务器应用程序测试和 Web 应用程序测试之间的区别
30.主动测试
31.什么是API
32.自动化测试
 
 
目录
验收测试
来源:Javatpoint     翻译:Linda (火龙果软件)
372 次浏览
1次  

1. 什么是验收测试

验收测试是基于用户需求和功能处理的形式化测试。它确定软件是否符合指定的要求和用户要求。它作为一种黑盒测试进行,其中所需用户的数量涉及测试系统的接受度。这是软件测试的第四级,也是最后一个级别。

用户验收测试(UAT)是一种由客户在接受最终产品之前完成的测试。通常,UAT是由客户(领域专家)根据他们的满意度来完成的,并根据给定的业务场景(实时场景)检查应用程序是否在工作。

在这种情况下,我们只关注客户经常使用的特性和场景,或者业务的主要用户场景,或者最终用户或客户日常使用的场景。

但是,该软件已经通过了三个测试级别(单元测试,集成测试,系统测试),但是在实际场景中最终用户使用系统时,仍然可以识别一些小错误。

验收测试是对以前完成的所有测试过程的挤压。

注意:

它是在客户处的单独环境中完成的,该环境称为UAT环境。用户验收测试由应用程序熟悉的领域专家团队完成。

通常,小公司没有领域专家,因为应用程序中没有频繁的更改。

2. 验收测试背后的原因

一旦软件经历了单元测试,集成测试和系统测试,验收测试可能看起来是多余的,但由于以下原因,它是必需的。

  • 在项目开发期间,如果需求发生变化并且可能无法有效地传达给开发团队。
  • 开发人员通过检查自己理解的需求文档来开发功能,并且可能不了解客户的实际需求。
  • 可能会有一些小错误,只有当最终用户在实际场景中使用系统时才能识别出来,因此,为了发现这些小错误,验收测试是必不可少的。

注意:

一旦我们从客户那里收集了需求并完全完成了编码过程,测试工程师就会开始所有不同类型的测试,直到应用程序变得稳定。

 

一旦应用程序没有错误,我们将其移交给客户,没有客户在使用前盲目接受应用程序。因此,他们进行一轮测试以提高他们的满意度,这称为用户验收测试。

3. 谁执行用户验收测试?

验收测试可以由不同的人在不同的情况下进行。

例如,The blue-dart 公司向TCS提出了开发应用程序的要求,TCS将接受需求并同意在两个版本中交付应用程序,如下图所示:

8月10日,测试经理告诉项目经理应用程序中存在一个严重错误,还需要四天时间才能修复它。

但项目经理说,我们必须在给定的时间内交付软件。修复缺陷还需要 30 天,否则,我们将不得不在给定发布日期后的每一天支付罚款。这是真实情况吗?不,让我们看看三种不同的情况,并了解谁执行验收测试。

案例1

在此,我们将讨论如何执行验收测试,在这里测试工程师将进行验收测试。

大多数情况下,测试应用程序的实际流程将在上图中看到,但这里几乎没有区别,因为我们知道端到端测试或系统测试在哪里结束,验收测试将在哪里进行。若要了解此方案,请按照以下过程操作:

The blue-dart 公司提供要求,TCS开发应用程序并执行所有测试并移交给 blue-dart 公司。

现在问题出现了,The blue-dart 会从TCS获得该应用程序吗?不,blue-dart 公司拿到软件后有一群测试工程师,这个团队会开始测试应用,这个端到端的测试是在客户环境中完成的,这叫用户验收测试。

让我们看看TCS测试工程师和Blue-dart工程师之间的区别:

在TCS中,测试人员将执行功能测试,集成测试和系统测试,而在blue-dart中,测试人员将仅执行端到端或系统测试,这称为验收测试。

TCS和blue-dart 的端到端测试之间的区别如下:

  • blue-dart 测试工程师是提出要求的人
  • blue-dart 工程师对产品了如指掌
  • blue-dart 工程师是领域专家。
  • 他们测试应用程序的实时数据。

要理解这一点,我们可以看到下面的示例,或者如果我们有应用程序格式是这样的:

当应用程序提供给 blue-dart 测试工程师时,他们将执行测试,应用程序应生成一条短信“包裹 1 发票 ID 已创建”。它没有在要求中提到,或者它在那里,TCS没有修复它。然后,TCS的处罚仅从此计算,而TCS的测试工程师不会知道这一点,因此,我们可以看到TCS和Blue-dart所做的测试之间的差异。

案例2

在这种情况下,我们将看到员工如何成为最终用户并执行验收测试。

该应用程序在TCS环境中开发和测试,然后发送到blue-dart。而在blue-dart 中,他们的测试工程师较少,所以他们无法进行验收测试。因此,在 blue-dart 的 300 名员工中,他们将向 30 名员工提供应用程序并将应用程序安装到他们的系统中,并要求他们开始使用该应用程序并发现任何缺陷或问题。

现在有30名员工将进行虚拟实现,这意味着他们将数据提供给应用程序,并手动写入该数据。在这里,员工成为最终用户,并在使用应用程序时识别错误和问题。

这些问题根据要求进行验证,现在对TCS收取罚款(有时罚款按小时收取)。如果识别出的错误不符合要求,则 blue-dart 可以转到增强请求 [REF] 和更改请求 [CR]。

其中,请求增强意味着如果blue-dart 认为特定模块可以以更好的方式进行改进和开发,那么他们可以发送客户需求规范 [CRS],因为 REF 和 TCS 将遵循 CRS,并确保进行必要的更改。

变更请求意味着,如果需求没有准确指定,那么 blue-dart 会提供确切的需求和变更请求。

因此,验收测试也可以定义为端到端测试,这可以由在客户端环境中工作的工程师完成。在这里,他们采用实时场景并检查应用程序是否正常工作,我们也可以制作实时业务场景,因为最终用户知道业务流程的工作原理。

注意:

如果我们获得更多用于验收测试的构建,这意味着:

  • 收到申请后,客户的想法越来越多,所以他们要求越来越多的改变。
  • 我们交付给客户的软件质量不合适,开发和测试都没有正确完成。
  • 在开始时给出的要求并不明确。

案例3

在这种情况下,如果blue-dart 客户成为最终用户。

在这里,应用程序在 blue-dart 生产服务器上开发、测试和实现,n 个用户开始使用该应用程序,这是第一个版本。在使用该应用程序时,blue-dart 会提供更多的功能和增强功能,这些功能和增强功能与CRS一起发送到TCS,之后TCS将对模块进行进一步的更改并将其发送回蓝镖。

因此,这里令人高兴的是,该应用程序是在blue-dart从其最终用户和客户那里收集需求时开发的。

发布数量取决于以下事实:

  • 模块的难度
  • 模块数。
  • 新模块如何影响旧模块。

注意:

修补程序:在生产环境中,每当客户发现关键错误时,我们都会执行以下操作

  • 开发人员修复了错误。
  • 测试工程师的小团队将测试软件。
  • 在客户端环境中重新安装应用程序。
  • 客户端开始使用新软件。

整个过程称为修补程序,可以在几个小时或一天内完成。

例如:如果重要模块,假设登录模块本身在生产服务器上不工作,那么客户端将立即发送它进行修复,并且必须尽快完成。

短暂的释放

在两个主要版本之间,这是一个简短的改进版本,当客户需要一些小功能紧急更改时,就会发生这种情况。

例如,如果我们有60个开发人员,其中10个开发人员将出来,而在40个测试工程师中,3个测试工程师将出来,他们将开发和测试应用程序。在将其添加到生产服务器之前,客户会进行一轮简短的验收测试。

4. 执行验收测试的步骤

需求分析:

在此步骤中,测试团队分析需求文档以找出开发软件的目标。通过使用需求文档、流程图、系统需求规范、业务用例、业务需求文档和项目章程完成测试计划。

测试计划创建:

测试计划创建概述了测试过程的整个策略。此策略用于确保和验证软件是否符合指定的要求。

测试用例设计:

此步骤包括基于测试计划文档创建测试用例。测试用例的设计方式应涵盖大多数验收测试方案。

测试用例执行:

测试用例执行包括使用适当的输入值执行测试用例。测试团队从最终用户收集输入值,然后测试人员和最终用户执行所有测试用例,以确保软件在实际场景中正常工作。

目标确认:

成功完成所有测试过程后,测试团队确认软件应用程序没有错误,可以交付给客户端。

5. 验收测试中使用的工具

验收测试可以通过使用多种工具来完成;下面给出了一些:

Watir:

验收测试使用此工具执行基于浏览器的自动测试用例。它使用 Ruby 语言进行进程间通信。

Fitness tool:

此工具用于输入输入值并自动生成测试用例。用户需要输入值,这些值被工具用来执行测试用例并产生输出。它使用 Java 语言进行进程间通信。该工具可以轻松创建测试用例并以表格的形式记录它们。

6. 验收测试的优点

  • 它提高了客户在测试应用程序本身时的满意度。
  • 软件的质量标准是在早期阶段定义的,因此测试人员已经确定了测试点。它为测试策略提供了清晰的视图。
  • 通过验收测试收集的信息被利益相关者用来更好地了解目标受众的要求。
  • 它改进了需求定义,因为客户根据自己的需要测试需求定义。

7. 验收测试的缺点

根据测试计划,客户必须用他们自己的话和自己写需求,但

  • 客户不愿意这样做,它破坏了验收测试的全部要点。
  • 如果测试用例是由其他人编写的,则客户不理解它们,因此测试人员只能自己执行检查。

如果该过程以这种方式完成,则会破坏验收测试的存在。

 

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



372 次浏览
1次