您现在的位置是:首页 >学无止境 >视觉回归测试—UI自动化的最后1分钟网站首页学无止境

视觉回归测试—UI自动化的最后1分钟

龙测科技 2023-06-04 16:00:04
简介视觉回归测试—UI自动化的最后1分钟

视觉回归测试是一种验证应用GUI是否正确地展示给用户的操作。测试目标是找出应用在可视化上存在的软件缺陷,例如,字体、布局和渲染问题。这使得所发现的软件缺陷可在被最终用户看到前得到修正。此外,视觉测试可用于验证页面的内容,非常适用于一些提供图形功能(例如图表、仪表盘等)的软件。执行视觉测试时需要考虑很多元素,包括元素的大小、宽度、长度、位置、可执行性、可见性、可读性、对齐方式以及跨所有屏幕分辨率的一致性。视觉回归测试有助于确保应用程序的 UI 在不同的设备、浏览器和操作系统中保持一致和视觉吸引力。

视觉回归测试的重要性

如果没有视觉回归测试,产品更新可能会面临视觉错误遗漏进入受众端的风险。GUI用户操作界面,是用户和产品接触的首战场。如果GUI问题太多,用户很难继续浏览产品,影响用户体验。如今的时代,任意一款产品都被要求满足基本的美感和可用性,如果达不到,用户会用脚投票。糟糕的GUI也在一定意义上代表着专业性的缺乏,糟糕的布局、错误的按钮只会影响品牌形象。

视觉回归测试的类型

手动视觉回归测试

手动视觉回归是传统视觉回归测试方式,不借助任何工具,仅凭测试人员的视觉敏锐度来发现问题。然而人不是机器,机器都会犯错,人更是会犯错。让人来验证屏幕尺寸、分辨率大小,这就是强人所难。在执行临时测试或探索性测试时,手动测试更快更容易。对于大规模测试,我们需要自动化。

自动化视觉回归测试

通过使用自动化框架自动执行跨所有浏览器、设备查找和比较视觉元素以发现视觉回归的过程。常见的可视化测试自动化框架包括 Selenium WebDriver、Cypress或Appium。由于自动化UI测试脚本依赖于使用选择器,因此它们必须随着代码的发展不断修改。

逐像素比较

自动化UI测试的经典方法是快照测试(或逐像素比较),它涉及在像素级别将实时快照与基线快照进行比较,并标记所有要修改的变动。这种方法听起来不错,但它没有考虑到几个方面:

网站上有动态元素,例如购物车图标。它会根据访问者采取的操作而变化。自动化脚本将此注册为视觉错误,因为像素不同;

不同的硬件渲染图像不同,这会导致颜色和抗锯齿的差异,从而导致漏报;

填充/边距也因浏览器和设备而异。

人工智能视觉测试

AI-Testing可以区分关键和可接受的视觉变化。例如,测试人员可以将脚本配置为忽略UI上的动态元素和区域。他们还可以设置快照之间差异的接受程度,这样微不足道的变化就不会被标记为错误。

一个相对较新和高级的视觉测试功能是布局比较,它定义和匹配检查点和基线快照之间的各个区域,并突出显示任何可见的布局更改。另一个功能是基于文本/内容的比较,它利用机器学习来提取和比较屏幕上的文本,而不考虑字体大小、系列和颜色,并从原始版本中识别出真正修改过的文本。

机器学习最好的部分是它可以从内容和布局的角度逐渐了解您构建应用程序的方式。随着您的代码的发展,机器会变得更好,生成与您的业务需求相关的不断改进的测试结果。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。