如何进行前端自动化测试,测试自动化和前端哪个好

在解答前,先大概介绍以下内容,以便理解。若认为赘余,可直接阅读最后一章节。

结合测试分层自动化测试思想

Unit-单元测试

一般由开发人员开展测试,写单元测试用例也是开发人员对自己的代码进行检查的一个过程。

Service-服务接口自动化测试

通常指的是接口自动化测试,在分层自动化测试的应用中,接口自动化是最常用的自动化解决方案。

结合数据驱动测试框架、关键字驱动测试框架可以满足大部分测试场景,包含含有复杂业务逻辑的功能的覆盖(B接口依赖A接口返回)。特别是在前后端分离的产品架构设计中,可以对功能点进行有效的覆盖,至于页面显示、页面元素布局、展示的验证可以通过手工测试或者其他工具覆盖。

UI-页面自动化测试

UI层是与用户进行交互的,测试工作大多集中在这一层。根据个人实践经验,大部分场景下不推荐UI自动化,难以做到高效的维护,关于UI自动化的两点建议:

  • 能在底层做自动化覆盖,就尽量不在UI层做自动化覆盖
  • 只做最核心的功能的自动化覆盖,脚本可维护性尽可能提高

自动化测试开展的必要条件

首先,是否开展自动化,通常需要同时满足以下条件:

  • 软件需求变动不频繁(超过10%的变动是频繁变动,同时10%并不是一个固定值,根据其维护、扩展成本适当调整阈值)
  • 项目周期足够长
  • 自动化测试用例可重复使用

同时,自动化测试的是否易于扩展、易于维护对其可持续性而言非常重要。

自动化测试的局限性

一方面,自动化测试的局限性体现在上述其开展的必要条件,如果在不满足其必要条件的背景下,开展自动化会发现自动化并不会提高测试效率,甚至可能加大了测试成本。

另一方面,UI自动化与接口自动化本身的局限性,UI自动化较接口自动化而言其具备覆盖率高的优势(接口测试无法覆盖页面元素、格式、数据),接口自动化较UI自动化而言具备高扩展、易维护、问题修复成本低的优势。

自动化测试的目的

自动化测试的直接目的是围绕产品质量提高测试效率,其根本目的(效率转化)无外乎以下几点:

  • 真正的实现项目人力投入的缩减

  • 做更多更有意义的测试,比如更深入的需求分析、测试设计或者对测试左移、右移的投入;

  • 适应开发模式的转变,比如类敏捷、devops、testops模式下的频繁迭代、持续部署、质量运营等。

如何进行前端自动化测试

前面铺垫了很多,终于可以解答了。。。感谢读者能够耐心读到此处。。

我们知道UI自动化其开展的前提更强调系统的稳定性,不稳定的系统会导致频繁的自动化用例维护,这种维护成本是巨大的,甚至会出现原本两个人测试的项目,引入UI自动化现在需要三个人测试的情况。那么系统稳定性高,改动的可能性较小的情况下如何进行UI自动化?——建议使用Robot Framework + Selenium2Library,同时自动化测试设计时考虑数据与代码分离,以便减低维护成本,提高其可扩展性。

如果系统的稳定性一般,存在需求改动、页面优化的可能性,如何开展高覆盖的自动化测试?——建议使用Robot Framework + RequestsLibrary +Python requests(自定义关键字库开发)实现接口自动化,也需要考虑数据与代码分离的设计策略,同时RobotFramework支持数据驱动,用例编写效率会得到很大的提升。基于此再使用UI Recorder(阿里开源的一款零成本UI自动化录制工具)进行整体页面的自动化测试。

最后,充分考虑易维护性、易扩展性的自动化测试策略设计,是可以实现自动化测试前移的,并非只能用于系统稳定或者回归测试的场景中。

希望以上分享对你有所帮助,欢迎大家关注、评论、留言。

首先来说,前端自动化测试在实际应用中还是较少的!为什么这样讲呢?我们得先了解自动化测试是为了解决什么问题的,以及自动化测试的局限性。

自动化测试的目的很简单,就是解放人力,将一些重复性核验工作交给程序自动去检测。但问题来了,对于一般后端功能来说,自动化测试是比较容易实施的。但对于前端来说,自动化的应用场景还是较少的。

我们知道,如果是测试人员对前端页面进行测试,主要测试点有:

  • 界面排版布局是否和效果图一致;

  • 在不同浏览器下的兼容性;

  • 交互效果是否达到预期;

  • 页面性能分析等。

从上面来看,界面布局和兼容性人工测试都比较难,自动化实施起来复杂度也很高。从另外一方面来看,前端页面改动的可能性较大,所以UED方面的确不适合实施自动化测试,成本太高!

那是不是说前端领域就真的没法实施自动化测试了呢?其实也不是,比如我们将一些偏底层性的核验交给程序来自动化测试。比如用程序来实现:

  • 监测前端页面是否存在死链;

  • 监测前端页面图片尺寸是否过大,需要裁剪;

  • 监测前端页面是否抛出了JS错误等 …


前端自动化需要了解 Selenium ,同时你需要掌握一种编程语言,如Java、Python等。利用Selenium可以实现以下功能:

  • 操作浏览器,它可以按照脚本代码对页面做输入、点击、验证提交等操作,和真实用户操作流程一样;

  • 可以对页面DOM进行操作;

  • 可以执行JS;

如果有兴趣,可以去GitHub上搜索一下:checkConsoleError 、check404 ,这两个小工具是我用Selenium写的前端自动化测试小工具。

当然了,一般前端人员还是很难驾驭Selenium的,因为要一定的编程能力才能写出测试脚本。对于一般前端人员我们建议使用类似的IETester来测试页面兼容性即可。

原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/10125.html

(0)
上一篇 2023-05-02 下午12:50
下一篇 2023-05-02 下午1:03

相关推荐

  • 为什么王源比易烊千玺小一个年纪

    首先 王源出生:2000.11.8 易烊千玺出生:2000.11.28 王俊凯出生:1999.9.21 很简单,其实按照规定年满六周岁的适龄儿童可以上一年级,以生日为九月一号为分界…

    培训问答 2023-02-12
  • 职业学校有哪些,职业学校有哪些专业适合男生

    首先,身为职校老师,您这个说法不太合理。应该是职业学校分为哪几类,又有哪些专业。 第一:根据《中华人民共和国职业教育法》第十三条规定:职业学校教育分为初等、中等、高等职业学校教育。…

    培训问答 2023-04-08
  • n的lnn次方是否收敛

    我曾在文章《数学科学是最广大世界的最重要组成部分之一,不能算是自然科学》里分析到:“……数学在本质上就是一种关于数字(人为定义的反映事物量化指标和事物之间数量关系的一种特殊符号,其…

    培训问答 2023-01-18
  • 优思一对一辅导哪家好,优思路一对一辅导

    今天我们就来盘点下现在火爆的网上在线教育平台: NO1.掌门一对一,大家耳熟能详的一对一辅导平台,由黄磊老师代言,在线教师全是211/985大学的学霸,还有许多名校高级教师坐镇。可…

    培训问答 2023-07-16
  • 发音法能不能治好口吃(如何进行发音练习治疗口吃)

    发音法能不能治好口吃?发音法,针对小孩子口吃还是有一定的作用,但是对于成人口吃者来说发音法并没有多大的用。成人口吃问题是出现在语言上,但是最根本的原因是在心理,所以发音法并没有多大…

    培训问答 2023-06-25
  • 石家庄瑜伽,石家庄比较好的瑜伽馆

    其实,挑选瑜伽馆有一定的技巧。不管是在上海还是在石家庄。瑜伽馆和瑜伽练习场地都是有相对应的简单的挑选技巧。 对于瑜伽练习场地的选择,我们一定要注意。很多人觉得在家练习非常的安静而又…

    培训问答 2022-05-13
  • 现代社会礼仪(现代社会礼仪的内涵)

    现代社会礼仪不同于传统礼仪,也就是与新时代相适应的礼仪,别的暂且不说,我就来说说网络上的礼仪吧。 ①群主要经常地向群员们问候。尤其是逢年过节、群员的生日和其他喜庆日子,不忘向群员们…

    培训问答 2023-02-13
  • 广东肇庆理工学院怎么样

    谢谢,您的邀请哦! 我是一名高考数学研究者以及高考志愿填报辅导老师,孩子在学习上有问题欢迎私信子墨老师…… 对于题主您所提到的: 对于体住您所提及到的,我先给您做一个纠正。那就是广…

    培训问答 2023-02-02
  • 四川农业大学好不好就业,四川农业大学好不好

    学校简介 ▎院校类型:211 农业院校 ▎院校隶属:四川省教育厅 ▎所在省份:四川 ▎通讯地址:雅安市雨城区新康路46号 ▎特殊招生:自主招生 四川农业大学位于四川省雅安市,现有雅…

    培训问答 2023-02-06
  • 上海科技大学怎么样

    上海科技大学:公办、理工类、双一流。 上海科技大学2013年9月成立,是一所新型的、具有中科院背景的小规模、研究型、创新型大学。 学校以理工科为主,2014年学校开始招收首届本科生…

    培训问答 2023-02-05