要了解GUI测试,我们首先要了解-
什么是GUI?
计算机应用程序有两种类型的接口。命令行界面GUI代表图形用户界面(Graphical User Interface),在该界面中,可以使用图像而不是文本与计算机交互。
以下是可用于用户和应用程序之间交互的GUI元素:
GUI测试是对上述元素的验证。
GUI测试
GUI测试是一种软件测试类型,用于检查软件的图形用户界面。图形用户界面(GUI)测试的目的是通过检查菜单、按钮、图标等屏幕和控件,确保软件应用程序的功能按照规范工作。
GUI是用户看到的东西。比方说,如果访问www.itxiaonv.com,会看到说主页是GUI(图形我们尤其关注的是设计结构,图像是否正常工作)。
在上面的例子中,如果我们必须进行GUI测试,首先要检查图像在不同的浏览器中是否完全可见。
此外,链接也是可用的,单击按钮时应该可以正常工作。此外,如果用户调整屏幕大小,图像和内容都不应缩小、裁剪或重叠。
在本教程中,将了解-
- 什么是GUI测试?
- 需要进行GUI测试
- 有哪些签入GUI测试?
- 一种图形用户界面的测试方法
- GUI测试测试用例
- 演示:如何进行GUI测试
- GUI测试中的挑战
需要进行GUI测试
现在,GUI测试的基本概念清晰了。脑海中浮现的几个问题是
- 为什么要进行GUI测试?
- 真的需要吗?
- 应用程序的功能和逻辑测试是否还不够?那么为什么要在UI测试上浪费时间呢?
以用户的身份思考问题的答案,而不是以测试者的身份思考。用户这样做是由应用程序的UI决定用户是否要进一步使用该应用程序。
普通用户首先观察应用程序/软件的设计和外观,以及对他来说理解UI是多么容易。如果用户不是,这就是为什么,GUI是一个值得关注的问题,应该进行适当的测试,以确保GUI没有Bug。
有哪些签入GUI测试?
下面的核对表将确保在软件测试中进行详细的GUI测试。
- 检查所有GUI元素的大小、位置、宽度、长度以及是否接受字符或数字。例如,必须能够向输入字段提供输入。
- 检查是否可以使用GUI执行应用程序的预期功能
- 检查错误消息是否正确显示
- 检查屏幕上不同部分的分界是否清晰
- 检查应用程序中使用的字体是否可读
- 检查文本的对齐方式是否正确
- 检查字体的颜色和警告消息是否美观
- 检查图像是否清晰度良好
- 检查图像是否正确对齐
- 检查不同屏幕分辨率的GUI元素的位置。
GUI测试技术
GUI测试技术可以分为三个部分:
基于人工的测试
在这种方法下,测试人员根据业务需求文档中陈述的需求手动检查图形屏幕。
录制和回放
GUI测试可以使用自动化工具来完成。这类工具的例子-QTP。
基于模型的测试
模型是系统行为的图形描述。对于此基于模型的测试,需要考虑以下事项:
- 构建模型
- 确定模型的输入
- 计算模型的预期输出
- 运行测试
- 将实际产量与预期产量进行比较
- 关于对模型采取进一步行动的决定
可以从中派生测试用例的一些建模技术:
- 图表-描述系统状态,并在一些输入后检查状态。
- 决策表-用于确定应用的每个输入的结果的表
基于模型的测试是从需求生成测试用例的一种不断发展的技术。与上述两种方法相比,主要优点是可以确定GUI可能达到的状态。
以下是可用于执行自动化UI测试的开源工具。
产品 | 在以下项下获得许可 |
---|---|
AutoHotkey | GPL |
Selenium | Apache |
Sikuli | MIT |
Robot Framework | Apache |
Water | BSD |
Dojo Toolkit | BSD |
GUI测试用例
GUI测试基本上涉及到
- 测试元素的大小、位置、宽度、高度。
- 测试正在显示的错误消息。
- 测试屏幕的不同部分。
- 测试字体是否可读。
- 640×480、600×800等放大和缩小功能,测试不同分辨率的屏幕。
- 测试文本和其他元素(如图标、按钮等)的对齐位置是否正确。
- 测试字体的颜色。
- 测试错误消息、警告消息的颜色。
- 测试图像的清晰度是否良好。
- 测试图像的对齐情况。
- 拼写测试。
- 用户在使用系统界面时不能感到沮丧。
- 测试界面是否美观。
- 根据页面大小测试滚动条(如果有)。
- 测试禁用的字段(如果有)。
- 测试图像的大小。
- 测试标题是否正确对齐。
- 测试超链接的颜色。
演示:如何进行GUI测试
在这里,我们将为下面的屏幕使用一些示例测试用例。
下面是测试用例的示例,它由UI和可用性测试场景组成。
TC 01-验证标签为“Source Folder”的文本框是否正确对齐。
TC 02-验证标签为“Package”的文本框是否正确对齐。
TC 03-验证名称为“Browse”的标签是否为位于名称为“Source Folder”的文本框末尾的按钮。
TC 04-验证名称为“Browse”的标签是否为位于名称为“Package”的文本框末尾的按钮。
TC 05-验证标签为“Name”的文本框是否正确对齐。
TC 06-验证标签“修改器”是否由名称为PUBLIC、DEFAULT、PRIVATE、PROTECTED的4个单选按钮组成。
TC 07-验证标签“修改器”是否由4个单选按钮组成,这些单选按钮在一行中正确对齐。
TC 08-确认标签“修饰符”下的标签“超类”由必须正确对齐的下拉列表组成。
TC 09-验证标签“Superclass”是否由其上带有标签“Browse”的按钮组成,该按钮必须正确对齐。
TC 10-确认单击任何单选按钮时,默认鼠标指针必须更改为手形鼠标指针。
tc 11-确认用户不能键入“Superclass”的下拉列表。
TC 12-确认如果错误选择了某些内容,则必须生成适当的错误。
TC 13-验证是否必须在任何需要的地方以红色生成错误。
TC 14-验证错误消息中是否必须使用正确的标签。
tc 15-验证每次都必须默认选择单个单选按钮。
TC 16-在跳到上一个旁边的另一个字段时,验证TAB按钮必须正常工作。
tc 17-验证所有页面必须包含正确的标题。
tc 18-验证页面文本必须正确对齐。
TC 19-确认更新任何字段后必须显示正确的确认消息。
tc 20-确认必须只选择一个单选按钮,并且可以选择多个复选框。
GUI测试中的挑战
在软件工程中,进行回归测试时最常见的问题是应用程序GUI频繁更改。测试非常困难,当没有任何关于GUI更改的文档时,问题就会显现出来。
GUI测试工具
以下是流行的GUI测试工具列表:
- Selenium
- QTP
- Cucumber
- SilkTest
- TestComplete
- Squish GUI Tester
结论:
软件产品的成功在很大程度上取决于GUI如何与用户交互以及是否易于使用其各种功能。强烈建议将自动化用于GUI测试。