当前位置:首页 > 教育培训 >

ui自动化测试十大问题(如何提高ui自动化测试开发效率)

来源:原点资讯(www.yd166.com)时间:2023-05-15 09:25:55作者:YD166手机阅读>>

UI自动化测试一直都是如此的令人纠结,自动化测试初学者总是拿它入门,但有些经验丰富者对其又是毁誉参半,抑或抛出分层自动化测试那个经典的"金字塔",来说明UI自动化测试还是少做为好。

我在从事7年产品研发之后,临危受命转向测试领域,至今又7年有余。期间最关注的一直是UI端/用户端的自动化技术:从Web应用到移动App、从测试到RPA(机器人流程自动化)、从框架研发到应用推广。

下面我就分享下为什么要做UI自动化测试、UI自动化测试要点以及其他的心得体会,希望能给各位同行带来思想上的碰撞。

ui自动化测试十大问题,如何提高ui自动化测试开发效率(1)

1、首先,讲讲UI自动化测试的误区吧

误区一: UI自动化没用

造成这个误区的原因也很简单。技术和业务拆解能力不足就直接去搞自动化了。所以自然就没什么好效果,然后总结出了一个结论--UI自动化没有什么用。

误区二: UI自动化实现很简单

之所以有这么一个误区原因也很简单。UI自动化不论是Selenium、rf还是TestWriter。平常用的API确实没多少,很好学。稍微有代码基础的人就能很快上手,TestWriter更是0编码都可以上手,所以觉得这真的很简单。但其实,如果想要更长远的发展,需要学习的东西还有很多。

2、 自动化测试分层

测试金字塔:

ui自动化测试十大问题,如何提高ui自动化测试开发效率(2)

单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如java的Junit、TestNG,python的unittest,常见的手段是code review等;

接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner等;

UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等;

性价比:按照测试金字塔模型以及投入/产出比,越向下,回报率越高;

Google的自动化分层投入占比:

小测试(Unit):占比70%;

中测试(Service):占比20%;

大测试(UI):占比10%;

自动化测试面临的挑战:面临的最大挑战就是变化,因为变化会导致测试用例运行失败,所以需要对自动化脚本不断debug,如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。

3、什么样的项目适合自动化测试

ui自动化测试十大问题,如何提高ui自动化测试开发效率(3)

如上图所示,真正工作中无法全部满足以上条件,所以需要作出权衡,一般来说,只需要满足以下几点,就可以对项目开展自动化测试(图中红色框标注的选项):

①需求稳定,不会频繁变更

自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义;

折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试;

②多平台运行,组合遍历型、大量的重复任务

测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和价值;

③软件维护周期长,有生命力

自动化测试的需求稳定性要求、自动化框架的设计、脚本开发与调试均需要时间,这其实也是一个软件开发过程,如果项目周期较短,没有足够的时间去支持这一过程,那自动化测试也就不需要了;

④被测系统开发较为规范,可测试性强

主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架;

4、常见的自动化测试工具简介

UFT

即原来的QTP与ST合并而来,由HP公司开发,是一个企业级的商业自动化测试工具,提供了强大易用的录制回放功能,

同时兼容对象识别模式与图像识别模式,支持B/S和C/S两种架构的软件测试;

Robot Framework

一款基于python语言编写的自动化测试框架工具,具备良好的扩展性,支持关键字驱动,支持多种类型的客户端和接口,可进行分布式测试;

Selenium

应用于web的自动化测试工具,支持多平台、多浏览器、多语言来实现自动化,优点如下:

①开源、免费;

②多浏览器支持:chrome、Firefox、IE、Edge等;

③多平台支持:Linux、Windows、MAC;

④多语言支持:java、python、Ruby、C#、JavaScript、C ;

⑤对web界面有良好的支持;

⑥简单(API简单)、灵活(开发语言驱动);

⑦支持分布式测试用例执行;

5、做UI自动化测试,需要什么技能

①前端相关技术HTML、XML、JavaScript、TCP/IP协议等

②一门编程语言

就像前面说的,selenium支持多种语言,根据个人情况以及项目的开发语言酌情选择;

③合适的工具选型

比如selenium,比如UTF等;

④需求分析

项目类型,特质,生命周期,是否适合开展自动化测试等;

总结:

如果一个组织真正重视软件质量,UI自动化测试是有必要做的。有如下几点理由:

1、 任何自动化工具都是在简单、机械、重复的任务场景下最能发挥作用,UI测试非常符合这个特点。

2、 对于很多组织来说,UI测试是当前耗费测试团队人力最多的环节,大部分专职测试人员日常工作就是UI测试。"工欲善其事必先利其器",测试人员也需要自动化工具来提升其日常工作效率。

3、 无论后台多复杂、多重要,用户接触的终究还是前端界面。现在的软件除了后台逻辑之外,还有很多前端脚本逻辑和样式,单纯靠后台接口/单元测试,无法证明用户端的可用性。

栏目热文

办理南京车牌个人需要什么条件(南京车牌照申请条件)

办理南京车牌个人需要什么条件(南京车牌照申请条件)

外地人想在南京给新车上牌,不用再提交暂住证或者社保证明,仅凭自己的身份证就能一证办理。有关渠道透露,即日起,根据《机动车...

2023-05-15 09:19:57查看全文 >>

南京车牌互换流程(南京车牌互换的车管所)

南京车牌互换流程(南京车牌互换的车管所)

机动车所有人名下有两辆车想把喜欢的车牌挂到经常开的车上该如何办理机动车号牌号码互换呢?今天蜀黍就为大家一一解答~那么要办...

2023-05-15 09:52:28查看全文 >>

南京车牌办理需要什么条件(办理南京车牌个人需要什么条件)

南京车牌办理需要什么条件(办理南京车牌个人需要什么条件)

现代快报讯(记者 王瑞)此前,外地居民想在南京给新车上牌,必须提交暂住证或者相关社保证明。5月14日,现代快报记者从相关...

2023-05-15 09:55:00查看全文 >>

户口迁入南京更换车牌(外地更换南京车牌在哪办理)

户口迁入南京更换车牌(外地更换南京车牌在哪办理)

文|达渔本攻略只适用于之前是外地牌照,然后转入南京换成苏A牌照的。我是在2018年6月5日办了这项业务,不担保以后流程会...

2023-05-15 09:34:26查看全文 >>

南京换车牌最新规定(南京车牌限号最新规定)

南京换车牌最新规定(南京车牌限号最新规定)

想换车又钟情于原车牌号码想保留原号牌可以吗?答案是:当 然 可 以!那如何办理?需要满足什么条件呢?《机动车登记规定》(...

2023-05-15 09:52:40查看全文 >>

ui自动化测试步骤(ui自动化测试怎么搭建环境)

ui自动化测试步骤(ui自动化测试怎么搭建环境)

自动化好像是测试行业永恒不变的热点话题,同时也是测试行业争议最大的话题。不知道现在还有多少言论说自动化没有用的,也有不少...

2023-05-15 09:38:36查看全文 >>

ui自动化用例失败怎么解决(ui自动化测试时元素不可见)

ui自动化用例失败怎么解决(ui自动化测试时元素不可见)

运行自动化测试的时候,有时会因为网络不稳定,测试环境或者第三方环境正在重启而造成用例运行结果不稳定,时而能跑过时而跑不过...

2023-05-15 09:15:48查看全文 >>

ui自动化断言举例说明(ui自动化测试方法)

ui自动化断言举例说明(ui自动化测试方法)

1.断言简介断言时候UI自动化测试的三要素之一,是UI自动化测试中不可或缺的部分。我们使用定位器到定位元素后,通过测试脚...

2023-05-15 09:35:23查看全文 >>

如何提高ui自动化测试开发效率(一个软件的ui怎么自动化测试)

如何提高ui自动化测试开发效率(一个软件的ui怎么自动化测试)

前言在进行Web应用程序开发的时候,我们经常需要进行自动化测试以保证应用的质量和稳定性。而WebUI自动化测试就是其中的...

2023-05-15 09:20:59查看全文 >>

ui自动化测试脚本讲解(ui自动化测试学习)

ui自动化测试脚本讲解(ui自动化测试学习)

robotframework-ride是一款开源的通用的自动化软件。功能强大、应用灵活,适用于功能测试、协议测试、跨系统...

2023-05-15 09:26:10查看全文 >>

文档排行