首页 > 其他分享 >分层测试(六):UI测试

分层测试(六):UI测试

时间:2023-02-22 11:56:27浏览次数:45  
标签:测试人员 分层 测试用例 UI 测试 自动化

分层测试系列文章

https://www.cnblogs.com/yuxiuyan/tag/分层测试/

1. 什么是UI测试

UI测试是通过测试产品的视觉元素来验证产品功能和性能的测试技术。
视觉元素的范围很广,包括一切可视化的组件,比如图标、按钮、文本框、颜色、字体、选择框、窗口、菜单等等。
UI测试主要关注产品的功能、可用性、视觉性,也就是用户关心的部分,确保程序成功运行。
注意:当分层测试的其他层次不完备的时候,最好不要考虑使用UI测试,在业务实践来看,准确率很难达标,严重影响开发人员对测试人员信心。

2. UI测试的类型

2.1 手工测试

手工测试由人工测试人员执行,他们根据一组测试用例来评估程序的界面。手工测试十分耗时,而且覆盖率较低。尤其是当涉及到跨设备、跨浏览器、跨环境等测试的时候,很依赖于测试人员的技术素质和业务素质。

2.2 基于录制回放的测试

录制和回放 UI 测试使用自动化软件,通常需要有限的编码技能或不需要编码技能即可实施。该软件首先记录测试人员执行的一组操作,然后将它们保存为测试,可以根据需要重放并与预期结果进行比较。Selenium IDE是业界比较出名的一个记录和回放工具。

2.3 基于模型的测试

这类测试可以将程序运行期间经历的状态通过图结构表示出来。这里是一个工具的例子:基于模型的自动化测试工具:GraphWalker
在一个最简单的形式中,需要包含以下步骤:

  1. 构建该系统模型
  2. 确认输入
  3. 了解预期输出
  4. 执行测试并断言结果

3. UI测试的模型

4. UI测试的挑战

  1. UI变动频繁:应用程序界面经常被重新设计以提供新的功能。当频繁出现改进时,严格的 UI 测试变得困难。
  2. 运行环境复杂:现代应用程序包括嵌入式框架、复杂的流程图、地图、信息图表和其他数字组件。它增加了 UI 测试的挑战。
  3. 运行时间太长: 创建有效的 UI 测试用例并运行它们可能需要很长时间,尤其是在测试人员没有使用正确的 UI 测试工具的情况下。
  4. 维护成本很高:在短时间内执行许多 UI 测试时,测试人员会花费大量精力创建测试脚本。在这些情况下,解决测试期间的问题变得棘手。
  5. 投入产出难度量:测试随着用户界面的变化而变化。因此,UI 测试需要更长的时间,从而延迟交付。最终,很难估计持续运行 UI 测试的 ROI。

5. UI测试的最佳实践

开发人员和测试人员可以遵循一些最佳实践做法,来减少UI 测试的问题。

  1. 限制UI测试用例数量: 使用共享存储库是减少测试维护及其相关成本的一种方法。在第一个测试阶段限制 UI 测试用例的数量也是一个好方法,逐渐增加覆盖范围。
  2. 采用无代码方案:为了消除重复更改测试代码的麻烦,开发人员和 QA 团队应该采用无代码自动化解决方案。
  3. 进行团队自动化教育:组织的编码文化会显着影响团队在软件开发周期中如何有效地管理测试挑战。由于整个组织都需要特定的代码审查或更改标准,因此他们还可以专注于对团队进行最佳自动化测试实践的教育。
  4. 良好的工具选型: 如果没有合适的自动化 UI 测试工具,测试人员将不得不手动测试用户界面,这既费时又费力。因此,选择一个合适的工具就十分重要。

标签:测试人员,分层,测试用例,UI,测试,自动化
From: https://www.cnblogs.com/yuxiuyan/p/17138845.html

相关文章

  • 软件测试人员必须掌握的测试用例
    测试用例(TestCase)是为特定的目的而设计的一组测试输入、执行条件和预期结果的文档。它的作用其实就是为了测试是否满足某个特定需求。测试用例是指导测试工作进行的......
  • 怎么用思维导图设计软件测试用例
    思维导图也叫脑图,本来是为了做头脑风暴用的,用它来写用例完全是借助这个工具本身的功能而已。所以最初我们并没有明确规定导图的使用格式,只要是可以快速进行需求的拆解,......
  • 关于目前chatGPT写代码问题,随手测试了一下
    他们都说chatGPT写代码很厉害,我就随手一测,其实源码本身不太重要,我就不上源码了:  (源码:略)  (源码:略)  (源码:略)  (源码:略)  (源码:略)  (源码:略)到最终,其......
  • @Builder will ignore the initializing expression entirely
    报错信息警告:@Builderwillignoretheinitializingexpressionentirely.Ifyouwanttheinitializingexpressiontoserveasdefault,[email protected]......
  • 在vue中动态的引入图片为什么要使用require
    在vue中动态的引入图片为什么要使用require有些小伙伴,可能会轻蔑一笑:呵,就这,因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require,我倒着都能背出来............
  • Android单元测试
    什么是单元测试?单元测试就是针对类中的某一个方法进行验证是否正确的过程,单元就是指独立的粒子,在Android和Java中大都是指方法。为什么要进行单元测试?使用单元测试可以提高......
  • MASA MAUI Plugin (八)Android相册多选照片(Intent 方式)
    背景MAUI的出现,赋予了广大.Net开发者开发多平台应用的能力,MAUI是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并......
  • 测试
    github访问总是不稳定,尤其是下载releases和浏览raw的时候有人搭建了一个貌似是反向代理github的网站,速度还可以,相比于其他方法更加简单只需要把页面url的github改成githu......
  • 芯片cp测试和ft测试
    CP是ChipProbe的缩写,指的是芯片在wafer的阶段,就通过探针卡扎到芯片管脚上对芯片进行性能及功能测试,有时候这道工序也被称作WS(WaferSort)。FT是FinalTest的缩写,指的是芯......
  • 数据库连接池druid和JdbcTemplate
    使用数据库连接池的原因1.之前每一次访问数据库都需要获取连接,经过操作后再释放连接。消耗资源,代码量多。  2.获取连接的操作是向系统底层申请资源,是非常耗时的,使用......