自动化测试

自动化测试介绍

什么是自动化测试

自动化测试是软件测试中,用于提升测试效率的一种手段。

  • 通过手工测试完成的测试行为,统一称之为手工测试,也就是点点点。
  • 将一部分手工测试的内容转换为机器可以识别的形态,然后交由机器来自动完成,这就是自动化测试。
    • 自动化功能测试:俗称自动化。将系统的固定业务流程,常态化的测试行为转变为机器可以识别的形态,交由机器来执行。主要是用于提升测试效率。
    • 自动化性能测试:俗称性能测试。对系统的效率进行的测试手段(非功能),其目的是为了校验系统的效率是否满足预期。

目前的软件测试行业,或者说整个IT行业。其实都基本处于停滞状态。因为早期市场中的大批量软件需求到现在已经逐步的饱和了。现在更多的公司是处于软件的维护和升级的阶段。也就意味着大量的软件老版本本身是处于相对稳定的状态。为此来投入的人力和精力,更多还是在新的内容的开拓上。所以现在很多企业会关注到自动化测试技术。可以花最少的钱做最多的事情。

自动化功能测试就成为了市场的行业主流。

自动化测试,不是用来找BUG的。而是用来提升测试效率的。让你可以有更多的时间和精力来关注到新的内容,以及找到更多的bug。

不是所有的测试行为都可以转变为自动化测试,也不是所有测试都需要转变为自动化测试。我们一般优先考虑的都是系统的正向核心业务流程的自动化实现。

自动化测试分层

自动化技术其实就是UI自动化和接口自动化两种。科学分层而言,其实是三个层级:

  • Unit层:单元测试层。其实就是单元测试。也就是所谓的白盒测试。在国内市场,测试人员不需要介入白盒测试领域。一般都是由开发人员自行完成。比如交叉审核,code review等。基本上不会交由测试人员来完成单元测试相关的内容。属于三层中的顶层,之所以是顶层,是因为它属于整体测试过程中颗粒度最细的测试行为。
  • Service层:从测试角度而言,其实就是接口测试。一般都是由开发和测试一起来完成的。接口测试也是自动化测试领域下最核心的一个层级。是属于每一个测试人员应该要掌握的必备能力。
  • UI层:作为最底层的分层级别。整体是基于系统的页面实现的自动化测试。在执行测试的过程中是属于颗粒度最大的一个层级。UI自动化是最接近用户实际使用的操作行为的一种测试技术。

自动化测试介入

  • 需要从0-1实现自动化测试的公司:
    • 自动化测试在公司成功推行的标志,是整个公司内部所有需要使用自动化测试的人员都能够正常应用。
      • 离不开团队的需求。
      • 离不开公司的需求。
      • 离不开公司发展的需求。
    • 自动化测试的结构定义
    • 基于项目来提取自动化测试的内容
    • 实现框架,进行自动化测试用例的编写。
    • 培训。让相关人员都使用起来。
    • 跟进框架的优化与维护。
    • 持续的推广和跟进。
    • 一定要记住,如果想要在公司内部搭建一套完整的自动化测试体系,一定要找一个靠山。
  • 已有自动化,需要你来维护和管理的公司
    • 熟悉现有的自动化测试技术内容
    • 基于现状,结合自己的能力来思考如何优化其中的内容,让实际情况可以变得更加轻松和简单。

自动化测试在什么情况下开始介入(执行):

  1. 不是所有的项目都适合自动化测试的执行
    1. UI自动化测试开展,一般用于冒烟测试和功能稳定后的回归测试阶段下的业务流程来执行。
    2. 接口自动化开展,只需要后端接口逻辑全部实现,即可开始接口自动化
  2. 不是每一个功能或者每一个流程都需要自动化。自动化测试在实现的时候一定是优先考虑系统的核心业务的正向流程。

一定记住,一次性的项目不需要从零开始投入自动化测试。

自动化测试技术本身,在实际应用的时候是存在有很多限制的。这个技术不该被神话。它本质上就是一种提升测试效率的手段。企业看中自动化的核心点就在于效率的提升上。

posted @ 2024-07-10 08:03  DreamDZhu  阅读(7)  评论(0编辑  收藏  举报