00:00
嗯,大家好,嗯,接下来给大家介绍一下open cloud OS软件测试项目,嗯,这个项目主要就是对一些重要的软件包进行测试用例的开发,然后大家在这个链接里面可以看到一共有70多个软件包,这些软件包已经进行过初始化了,大家只需要在它的一些特定的目录下面创建测试用例,然后写测试用例就可以。嗯,首先给大家介绍一下这个测试套和用地开发。这个就是一个测试套的样例,主要包含了这几个结构,然后比如说像这个CMD目录下是一些测试套的公共命令,然后这个就是测试的子模块,然后还有一些公共的库。这个是测试套的公共库文件,下面介绍了新建测试项目的一些方法。
01:06
然后在最下面是开发测试用例的方法。在这里都有介绍。然后回到这里,嗯,大家在嗯开发测试用例的时候,第一步就是要仓库,然后在这个仓库里面的。右上角有一个fok,大家fo完了之后,点一下fo fo首先你要登录这个的账号,然后fo到自己的库,就会是这个样子,这个是我之前放过的,在这里就会有这个目录,然后你点进来之后。大家自己的这个仓库就可以了,嗯,在你的服务器上get,然后大家要注意的一点是。是什么呢?嗯,大家在呃可用仓库的时候,因为我们的这个测试套有一些公共的函数是写在子模块里面的,所以大家在可用的时候一定要加上这个子模块的参数,Get可用子模块的参数,然后后面再加上你仓库的地址就可以了,然后嗯,给大家介绍一下测试套的用法。
02:20
嗯,测试套的用法就是主要就是这个t shirt这个工具,这个工具你执行的话,执行一个T或者执行t help就会写写一些,列出一些它的用法,首先最重要的一个就是创如何创建测试用例,就执行T,然后new case就相当于新建一个测试例,我们这边支持三种测试用例的类型,分别是shell脚本,C以及Python脚本。脚本是呃用的最多的,也也是推荐大家使用的,然后后面跟一个测试用例的名称就可以,然后这个是list,就是列出列出所有的试用例,嗯,这个是comp,如果你有呃点C需要编译的话,就是执行这个,然后这是setup run的话就是会运行所有的测试用例,然后下面还有tea down clean和clean on。
03:23
嗯,大家创建,嗯,大家可弄了之后,我我以一个测试测试用例的例子来,呃,为大家实践一个如何对一个软件包进行测试用例的开发。嗯,因为这个仓库比较大,所以我就不给大家演示了,大家就是要做的就是get。
04:10
Models后面跟的就是你放完的你自己仓库的地址就可以了。然后嗯,我可过,我就直接进到这个目录下面,然后。然后就可以看到这个仓库里面一共有这70多个软件包的这个测试用例,每一个测试用例已经初始化好了。嗯,那么我以一个比较简单的软件包,比如说以这个为例。嗯。进到这个。这个软件包的目录下,它一共包含有这些内容,然后大家可以看到这个T的这个工具,我们执行一下。T的这个工具,我们就可以看到刚刚嗯,在文档里看到的那些内容啊,在这里我们直接创建一个。
05:06
测试用例。比如说创建一个shell脚本类型的,你在这就写SH,然后后面直接跟测试用例的名称。我随便取一个名称叫fell test,注意这里面创建的时候不用不用写后缀,不写后缀,因为我创建好之后,它会自动加上后缀,这样就可以了,你。啊,这里写错了。然后它就会在这个test case的目录下给你创建一个fell刚test的用例,我们进来看一下,哎,在这里就已经有了一个测试用例,然后我们为了对这个file软件包进行测试,我们其实主要就是检测这个它的一些命令,我们可以简单的看一下执行刚刚还和count有哪些命令。
06:01
比如说这个。杠V就是,然后杠M,杠Z,杠B,杠B就是简要的列出这个文件的,嗯。对某个文件的类型,然后还有一些其他的参数。然后我们来看一下测试用例的。脚本是什么样,这个就是。创建好的测试用例初始的样子,它包含一些字段,这个用例ID是自动生成的,然后用例名称就是刚刚我们写的名称,然后用力级别,用力标签和用力类型,大家这些都可以暂时先不用管。然后测试用例,下面主要包含三部分,第一部分就是setup,这个也就是预置条件。嗯,比如说我们要对这个软件包进行测试的话,那么它的预值条件就是首先你要安装了这个软件包,这就是预值条件,然后do test相当于一个main函数,你在这里面写对这个软件包测试的一些命令。
07:09
然后这个地方是down,就是清理的工作,嗯,比如说你在do test里面,嗯,需要创建一些文件。那么你就需要在T里面把你创建这些文件删除,因为我们要保证你这个测试用例在执行前和执行后的环境是一模一样的,包括所有的服务也是,呃,状态也是一模一样的。你在这里创建了一些文件,在这里就需要删除,你在这里对一些嗯服务进行了开启,那么你在这里就要关闭,你在这里对一些服务进行了关闭,那么你在T2档里面就要需要对它重新开启,大家这个要注意一下。嗯,然后嗯,写一个测试用例。比如说嗯,它,那么它的预知条件就是系统正常。
08:06
运行。铁。已安装。且已安装软件包。嗯,如果有一个预置条件,就写一行就可以,如果有多个预置条件,就写多行,然后如果对,然后多余的可以删去。然后在这里就写。呃,这个三处是一个断言函数,这个断言函数就决定了你这个测试用例是否通过,这个断言函数后面可以直接跟一条命令。比如说这个已安装软件包的话,我在这里就写。哎,就是让这个系统来安装软件包,如果已经安装了这条命令也会执行成功,如果没有安装,你正常安装就执行成功,你安装失败这个地方就执行失败了。
09:08
然后下面还有一些测试用例,有一些字段就是测试步骤和预期结果,这些测试步骤和预期结果不能为空,有一个测试步骤最好就要对应一个预期结果,嗯,比如说嗯,我想对一个。嗯,文件进行操作的话,想执行这个file命令,嗯,我比如说我在这里随便创建一个文件。创建文件。然后。定执行。杠B,刚刚我说杠B就是简要的,嗯,判断一下这些文件的类型。ADC。
10:00
那么有一个测试步骤就对应一个预期结果。这个预期结果就是。嗯。命令执行就是,呃,成功。获取到。A点。就是。杠B的结果。然后我在这里就写有一定要有断言函数,因为它是决定你用力是否通过的,嗯,我创建一个用力。创建一个。文件。然后我。这个文件的内容不能为空,要不然它显示的就是空,我随便写一些内容写到里面。
11:13
然后在这个前面也可以加一个函数,我在这里就不加了。然后。对它执行杠一点。这样,其实一个简单的测试用例就写好了。然后多余的内容我们可以删掉。然后大家要注意的是什么呢?这个断言函数的后面不可以跟管道符号,就是这个符号,因为我们经常用到grape的时候就会有这个管道符号,如果遇到这种情况的话,我们怎么判断用力是否通过呢?就用下面这种方法,如果用到了管道的话。
12:03
你在上面正常写一行命令,然后在下面这里这样写。嗯,这句命令的意思就是你上一行命令的返返回值是否等于零,因为你如果上一行的命令执行成功的话,那么它的返回值就一定是零,那么它就会判断正确,诶,大家要记得这个处,这个断元函数不支持管道的命令。然后如果有管道的命令,你就正常写一行,然后在下面写上处,然后判断它的返回值是否等于零。然后因为我们现在没有用到,把这个删了。没有。对,然后我们在这里不是创建了一个a.TXT吗?我们想获取a.TXT的这个杠B的结果,嗯,你创建了一个文件,你就需要在tear down里面把这个文件给删除。
13:05
哎,这样一个完整的测试用例就写好了,比较简单,然后我们执行一下。这样执行就可以。他首先进入到setup,判断这个包有没有安装,哎,现在是安装过了,然后。哎,有一个命令没有找到。看一下。30行。啊,写写错了。He。我们重新再执行一下。嗯,然后他在这里就会执行那个a.TXT的类型,是一个ask text类型,然后最后会执行T,然后把你的创建的a.TST给删除,然后我们LS以下。
14:02
看没有创建的那个文件,这样一个简单的测试用例就写好了,嗯,写好了之后,嗯,我们要对这个文件提交。然后啊。再给大家说一些命令,嗯,因为如果你这个文件一个软件包的测试用力非常多的话,我们这种时候怎么办呢?就有一个命令,刚才文档里有讲。List是列出所有所有的测试用例,你可以看到个数以及每一个名名字,然后点杠T的run,因为你如果有几十个或者上百个用力,你一个一个执行的话,很耗费时间,然后你你一个点杠t run这一个命令就可以对所有的测试用例都执行一遍,然后并且每一个测试用例都会给你一个结果,然后在这里也有结果的统计,这两个命令还是比较方便的。
15:02
好,嗯,我们刚刚写好的一个测试用例,执行一下status,大家可以多了解一下get的命令,以后工作了从从事开发方面的话会经常用到,嗯,大家看到,哎,这里新增了一个测试用例,对它进行了修改,然后我们给他。然后提交。提交,这里就写上哪些操作。新增。我写的简单一点。然后你给他。就给他到了你自己的那个仓库里面。然后你在这儿,嗯,点进来看一下。刚刚是file新增的,哎,它就就有了新增的file测试用例,你这个软件包的测试用例写好之后,点一下这个加。
16:02
Request就是创建一个PR。创建一个PR给他,嗯,要写一个标题。京东漫游。用力。然后嗯,创建PL就可以了,然后你的这个测试用例就会向这个open cloud OS的这个package testing提交,然后我们就能收到你的这个PR,收到之后我们会对你的这个PR进行,呃,如果你这个用力写的正确的话,我们就合并,合并的话,嗯,这个测重力就成功了。然后这是一个完整的步骤,嗯,然后嗯,在这个。Open cloud OS这个package package testing下面有一个。对,刚刚说过这个vki里面就有一些详细的说,大家可以看一下。
17:04
嗯,然后这里是一宿,就是所有软件包的这个一宿都写在这里面啊,这是有人已经认领了。嗯,大家认领的话,就点进一秀里面,然后在里面写个评论啊,领取任务就可以了,嗯,如果大家在操作的过程当中遇到了什么问题,或者有一些建议的话,都可以写在这个衣袖里面,我们看到了就会。为你们进行解答。然后这是一,嗯,然后别的应该就。没有什么太多介绍的了,主要的一些在这个read me里面都有说明,Read me,然后以及这个微信里面都有,嗯,大家有什么问题的话,写在英雄里面,我们就能随时为你们解答。嗯。这个今天的分享就这些内容。然后大家做这个用力开发工作的话,也是能够提高大家的一些能力,能够多了解一些,嗯,操作系统相关的一些知识,以及软件包的一些知识。
18:09
嗯,然后也辛苦大家做这个开发的工作。好,那今天的分享就到这里,谢谢大家。拜拜。
我来说两句