博客
关于我
自动化测试——UI自动化测试的痛点
阅读量:657 次
发布时间:2019-03-15

本文共 1065 字,大约阅读时间需要 3 分钟。

随着技术发展,招聘信息中对自动化测试经验的要求越来越高,这让人不得不思考:我们是否真的需要体面地说自己是做软件测试的?

入门的自动化测试路径

大多数测试人员都是从使用自动化测试工具、录制回放、测试脚本、开发小工具入手,逐步接触UI自动化、接口自动化、持续集成,最后搭建自动化测试框架系统。初学者接触的自动化测试绝大多就是UI自动化了,熟悉过移动端的Uiautomator、Appium UI自动化框架、PC互联网界面相关的Selenium、Robot Framework UI自动化框架等框架。

UI自动化的真实挑战

  • 需求不稳定,频繁变更
  • UI自动化测试面临的最大挑战就是需求的变化。频繁变动的界面意味着脚本需要不断地重新编写。在这种情况下,UI自动化测试的投入产出比可能不被项目的时间和预算所承受。

    1. 开发维护周期短的项目
    2. 对于周期短的项目,UI自动化的收益往往在多轮测试中才能体现。对于测试轮次较少的项目,完全可以使用手工测试来替代自动化测试。虽然自动化脚本的开发和调试需要时间,但在项目周期不允许的情况下,这类测试往往不值得。

      1. 系统开发不规范,可测试性需求不明确
      2. UI自动化测试依赖于对控件的精准识别和操作。如果项目开发过程中没有对自动化测试进行充分的准备,例如未定义控件的唯一标识符、文本描述等,自动化脚本就会面临很大的维护成本。不同版本间随意变更控件定义,这样的做法会导致之前的脚本无法正确运行。

        ###UI自动化测试适合的项目类型

        然而,存在以下几类项目非常适合进行UI自动化测试:

      3. 需求稳定,不频繁变更的项目

      4. 需要频繁回归验证的项目

      5. UI界面稳定、控件定义规范、可测试性强的项目

      6. 开发维护周期长的项目

      7. 项目进度压力小的企业或团队

      8. 大型公司大平台的项目

      9. 测试团队中大部分成员具备一定的脚本开发能力的项目

      10. ###UI自动化测试的反思

        UI自动化测试非常适合解决简单、机械、重复的任务,增加测试效率。但我们绝不能将其异化为替代手工测试的工具。自动化测试需要设计 Consideration,不只是编写脚本,还需要关注成百上千条用例的执行效率、维护成本以及结果的正确性。

        在项目中,我们需要权衡自动化测试的成本和价值,不能盲目追求UI自动化测试的推广和应用。

        ###最后的话

        每个项目都有其独特的要求和挑战,只有根据实际情况做出合理选择,才能够真正发挥UI自动化测试的优势。

        ###推荐交流群

        如果你对软件测试感兴趣可以加入我的测试交流群,QQ号为642830685,群里会定期分享测试资源和行业资讯。

        愿你我相遇,皆有所获!

    转载地址:http://lkuqz.baihongyu.com/

    你可能感兴趣的文章
    block多队列分析 - 2. block多队列的初始化
    查看>>
    Java时间
    查看>>
    不编译只打包system或者vendor image命令
    查看>>
    【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
    查看>>
    flink启动(二)
    查看>>
    pair的用法
    查看>>
    Flex 布局的自适应子项内容过长导致其被撑大问题
    查看>>
    PL/SQL 动态Sql拼接where条件
    查看>>
    Error:Cannot read packageName from AndroidManifest.xml
    查看>>
    【自学Flutter】4.1 Material Design字体图标的使用(icon)
    查看>>
    【换行符】什么时候用cin.get()吃掉输入流中的换行符
    查看>>
    广东外语外贸大学第三届网络安全大赛Writeup
    查看>>
    SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
    查看>>
    Thymeleaf sec:authorize 标签不生效
    查看>>
    微信JS-SDK DEMO页面和示例代码
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>
    Flask--简介
    查看>>
    Frame--Api框架
    查看>>
    Boostrap技能点整理之【网格系统】
    查看>>
    javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
    查看>>