00:01
各位同学大家好,这一个章节呢,是我们外部自动化测试的第一个章节,那在第一个章节呢,我们不会涉及到具体技术的一个讲节,我更多的希望大家在第一个章节能够收获到外部自动化测试是什么?外部自动为什么我们要做外部自动化测试,以及外部自动化测试应该在什么时候启动,还有最后就是外部自动化测试应该如何去学习好,那这个呢,是我们本节课的一个课程目标啊,首先我们先来看一下啊,外部自动化测试它的一个价值体现在哪一些方面,也就是说我们呃,为什么要做外部自动化测试。呃,首先我们先来看一下啊,这个是一个功能测试的这样的一个场景,那在功能测试的过程当中呢,是由我们的测试工程师对我们的被测系统的页面做一些点击啊或者输入啊等等类型的一个操作,那这时候呢,系统的运行啊,会产生一定的这个响应,然后我们的测试工程师呢,要拿到这个系统运行的这个响应,那也就是他的一个实际结果和我们测试用例当中编写的一个预习结果去做一个对比,那这个呢,是我们功能测试的一个场景对吧?那接下来这个相信大家都很熟悉啊,那接下来我们来看一下us动画测试它是什么样的一个场景啊,那这时候我们来看一下usi自动化测试场景呢,是我们的测试工程师,哎,通过这个编程语言去编写我们自动化测试的一个脚本,然后这个编程语言呢,会调用我们的sliium去执行我们自动化测试的一个脚本,然后这个sliium或者w price等等自动化测试的一个工具啊,它会在我们的被测系统上面啊,其实它就是做1。
01:39
一些模拟点击啊,或者输入啊等等类型的操作,然后并会获取。自动化运行的一个响应结果,那我们的编程语言拿到这个系统对应的响应结果之后呢,会与我们提前设定好的预习结果去做一个对比,那如果对比一致的话呢,就证明我们的自动化测试用例通过了,那如果对比失败的话呢,代表的是我们自动化测试的用例也就失败了,对吧?那这个呢,是我们UI自动化测试的这样的一个场景。
02:10
可能这时候有同学会说,哎,老师,那这两个场景到底有什么异同吗?我们回到我们功能测试场景,我们把这张图截取下来好,然后这时候我们再回到我们us自动化测试的一个场景,然后我们来对比一下这两张图啊,我们就会发现啊,首先我们先来看动作,呃,角色呢,是发生了一些变化,添加编程语言和steing这两个角色,那动作是什么呀?动作是以前是测试工程师在系统页面对呃做点击输入啊等等类型操作,那现在换成谁呀?现在换成了我们的编程语言在做这个事情,然后以前是测试工程师拿到实际结果和预期结果去做对比,那现在呢,也换成了编程语言去做这件事情,所以说呢,大家可以看到中间所有的操作,我们来总结一下啊,UI自动化和功能自动化,呃,和这个和这个功能测试它的一个过程啊,其实都是一模一样的,都是在对系统页面做点击输入等操作,并且。
03:10
拿到实际结果和预期结果去做对比,对吧?那这一部分呢,是它们一样的地方,那我们来看他们不一样的地方是什么?以前是由测试工,是由测试工程师直接去对系统发起操作,那现在呢,换成了编程语言,所以说其实UI自动化测试和功能自动化测试从本质上来说他们是一样的,只是说操作的角色从测试工程师换成了编程语言和sliing OK, 那这个呢,就是UI自动化测试它的一个场景,以及它和功能测试的一个对比,那这时候可能有同学会问了,说老师,哎,那什么时候我们可以去做这个UI自动化测试呢?那在这儿呢,我给大家贴了一张图啊,左边这张图非常经典。我们先来看这两个坐标啊,左边这个坐标呢,左左边这个纵坐标呢,代表的是从下往上执行效率越来越低,然后右边这个坐标代表的是从下往上成本越来越高,OK, 那这时候我们就会发现一个问题啊,就是UI自动化测试,它是不是执行效率又低,然后成本又高呀,OK, 那这时候可能有同学说了,说哎,老师,那我们是不是可以不用去做us动画测试了,既然它效率又低,成本又高,对吧?那在这儿我给大家说的是,那这一部分呢,是UI和我们,呃,这个接口测试,还有单元测试一个对比,那其实只是说对比他们两个,它是效率又低,成本又高,但是对比人工啊,对比人力,那肯定还是要一这个自动化测试,它的一个执行效率和成本要更加的低的啊,所以说呢,呃,但是呢,所以说这个就会导致一个问题,就是我们一定要呃慎重的去选择呃,哪一些用例适合去做UI。
04:57
自动化测试哪一些用例不要去做UI自动化测试?在这个图里面透露给我们的讯息是不是说不要去做UI自动化测试,而是去有选择的去做UI自动化测试,我们一定要明白这个场景,那这时候我们抛出来一个问题,抛出来一个观点,叫做有选择的去做UI自动化测试,那什么叫做选择,那我们哪一些部分可以选择去做UI自动化测试呢?那我在这儿给大家列举了四种场景,基本上也是所有的大厂,呃所呃对于这个哪些用例适合去做UI自动化测试的一个呃,共识吧。那第一条呢,就是业务的流程不要频繁的改动,如果说你业务的流程,哎,今天和明天都不一样,这个上个迭代和这个迭代都不一样,那这部分不要去做UI自动化测试,因为你脚本刚写好,呃,那下个版本就用不上了,那第二个呢,就是UI的元素不要频繁的变动,比如说你们的前端,哎,老师这个动不动就改。
05:57
这个元素的一个布局,那这种情况也不适合去做UI自动化测试,那第三种呢,就是需要频繁回归的一些场景,举个例子啊,呃,其实这个频繁回归的场景啊,也就是通常也指的是我们的一个核心场景。
06:12
呃,比如说举个例子,比如说登录注册,那登录注册这种功能呢,通常开发出来啊,一万年都不会变,但是这部分功能又永远的存在,那这部分功能呢,就叫做频繁回归的场景,我们每个版本可能都得需要去进行测试,那这部分呢,它又不会,呃,又要频繁回归,但是又不怎么变动的场景呢,我们这种登录注册,我们就很适合去做这个UI自动化测试,那还有第4种呢,叫做这个核心场景,比如说我们的一个产品呢,是一个商城这样的一个产品,那对于我们这个商城产品来说,用户的从下单到支付这个过程是不是就是我们的核心场景呀,那这种核心场景啊,是和你的业务息息相关的,那如果说你是抖音,呃,如果说你是这个我们的贝赛产品是抖音或者B站这样的一个视频,那它的一个这个,比如说我们看视频,切换视频,就是我们的一个核心场景,那针对于这些核心场景啊,我们全部都应该去对它做一些自动化测试,那一些非核心。
07:12
你就比如说一些不重要的功能,或者说这个用力级别比较低的一个功能啊,我们就可以选择性的去做us号测试,OK, 那这一部分呢,就是叫做什么时候可以做UI自动化测试。那这个,那usi自动化测试我们了解完之后成之后呢,我们在我们的接下来这一个大章节,我们主要学习的是外部自动化测试,那we部自动化测试它有哪一些相关技术呢?呃,在我们本次的学习的过程当中呢,主要涉及到的是这个sliium,然后如果是单元测试,呃并并且会结合我们的一个单元测试框架,就是我们的拍S或者我们的JA unitnet5,然后呃,使用这个单元测试框架呢,可以协助我们更好的去做自动化测试,比如说一些呃参数化的一些场景啊,或者说一些呃呃或者说一些这个断言的场景啊,使用相关的框架就会方便很多。然后还有第三个呢,就是相关的一个测试报告这呃,像这个测试框架,还有测试报告在我们前面都已经学习过了啊。
08:12
那这个就是我们这一个大章节,主要所需所使用到的相关的一些技术,好,那接下来我们再来看啊,呃,那可能很多同学说,诶老师这个听说外部自动化测试,或者说UI自动化测试在企业当中其实是呃这个呃很多企业都不会去做的一个事情,那在这儿可以给大家说的是啊,那如在这个人力或者说条件允许的情况下啊,UI自动化测试它当然不算优先级最高的,优先级最高的一定是接口,呃,还有单元,但是呢,UI自动化测试它也是非常重要的,因为UI自动化测试它涉及到了很多的这个用户体验相关的一些问题啊,比如说你是一个C端产品,你非常的看重用户体验,那这时候你就非常的有必要去做这样的一个UI自动化测试,那接下来给大家看几个这个UI自动化测试在企业当中的一个实践吧,其实呃,这个有赞啊,美团啊,在这儿包括阿里啊,百度啊,呃,就反正。
09:12
只要是大公司,或者说稍微有一点点规模的公司啊,基本都会去做UI自动化测试的,那我在这儿给大家举了一个例子,就是有赞的一个例子,大家可以点开PPT自己去看啊,在这就可以看到有赞它是怎么样去做UI自动化测试的,他们的一个测试方案是什么?OK, 那大家简单了解一下就OK了,那我们前面了解完这个什么叫做us自动化测试,呃,然后什么时候去做us自动化测试,那我们在本次大章节学习web自动化测试的时候又会用到哪一些知识,那接下来我们就来看一下在web自动化测试这一块,我们应该如何去学习,其实有一个清晰的学习路线啊,能够提高大家的一个学习效率,然后也让大家的这个呃学习的成果,呃也是要比一个没有学习路线一个情况下要学的更好,那我们。
10:02
希望给大家介绍这个学习路线,让大家呃知道该怎么样去学习,哪一些是重要的,哪一些是,呃,哪一些是相对来说没那么重要的,然后哪一些是必须要学的,哪一些是需要先学的,哪一些是可以后学的,我们在这个学习路线讲解当中,一定会给大家讲清楚的啊,那整个学习路线呢,它有三个核心思想啊,第一个核心思想是由浅入深,就是我们在一开始的是,尤其是小白的同学啊,我们在一开始的时候呢,一定要把自己的这个基础打扎实了,所以说我们会从简单的这个内容开始给大家讲解起来,然后呢,呃,第二个第二个,呃第二个第二个要注意的点呢,就是我们要学会掌握什么是核心,什么是重点,那等一下也会给大家说啊,究竟什么是核心,什么是重点,然后第三个部分呢,就是理论要结合实践啊,我们的录播课程呢。我们的录播课程呢,是这样的一个模式,然后呃,前面呢,会给大家介绍,比如说steam的一些基础API使用,那等大家呃掌握了steam的技术API使用之后呢,我们会结合一次的这个实战的这样的一个练习,然后让大家去,呃然后让大家去进行学习,然后首先我们先来看啊,我们看右边这个思维导图,我们把这个学习的这个路线呢,分为了5个层级,然后大家只是呃重点关注初级,中级和高级啊,然后除呃除了初级中级和高级之外呢,还有这个自身和拓展,还有常见的一些面试题,呃,针对于这两个模块啊,为什么把这两个模块弱化,前面的强化呢?这个原因就是因为大家可能看到哎呀面试题,那我先去看面试题,不要这样,不要这样,一定要先去把你前面该学的知识点学好了,把基础夯实了,你这时候再去看面试题,你才能够更好的去理解啊,如果说你前面学不好,你后面去看面试题的时候,你一定是理解不了的,嗯。
11:54
好,那包括自身和拓展也是一样啊,一定要把前面的这些内容学扎实了,学好了再去学一些资深和拓展的一些内容,好,那在初级里面呢,对于大家一个学习目标,就是我们要学会sliium常见方法的基本使用,然后在这一块儿实战呢,会给大家带来这个基本的一个外部自动化测试用例的一个编写,一个外部测测试用例,它应该是什么样的一个用例结构,它应该有哪些要素,对吧?那学完初级还不够啊,学完初级还不够,只是说你在学完初级之后呢,诶,你基本对ste name有了一个基础的了解了,那接下来中级呢,就是一些we部自动化测试的技巧的一些进阶的使用,那在这一块呢,我们会教给大家,比如说你的这个用例,呃,在执行过程当中,如何截图,如何加入日志,如何打印报告?
12:43
然后包括会教大家一些高级定位知识,高级定位知识在UI自动化非常有用,强调一遍非常有用啊,包括显示等待,影视等待,然后都会在这个终级部分给大家去进行讲解,那在高级的部分呢,我们更专注的就是我们设计模式的一个部分,呃,怎么样去编写这个合理的一个外部自动化测试的一个代码,让它更有可读性,让它的可维护性更高,可读性更高,那就在我们的高级部分去教给大家,首先在高级会教大家呃,这个配呃配置object的设计模式的一些基本概念,然后它的一些基本原则,那在基于这个配置object设计模式之上呢,我们会给大家带来一次这个基于page object的一个测试用例编写的一个实战,好,那这一部分呢,就是呃,简单的给大家说一下我们的学习路线,那在后面呢,有每一个章节,具体的我们要学习的一个内容,那我在这儿给大家标出来了,哪一些是必修,哪一些是呃这个资深和拓展,对吧,那我们呃还是简单的说。
13:44
一下吧,那在初级阶段呢,还是一句话啊,大家可以看到所学习一个内容,整体来说难度不会特别大啊,在这一块儿更希望大家是掌握sliium的一些基本使用,然后并且能够完成一次实战练习,然后在冲级呢,我们就需要呃学一些呃更进阶一些知识了,比如说一些高级定位啊,呃,然后比如说1,然后比如说一些这个一异常情况的就是自动化测试,UI自动化测试,外部自动化测试过程当中,呃常见的一些情况处理,比如说frame切换,窗口的切换啊,文件上传,一些弹框啊啊,包括一些自动化呃,关键数据记录,然后帮我们去分析问题。
14:27
然后也会给大家带来一次实战,然后并且还有对应的这个直播的训练营啊,然后在高级的部分呢,呃,前面给大家说了,最主要的就是我们的一个po,然后以及这个关于截图的一些封装,好然后也会给大家带来实战啊,每一个级别我们都会给大家带来一次实战,然后这个实战,呃,这个录播啊,这个整体来说时长不会特别长,大家每一周都要把握好时间仔细去看,然后在最后呢,就是这个资深和拓展是属于大家选修的部分啊,大家如果想学的话,这个基础打的比较好的话,可以这个去了解一下,然后这个是相关的面试题,那这个面试题呢,是持续更新的一个状态,目前已经呃录制的是这样的一些内容,好,那这个这个呃,第一个章节啊,就不给大家讲那么多了,就不做那么多的一个废话了,那最重最最重要的是啊,我们一定要按照老师给大家提供的这样的一个学习路线去进行学习。
我来说两句