软件测试 52 讲
茹炳晟
腾讯 TEG 基础架构部 T4 级专家
70473 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
结束语 (1讲)
软件测试 52 讲
15
15
1.0x
00:00/00:00
登录|注册

05 | 你知道软件开发各阶段都有哪些自动化测试技术吗?

在前面的文章中,我介绍了为什么要做自动化测试,以及什么样的项目适合做自动化测试,那么现在我来说说软件开发生命周期的各个阶段都有哪些类型的自动化测试技术。
说到自动化测试,你可能最为熟悉的就是 GUI 自动化测试了。比如,早年的 C/S 架构,通常就是用自动化测试脚本打开被测应用,然后在界面上以自动化的方式执行一系列的操作;再比如,现今的 Web 站点测试,也是用自动化测试脚本打开浏览器,然后输入要访问的网址,之后用自动化脚本识别定位页面元素,并进行相应的操作。
因此,说到自动化测试时,你的第一反应很可能就是 GUI 自动化测试。然而,在软件研发生命周期的各个阶段都有自动化测试技术的存在,并且对提升测试效率有着至关重要的作用。
今天这篇文章,我将会以不同的软件开发阶段涉及的自动化测试技术为主线,带你了解单元测试、代码级集成测试、Web Service 测试和 GUI 测试阶段的自动化技术,希望可以帮助你更深入地理解“自动化测试”的内涵以及外延。

单元测试的自动化技术

首先,你可能认为单元测试本身就是自动化的,因为它根据软件详细设计采用等价类划分和边界值分析方法设计测试用例,在测试代码实现后再以自动化的方式统一执行。
这个观点非常正确,但这仅仅是一部分,并没有完整地描述单元测试“自动化”的内涵。从广义上讲,单元测试阶段的“自动化”内涵不仅仅指测试用例执行的自动化,还应该包含以下五个方面:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件测试 52 讲》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(73)

  • 最新
  • 精选
  • 康美之心 淇水之情
    Rest-assured是一个非常适合,非常好用的API开源测试框架,我已经在我们项目里基于Spring-boot,Rest-Assured,Ccucumber开发了一个标准通用的微服务API自动化测试框架,我们项目里的所有微服务API都可以基于框架快速高效的在各个测试环境无缝切换进行自动化测试,并且完全集成到了公司的CICD Jenkins平台,以前从开发到单元测试,FVT测试,UAT测试,回归测试到MTP需要3天左右时间的Size的Story,现在相同工作量Size的Story只需不到一天时间就可以全部完成,期间除了产品代码开发和少部分特殊数据的准备,部分新增用例的开发外,全部都是在Jenkins上自动完成。

    作者回复: 厉害,非常棒的实践,我们也在做类似的事情,但是我们暂时没用cucumber。高手👍

    7
    112
  • fekgih
    Postman也可以集成到cicd,通过Postman+newman+jenkins。在实际项目中使用过,非常方便。平常积累的测试数据,在Postman导出一个json文件,在另一个服务器部署newman(命令行纸执行Postman导出的json文件),然后直接在服务器是用newman工具一行命令就能执行测试并生成测试报告,这样很方便集成的cicd里。

    作者回复: 非常棒的分享,我们以前也用过和你说的完全一样的方案,但是最终鉴于用例需要更多的灵活性,比如数据准备,更方便通用的assert等,所以我们最终还是选择了全代码的实现。👍

    45
  • 西海
    老师,可以谈谈Katalon Studio这个软件吗?国内使用的人很少,不知道国外使用的人多吗?

    作者回复: Katalon Studio的确是个好东西,它结合了selenium和appium,而且提供了很简单易用的IDE环境,关键还支持录制和object spy,有点像uft的感觉,无论是资深的测试开发还是初级的自动化工程师,都能比较好的上手,但是这个工具比较新,目前国内的确好像没看到有人用,中文的资料非常少,再加上它天生不支持中文。但是我觉得好东西一定会发光的,我相信很快就会慢慢普及起开。另外一个就是这个版本更新现在非常快,基本每个月都会有版本发布,我个人还是看好的

    34
  • Cynthia🌸
    对于测试来说,并没有接触到代码级测试。经历过的公司,有的即使做了,也是由开发自行做单元测试或者代码评审之类。 其他的自动化技术,有做过gui和api的自动化测试。但是gui自动化测试呢,在产品更迭迅速的互联网公司,经常页面,产品逻辑有微小变化,大多数用例就要推倒重来,维护成本太高。

    作者回复: 你说的太对了,相信很多人都会有你这种感觉,后面我讲gui测试的时候,会重点来看怎么缓解你说的问题

    19
  • Geek_84a77e
    文章中提到了很多自动化生成,不管是单元测试还是GUI测试,都涉及了自动化生成,这个是代码实现的自动化工具么?后期会和我们分享吗?

    作者回复: 这个并不是一个现成的工具,而是方法,很多项目都会自己开发这种工具,比如前段时间我就在做把postman的测试用例,就是json文件转换成代码

    8
  • 红娟
    回答问题,我所在的部门没有代码级别的测试,但是也是在努力过程中,现在是统一的环境编译,有静态代码扫描,推广自动化测试。对员工也是各种培训,有代码风格培训,有如何编写单元测试代码。 关于自动化测试,还是要回到目的上来,自动化测试是为了提高测试效率,节约成本。解放重复劳动。所以在工作的任意阶段,只要符合这些要求,都可以用自动化来做。

    作者回复: 你说得非常对,一切都是经济利益导向的

    7
  • 阿甘
    目前公司用的是jmeter接口自动化初级阶段,想要更进阶的,跟着进步学习中

    作者回复: 嗯嗯,我们也用jmeter

    2
    6
  • 一笑而泯
    自动生成response期望的想法不谋而合,我们也在做这方面的尝试,期待后面的课程详细介绍。

    作者回复: 现在已经有工具直接支持了,不过好像不是开源的

    5
  • family
    很期待后续的具体讲解自动化

    作者回复: 后面最先会讲的是GUI自动化

    5
  • Sdylan
    系统测试这一块,对着代码的某个接口测试,实际测试过程中仅仅是根据开发编写的逻辑来验证是否流程ok,结果是否符合预期就可以了,实际很难全面去测试,因为成本很大,而且每次测试模块都会变,接口的业务功能复杂在一次测试过程中很难了解全面,很想了解下系统测试这一块该如何形成一个比较全面的测试框架呢?

    作者回复: 往往接口测试是在单元测试完成后,当然有些也有不做单元测试而直接做接口测试的,理论上讲,接口测试关心的问题是接口的功能需求,而不用过多关注接口内部的覆盖率,但有时候也会具体代码覆盖率来指导用例设计。两者的边界不是太严格,所以我们往往往往会把这种测试称为灰盒测试,介于白盒和黑盒之间

    4
收起评论
显示
设置
留言
73
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部