美文网首页软件测试
UI自动化测试之五大常见问题

UI自动化测试之五大常见问题

作者: 梵音11 | 来源:发表于2020-06-27 21:41 被阅读0次

    UI自动化测试一直都是如此的令人纠结,自动化测试初学者总是拿它入门,但有些经验丰富者对其又是毁誉参半,又或抛出分层自动化测试那个经典的“金字塔”,来说明UI自动化测试还是少做为好。下面我们来谈谈在UI自动化测试中遇到的五个值得注意的问题:

    一、关于UI自动化测试的误区

    1)认为UI自动化没用处

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

    2)UI自动化实现很简单

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

    二、自动化测试分层

    分为三层:UI、API Testing、Unit

    单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如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

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

    1)需求稳定,不会频繁变更

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

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

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

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

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

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

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

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

    1)UFT

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

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

    2)Robot Framework

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

    3)Selenium

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

    ①开源、免费;

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

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

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

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

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

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

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

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

    ②一门编程语言

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

    ③合适的工具选型

    比如selenium,比如UTF等;

    ④需求分析

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

    总结

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

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

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

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

    如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流群:829792258,还会有同行一起技术交流。

    相关文章

      网友评论

        本文标题:UI自动化测试之五大常见问题

        本文链接:https://www.haomeiwen.com/subject/omtbfktx.html