求知 文章 文库 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.自动化测试
 
 
目录
GUI 测试
来源:Javatpoint     翻译:Linda (火龙果软件)
2043 次浏览
13次  

在本节中,我们将讨论所有GUI(图形用户界面)测试,其中包括以下重要主题:

  • 什么是 GUI 测试?
  • 为什么我们需要执行 GUI 测试?
  • GUI测试的特点
  • GUI测试的类型
  • GUI测试示例
  • GUI 测试期间面临的不同挑战
  • GUI测试工具

在深入研究上述所有主题之前,首先,我们将了解GUI(图形用户界面)。

1. 什么是GUI?

在计算机应用中,我们主要有两种类型的接口,例如:

  • 命令行界面 (CLI)
  • 图形用户界面 (GUI)

当我们需要键入文本时,使用命令行界面,同时计算机响应该命令。

另一方面,GUI用于通过使用图像而不是文本与计算机相互关联。

我们有一些关键的GUI元素,可用于用户和应用程序之间的通信。

  • 复选框
  • 列表框
  • 单选按钮
  • 文本框

如下图所示:

现在,我们将转到我们的主要讨论点,即 GUI 测试。

2. 什么是GUI测试?

它是软件测试的独特类型之一,经常用于检查应用程序或软件的图形用户界面功能。

通常,GUI 测试用于评估元素或功能的设计,例如:

  • 文本框
  • 字体大小
  • 字体颜色
  • 按钮
  • 菜单
  • 链接
  • 布局
  • 标签
  • 文本格式
  • 列表
  • 字幕
  • 图标
  • 内容

GUI 测试的主要目标是验证软件的功能,或者应用程序按照给定的要求/规范执行。

GUI测试过程由第三方组织而不是开发人员或最终用户手动或自动执行并重复执行。

换句话说,我们可以说 GUI 测试是一种测试应用程序用户界面的方法,如果软件或应用程序按预期工作,则与用户界面性能相关。

3. 为什么我们需要执行 GUI 测试?

在了解了GUI测试的定义之后,我们得到了它的基本概念。但是会出现一些问题,例如:

  • 测试应用程序是否需要 GUI 测试?
  • 为什么我们需要执行 GUI 测试?
  • 对应用程序的功能和逻辑的测试是不是太多了?那为什么我们需要浪费时间在执行UI测试上呢?

如果我们想要回答上面提到的所有问题,我们需要像用户一样思考,而不是像测试工程师一样思考。由于用户不会接触到指定的应用程序或软件,因此确定用户是否会更多地使用应用程序的是应用程序的用户界面。

在这里,首先,普通用户了解应用程序或软件的外观和设计,以及她/他理解用户界面的难易程度。

如果用户对界面不满意或无法识别应用程序的困难以理解它,他/她将永远不会再次使用该应用程序。由于上述情况,必须实施GUI测试,以确保 GUI 测试提供无缺陷的应用程序。

4. 为什么需要GUI测试?

在软件测试技术中,GUI的实现对于执行其他类型的软件测试至关重要。

众所周知,提供高质量的产品并满足客户的要求和无错误的产品是执行任何类型的测试的主要关注点。

并且已经说过“我们不能将质量审查成产品“。

这就是为什么为了提高产品质量,开发团队从一开始就寻求将其开发到他们的项目中。

为了提高产品质量,我们可以在SDLC(软件开发生命周期)的早期使用测试过程,也称为左移测试。

开发团队增加了在单元和接口测试中花费的时间和资源,而不是在应用程序完成后等待系统测试。因此,开发过程中的早期错误检测将降低修复它们的成本。

正如我们已经知道的,单元和接口/API 测试与自动化兼容,因为开发人员在编写代码时开发单元测试;另一方面,API 测试非常稳定,并且比 API GUI 测试涉及更少的维护。

我们可以观察到左移测试的重要性令人着迷,这使得 GUI 测试容易受到攻击。尽管如此,手动 GUI 测试可能是一个耗时且资源密集型的过程。

虽然测试自动化对 GUI 来说更刺激一些,因为用户界面可以频繁修改,但早期运行的自动化 GUI 测试可能会失败,需要相当大的决心来维护它们。

但是,单元和接口测试无法评估系统的所有区域,尤其是工作流程和可用性的关键功能。而且,这就是GUI测试的重要性,它是从用户的角度而不是开发人员的角度实现的。

通过从用户的角度评估应用程序,可以帮助我们将信息传递给项目团队,他们需要选择应用程序是否已准备好部署。

例如,Windows Firefox 浏览器中出现的下拉列表将与 mac-Firefox 不同。这些问题可能就足够了,因为这些是操作系统功能,我们需要以同样的方式接受它们。

5. GUI测试的特点

图形用户界面 (GUI) 测试的一些最重要的功能如下所述:

  • GUI测试用于在具有固定Selenium Web驱动程序的Selenium Grid上执行匹配或分配的测试。
  • GUI 测试的执行将使我们能够从用户的角度测试应用程序的功能。
  • 作为GUI测试的结果,我们可以获得自定义测试报告。
  • 它还会生成一致的对象文档,同时为 Web 元素和动态 ID 生成。
  • 有时系统的内部性能工作正常,但用户界面不能;这就是为什么GUI测试是测试其他类型的应用程序的绝佳方法。

6. GUI测试的类型

GUI测试分为两种不同的类型,如下所述:

模拟录音

第一种类型的GUI测试是模拟记录。在模拟记录的帮助下,人们将始终与GUI测试工具连接。

本质上,GUI 测试工具用于封装精确的键盘按下、鼠标单击和其他用户活动,然后将它们存储在文件中以供播放。让我们看一个示例来了解模拟记录的基本功能。

模拟记录可能会记录用户在位置 X = 700 像素、Y = 600 像素处单击鼠标左键,或在框中输入“登录”一词,然后按键盘上的 Enter 键。

基于对象的录制

另一种 GUI 测试类型是基于对象的录制。在这种情况下,测试工具可以通过编程方式连接到该应用程序,该应用程序需要进行测试,并将每个特定的用户界面模块(如文本框、按钮和超链接)作为不同的对象进行观察。

在基于对象的记录中,我们可以执行以下活动,例如

  • 点击
  • 输入文本
  • 读取状态(启用还是禁用)

在了解了所有类型的GUI测试之后,我们将转到下一个主题,即图形用户界面测试技术或不同的方法。

7. GUI 测试技术/方法

为了执行GUI测试,我们有一些独特的技术,如下所示:

  • 基于手动的测试
  • 基于模型的测试
  • 录制和回放
  • 混合测试
  • 基于代码的测试

让我们详细了解它们,以便我们更好地理解:

1. 基于手动的测试

GUI 测试的第一种方法是基于手动的测试。执行 GUI 测试的最简单方法是手动使用应用程序。通常,基于手动的测试是由热情的辅助测试工程师实施的。

换句话说,我们可以说,在这种方法中,图形项目是由测试工程师按照BRS(业务需求规范)文档中指定的需求手动测试的。

正如我们已经知道的那样,手动测试没有生产力,因为有时手动测试的执行缓慢、单调且容易出错。如果我们想适当地发布高质量的软件,我们应该坚持不懈地自动化我们的测试策略。

但在当前的测试策略中,手动测试仍然发挥着重要作用。我们确定执行手动测试的正确平衡。准确地说,GUI测试,手动测试工程师可以对界面有更多的主观方面,比如它的外观和感觉以及可用性。

2. 基于模型的测试

GUI 测试的下一个方法是基于模型的测试,因为我们知道模型是系统性能的视觉叙述,这有助于我们理解和预测系统性能或活动。

这些模型对于在系统要求的帮助下开发实际测试用例是有益的。

在执行基于模型的测试方法时,需要考虑一些基本要求:

  • 创建模型
  • 验证模型的输入
  • 对于特定模型,分析预期结果
  • 实施测试
  • 平衡实际结果与预期结果
  • 对模型添加操作的评估

为了在给定需求的帮助下创建测试用例,这也是一个不断增长的过程。与其他 GUI 测试方法相比,基于模型的测试提供了修复 GUI 可以完成的不利状态的好处。

我们可以借助其他一些基于模型的方法获得测试用例:

  • 决策表
  • 图表

决策表:决策表用于控制每个相关输入的输出。

图表:图表技术表示系统的状态,并在输入一些内容后测试状态。

3. 录制和回放

我们可以借助自动化工具执行 GUI 测试,可以以两种类型完成。在整个记录部分,测试步骤由自动化工具封装。在回放中,这些记录的测试步骤在被测应用程序上实现。例如:QTP。

自动化方法是最常见的技术,其中 GUI 自动化测试证明自己超越了录制和回放方法。

顾名思义,记录和回放方法取决于让测试工程师使用特定工具来记录测试会话。记录和重播方法的显着好处是,它不需要任何编码技能来减少我们使用它的障碍。记录和重播测试的主要缺点是它们的弱点。

由于用户界面是经常修改的应用程序的一部分,并且依赖于用于与屏幕上的元素相互关联的策略。

4. 混合测试

混合测试是当前执行 GUI 测试的不同方法。对于非技术背景用户来说,通过记录他们的会话来开发测试用例是一种有益的技术。之后,熟悉编码的用户可以在技术上进一步控制这些记录的测试。

具有编码知识的人可以进一步操作这些记录的测试,以针对更复杂的情况对其进行修改。

5. 基于代码的测试

执行图形用户界面测试的另一种方法是基于代码的测试。为了使用代码开发测试用例,GUI 测试提供了一些 GUI 测试工具。为了发现更困难的测试场景,我们可以使用基于代码的测试方法。

随后,可以在源代码管理中设计他们的代码、测试用例以及应用程序的代码。

基于代码的方法的明显缺点是,它们要么涉及我们让开发人员远离编码并让他们编写测试用例,要么教我们的测试工程师编写代码或编程。

8. GUI 测试示例

在描述图形用户界面之后,GUI 测试的描述紧随其后。我们可以说它是一种测试方法,用于验证产品的GUI是否。

让我们看看各种元素/对象/模块,它们可以在GUI测试下进行测试。本质上,图形用户界面 (GUI) 测试包括以下内容:

  • GUI测试,检查屏幕的各个部分,并以不同的分辨率分析屏幕。
  • 它检查界面是否吸引人或令人愉悦,以及图像是否具有良好的清晰度。
  • GUI 测试分析标题是否正确对齐。
  • GUT 测试测试拼写、位置大小、宽度、特征或元素的高度、字体的颜色、超链接的颜色、图像的对齐方式、图像的大小、错误消息的颜色、警告消息。
  • 根据页面大小(如果有)测试滚动条,字体是否透明/可读。
  • 它还检查错误消息(是否显示)以及禁用的字段(如果有)。
  • 它还确保用户在使用系统界面时不会感到沮丧。

9. GUI 测试期间面临的不同挑战

在软件测试中,执行回归测试时最常见的缺点或问题是 GUI 会定期更改。对于测试工程师来说,为了执行测试并找出它是问题还是改进,这变得非常困难。

当我们没有任何与 GUI 修改相关的文档时,就会出现问题。在执行图形用户界面 (GUI) 测试期间,一些最常见的挑战如下:

  • 物体的稳定性
  • 技术支持
  • 仪表

10. GUI 测试工具

为了识别在设计阶段发生的错误或缺陷,我们将使用图形用户界面(GUI)测试工具来帮助我们提高软件质量。

通过使用这些工具,我们可以轻松检测漏洞,而不是手动实施 GUI 测试。

根据应用程序行为,我们将测试涉及鼠标和键盘操作的应用程序以及一些其他 GUI 项,例如对话框、按钮、菜单栏、工具栏和编辑字段。

一些最常用的 GUI 测试工具如下:

  • Ranorex Studio
  • Eggplant
  • Squish
  • AutoIT
  • RIATest

11. 结论

在彻底了解了所有 GUI 测试主题之后,我们可以说GUI 测试的执行是必不可少的。软件产品的完成取决于GUI如何与最终用户相互关联并帮助使用其多个属性。

GUI 测试的执行是非常必要的,因为它确保应用程序在不同的平台和浏览器中看起来和工作。因此,GUI测试非常重要,因为它将确保可观的客户群和商业价值。

在 GUI 测试中,有时执行手动 GUI 测试可能是一个重复且乏味的过程。但是,强烈建议在 GUI 测试过程中使用自动化。

 

 

 


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

1元 10元 50元





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



2043 次浏览
13次