GUI用户界面(UI)测试

要了解GUI测试,我们首先要了解-

什么是GUI?

计算机应用程序有两种类型的接口。命令行界面GUI代表图形用户界面(Graphical User Interface),在该界面中,可以使用图像而不是文本与计算机交互。

以下是可用于用户和应用程序之间交互的GUI元素:

GUI Testing: Complete Guide
GUI Testing: Complete Guide

GUI测试是对上述元素的验证。

GUI测试

GUI测试是一种软件测试类型,用于检查软件的图形用户界面。图形用户界面(GUI)测试的目的是通过检查菜单、按钮、图标等屏幕和控件,确保软件应用程序的功能按照规范工作。

GUI是用户看到的东西。比方说,如果访问www.itxiaonv.com,会看到说主页是GUI(图形我们尤其关注的是设计结构,图像是否正常工作)。

GUI Testing: Complete Guide
GUI Testing: Complete Guide

在上面的例子中,如果我们必须进行GUI测试,首先要检查图像在不同的浏览器中是否完全可见。

此外,链接也是可用的,单击按钮时应该可以正常工作。此外,如果用户调整屏幕大小,图像和内容都不应缩小、裁剪或重叠。

在本教程中,将了解-

  • 什么是GUI测试?
  • 需要进行GUI测试
  • 有哪些签入GUI测试?
  • 一种图形用户界面的测试方法
  • GUI测试测试用例
  • 演示:如何进行GUI测试
  • GUI测试中的挑战

需要进行GUI测试

现在,GUI测试的基本概念清晰了。脑海中浮现的几个问题是

  • 为什么要进行GUI测试?
  • 真的需要吗?
  • 应用程序的功能和逻辑测试是否还不够?那么为什么要在UI测试上浪费时间呢?

以用户的身份思考问题的答案,而不是以测试者的身份思考。用户这样做是由应用程序的UI决定用户是否要进一步使用该应用程序。

普通用户首先观察应用程序/软件的设计和外观,以及对他来说理解UI是多么容易。如果用户不是,这就是为什么,GUI是一个值得关注的问题,应该进行适当的测试,以确保GUI没有Bug。

有哪些签入GUI测试?

下面的核对表将确保在软件测试中进行详细的GUI测试。

  • 检查所有GUI元素的大小、位置、宽度、长度以及是否接受字符或数字。例如,必须能够向输入字段提供输入。
  • 检查是否可以使用GUI执行应用程序的预期功能
  • 检查错误消息是否正确显示
  • 检查屏幕上不同部分的分界是否清晰
  • 检查应用程序中使用的字体是否可读
  • 检查文本的对齐方式是否正确
  • 检查字体的颜色和警告消息是否美观
  • 检查图像是否清晰度良好
  • 检查图像是否正确对齐
  • 检查不同屏幕分辨率的GUI元素的位置。

GUI测试技术

GUI测试技术可以分为三个部分:

基于人工的测试

在这种方法下,测试人员根据业务需求文档中陈述的需求手动检查图形屏幕。

GUI Testing: Complete Guide
GUI Testing: Complete Guide

录制和回放

GUI测试可以使用自动化工具来完成。这类工具的例子-QTP。

GUI Testing: Complete Guide
GUI Testing: Complete Guide

基于模型的测试

GUI Testing: Complete Guide
GUI Testing: Complete Guide

模型是系统行为的图形描述。对于此基于模型的测试,需要考虑以下事项:

  • 构建模型
  • 确定模型的输入
  • 计算模型的预期输出
  • 运行测试
  • 将实际产量与预期产量进行比较
  • 关于对模型采取进一步行动的决定

可以从中派生测试用例的一些建模技术:

  • 图表-描述系统状态,并在一些输入后检查状态。
  • 决策表-用于确定应用的每个输入的结果的表

基于模型的测试是从需求生成测试用例的一种不断发展的技术。与上述两种方法相比,主要优点是可以确定GUI可能达到的状态。

以下是可用于执行自动化UI测试的开源工具。

产品 在以下项下获得许可
AutoHotkey GPL
Selenium Apache
Sikuli MIT
Robot Framework Apache
Water BSD
Dojo Toolkit BSD

GUI测试用例

GUI测试基本上涉及到

  1. 测试元素的大小、位置、宽度、高度。
  2. 测试正在显示的错误消息。
  3. 测试屏幕的不同部分。
  4. 测试字体是否可读。
  5. 640×480、600×800等放大和缩小功能,测试不同分辨率的屏幕。
  6. 测试文本和其他元素(如图标、按钮等)的对齐位置是否正确。
  7. 测试字体的颜色。
  8. 测试错误消息、警告消息的颜色。
  9. 测试图像的清晰度是否良好。
  10. 测试图像的对齐情况。
  11. 拼写测试。
  12. 用户在使用系统界面时不能感到沮丧。
  13. 测试界面是否美观。
  14. 根据页面大小测试滚动条(如果有)。
  15. 测试禁用的字段(如果有)。
  16. 测试图像的大小。
  17. 测试标题是否正确对齐。
  18. 测试超链接的颜色。

演示:如何进行GUI测试

在这里,我们将为下面的屏幕使用一些示例测试用例。

GUI Testing: Complete Guide
GUI Testing: Complete Guide

下面是测试用例的示例,它由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测试。

IT赶路人

专注IT知识分享