• 0
  • 0
分享
  • UI自动化和API 自动化已经开始互斥了吗?——软件测试圈
  • 恬恬圈 2022-05-05 13:55:51 字数 854 阅读 719 收藏 0

最近有个同事问:一个功能API自动化做了,UI自动化还需要做吗?

图片 1.png

刚接到这个问题的时候我愣了一下。因为这两个自动化主要覆盖的场景完全不同。为啥是互斥的?一般情况下:这2个都是需要的。打个比方:过滤沙子的时候,不同颗粒度的沙子就需要不同类型的滤网去过滤。

首先我们看下UI自动化优点:

它主要覆盖场景就是用户使用场景。模拟用户操作来进行自动化。根据用户操作方法来使用脚本替代用户操作。一般是在功能测试后期代码稳定后实现。

UI自动化缺点:

UI自动化缺点也很明显,依赖开发UI界面的稳定性。所以UI自动化相对来说比较脆弱,维护成本比较高。运行时间长,质量反馈稍微有点慢。而且脚本需要添加等待时间来模拟页面操作后台响应时间。导致脚本鲁棒性不太好。UI自动化投入产出比相对低一些。

再说API自动化的优点:

API自动化运行速度快。质量反馈周期短,能快速给质量提供一个结果来评价质量好坏。而且API稳定后一般不太可能修改。在开发后期就可以开始写脚本。主要在校验前后台数据交换上优势明显。因为输入输出很明确。API自动化投入产出比相对高一些。

API自动化缺点:

API自动化的弊端也很明显。无法校验前端页面代码逻辑。对于复杂的输入和输出解析,穷举各个参数,参数数量超过一定级别后API自动化写作成本太高,耗时太长。

总结:

从上面分析可以看出来两个的侧重点和适用场景完全不同。所以这两个自动化都是需要的。两者并不是互斥的。就跟筛沙子的过程中,粗沙子和细沙子需要不同工具一样。

用人当用长,那么使用工具也是一样的道理。如果一个场景是用户界面经常操作的,那么它就有必要写UI自动化。同时前后台数据有交换的,就需要写API自动化了。 

如果项目进度紧张,一定要优先保证数据是正确的,所以更适合API多做些。UI覆盖UAT。

如果前台界面校验逻辑多,UI自动化优势更明显一些,就UI自动化多做一些,API自动化只集中在几个验证数据交换的接口上。


作者:阿萨聊测试
链接:https://juejin.cn/post/7090175088330276895

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 简介zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成:zabbix server与zabbix agent。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux, OS X, Windows ,Solaris,HP-UX,AIX,Free BSD...
            0 1 2306
            分享
          •   科技在发展,技术在进步,业务的需求变得更加灵活多变,带来的就是安全性的不稳定。这对我们测试人来说无疑是个挑战。针对不同的测试场景,通用型工具就显得捉襟见肘,今天小编就为大家分享一个本人一直在用的针对接口测试的工具----Postman。  01、什么是Postman  辛苦的测试人在渗透网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。但是这款以简单快捷著称的网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!  Postman是一个商业化的...
            15 14 1055
            分享
          • 摘要:企业老板和开发人员必须牢记,现代用户可能非常挑剔和苛刻,他们必须尽最大努力满足所有用户的期望。解决这个问题的最好方法是定期进行可用性测试。手机应用每天都在发布。应用商店提供数以百万计的移动应用版本,努力满足所有可能的需求,满足任何口味。你的手机应用是否拥有出色且独特的功能,但用户数量仍然很低?营销噱头不是答案。是时候关注可用性了。用户选择下载某个应用程序是为了执行某些任务或解决某个特定问题。他们在寻找解决方案,而不是额外的问题,如不全面的菜单或元素搜索。如果一款应用的设计并不直观,并且用户所需要的UI元素位于用户意想不到的位置,他们通常不会浪费时间去了解如何使用这款应用;他们只是卸载它,...
            1 0 715
            分享
          • 往往在测试中,大家觉得来了测试任务就测试,时间久了,反而忘记了还有什么规范?也就慢慢忽略了规范!规范的软件测试流程有助于需求条理化,将测试工作模块化,一切跟着计划走比通过脑袋记忆要更加的有条理。有的时候,工作任务比较繁琐,脑袋记忆力容易出现乱成一锅粥的情况,特别这个时候,软件测试计划就更加重要。下面结合实际情况对自己工作中测试流程进行简单的阐述。1.制定测试策略测试策略就是如何进行测试,运用何种手段进行测试。当用户提出新的需求时,测试人员应该和开发人员一起做测试需求分析,一般我们都会通过会议的形式去进行讨论分析,这样测试人员会对测试需求要有个大概的了解,需要是干什么的,包括哪些功能等等,而不至...
            0 0 1905
            分享
          •   摘要:互联网行业发展的十多年,对软件的使用要求越来越高,所以企业对招聘测试人也从当初的功能测试上升到自动化测试,那么要成为一名合格的测试工程师需要具备哪些技能。不光是符合企业需求,也能提高个人价值,说白了就是提高自己的收入。  那么从事软件测试行业需要学习哪些技能?接下来小编就来给大家讲讲软件测试工程师需要学习哪些技能。  测试用例  这是每个工程师必备的技能,也是你进入测试行业的基础门槛。测试用例可以参考我之前写的文章。  测试用例的方法  流程分析法、状态迁移、正交试验、因果图、等价类、边界值、边界值应用场景,判定表等都是测试用例的相关方法,也只有账务了相关的方法,才能写覆盖率高的测试...
            0 0 1029
            分享
      • 51testing软件测试圈微信