在本节中,我们将讨论所有GUI(图形用户界面)测试,其中包括以下重要主题:
- 什么是 GUI 测试?
- 为什么我们需要执行 GUI 测试?
- GUI测试的特点
- GUI测试的类型
- GUI测试示例
- GUI 测试期间面临的不同挑战
- GUI测试工具
在深入研究上述所有主题之前,首先,我们将了解GUI(图形用户界面)。
1. 什么是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 测试过程中使用自动化。
|