CN111737109A - 一种集群文件***测试方法及装置 - Google Patents
一种集群文件***测试方法及装置 Download PDFInfo
- Publication number
- CN111737109A CN111737109A CN202010429487.0A CN202010429487A CN111737109A CN 111737109 A CN111737109 A CN 111737109A CN 202010429487 A CN202010429487 A CN 202010429487A CN 111737109 A CN111737109 A CN 111737109A
- Authority
- CN
- China
- Prior art keywords
- item
- test
- configuration information
- file
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 215
- 238000010998 test method Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 30
- 238000012795 verification Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书一个或多个实施例提供一种集群文件***测试方法及装置,包括:读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;根据所述全局配置信息,创建包括至少一个待测项的测试项集合;根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;对所述目标测试项进行测试,得到测试结果。本说明书能够实现对集群文件***进行测试。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种集群文件***测试方法及装置。
背景技术
集群文件***是指运行在多台计算机之上,之间通过网络、RDMA等方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件***。集群文件***能够扩展存储功能,在不同的应用场景下,集群文件***需具备兼容性和可移植性,以适应不同的***环境,满足相应的存储扩展功能。
目前,已有的文件***兼容性测试工具能够实现***内核文件***的测试,例如POSIX文件***测试工具,尚没有能够对集群文件***进行测试的方法。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种集群文件***测试方法及装置,能够对集群文件***进行测试。
基于上述目的,本说明书一个或多个实施例提供了一种集群文件***测试方法,包括:
读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;
根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;
对所述目标测试项进行测试,得到测试结果。
可选的,所述全局配置信息包括对集群文件***进行测试的初始化配置信息;所述待测项的配置信息包括待测项的***调用操作内容及操作比例。
可选的,根据所述全局配置信息,创建包括至少一个待测项的测试项集合,包括:按照所述全局配置信息,将待测项的***调用操作内容添加于空闲操作列表中。
可选的,根据所述待测项的配置信息,从所述测试项集合中选取目标测试项,包括:
根据待测项的操作比例,从所述空闲操作列表中随机选取目标测试项;
根据选取的目标测试项,创建操作组;所述操作组包括至少一个目标测试项的操作项;
将所述操作组加入测试等待队列中。
可选的,所述操作项包括操作对象、操作对象类型、操作前提、操作对象是否已存在;随机确定所述操作前提为打开或是关闭,若所述操作对象为文件或目录,当所述操作前提为打开时,则所述操作项不需要执行打开文件或打开目录的***调用操作内容,当所述操作前提为关闭时,所述操作项需要执行打开文件或打开目录的***调用内容。
可选的,在读取配置文件之后,还包括:对配置文件进行校验,若配置文件校验通过,根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
对配置文件进行校验包括:判断是否包含用于挂载集群文件***的测试目录和用于挂载校验用文件***的校验目录,若否则校验不通过;判断各待测项的各类型操作的操作比例之和是否为100%,否存在至少一种操作的操作比例之和不为100%,则校验不通过;判断各操作比例的精度是否符合所述全局配置信息中所配置的操作比例的精度,若否则校验不通过。
可选的,对配置文件进行校验,若配置文件校验通过之后,还包括:清空所述测试目录和校验目录;根据所述全局配置信息,创建包括至少一个待测项的测试项集合。
可选的,对目标测试项进行测试,得到测试结果,包括:
从所述测试等待队列中取出操作组;
确定所述操作组中的各操作项;
对所述操作项进行解析,确定操作对象所需执行的操作;
对所述操作对象执行操作,得到测试结果。
可选的,所述方法还包括:对测试结果进行校验,包括:
基于操作项的操作对象的操作,对用于校验的文件***的同一操作对象执行同样的操作,得到操作结果;
将测试结果与操作结果进行比较;
若一致则校验通过,否则将不一致的操作结果和测试结果输出至校验结果日志中。
本说明书实施例还提供一种集群文件***测试装置,包括:
读取模块,用于读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;
创建模块,用于根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
选取模块,用于根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;
测试模块,用于对所述目标测试项进行测试,得到测试结果。
从上面所述可以看出,本说明书一个或多个实施例提供的集群文件***测试方法及装置,通过读取包括全局配置信息和待测项的配置信息的配置文件,根据全局配置信息,创建包括至少一个待测项的测试项集合,根据待测项的配置信息,从测试项集合中选取目标测试项,对目标测试项进行测试,得到测试结果。本说明书能够实现对集群文件***进行测试。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的装置结构框图;
图3为本说明书一个或多个实施例的电子设备的结构框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如图1所示,本说明书一个或多个实施例提供一种集群文件***测试方法,包括:
S101:读取配置文件;配置文件包括全局配置信息和待测项的配置信息;
本实施例中,为实现集群文件***测试,创建可配置的配置文件,配置文件包括全局配置信息和集群文件***中待测项的各项配置信息。
一些实施例中,全局配置信息包括对集群文件***进行测试的初始化配置信息。待测项的配置信息包括待测项的***调用操作内容及操作比例;集群文件***的待测项包括文件、目标、软连接等其中的一种或几种。配置文件中文件的配置信息包括需要打开文件的***调用操作内容及操作比例、不需要打开文件的***调用操作内容及操作比例;配置文件中目录的配置信息包括需要打开目录的***调用操作内容及操作比例,不需要打开目录的***调用操作内容及操作比例;配置文件中软连接的配置信息包括软连接的***调用操作内容及操作比例等。
S102:根据全局配置信息,创建测试项集合;
本实施例中,根据配置文件中的全局配置信息,创建包括至少一个待测项的测试项集合,包括:按照配置文件中的全局配置信息,将待测项的***调用操作内容添加于空闲操作列表;空闲操作列表中存放待测项的类型(目录、文件和软连接)和名称、***调用操作类型、总的操作数目、文件类型、与***调用操作类型对应的具体操作行为等参数,各参数根据配置文件中的相关配置信息而设置。
S103:根据待测项的配置信息,从创建的测试项集合中选取目标测试项;
本实施例中,根据待测项的配置信息,从创建的测试项集合中选取目标测试项,包括:按照各待测项对应的操作比例,从测试项集合中随机选取目标测试项,将选取出的目标测试项加入测试等待队列中。
S104:对目标测试项进行测试,得到测试结果。
本实施例中,选取出目标测试项之后,对目标测试项进行测试,并得到测试结果。一些方式中,对目标测试项进行测试,得到测试结果,包括:当判断测试等待队列满时,对测试等待队列中的各目标测试项执行测试,测试结束得到测试结果。
本实施例中,为实现对集群文件***进行测试,先建立用于对集群文件***中各待测项进行测试的配置文件,测试时,读取配置文件,根据配置文件中的全局配置信息,创建测试项集合,然后根据待测项的配置信息从创建的测试项集合中选取目标测试项,对目标测试项进行测试,测试结束得到集群文件***中待测项的测试结果,实现了集群文件***的测试功能,为优化集群文件***提供依据。
本实施例中,在步骤S101所述读取配置文件之后,还包括:对配置文件进行校验,若配置文件校验通过,执行步骤S102所述根据配置文件,创建测试项集合。
一些实施例中,参考表1所示,配置文件具体包括测试目录(集群文件***存储池的挂载目录)、校验目录(用于校验集群文件***测试结果的文件***的挂载目录,例如内核文件***的磁盘或磁盘阵列挂载目录)、全局配置信息、文件的配置信息、目录的配置信息、软连接的配置信息等配置项。其中,全局配置信息包括文件操作比例、目录操作比例、软连接操作比例、日志级别、操作比例的精度、写入/读取的数据块大小、写入/读取的数据块最大/最小值、最大目录深度、初始化创建的目录数量、初始化创建的文件数量、初始化创建的软连接数量、待测项总数、集群文件***的挂载点、用于校验集群文件***测试结果的文件***的挂载点、日志目录(用于保存测试过程中产生的各种日志)、工作线程数、测试等待队列长度、需要打开文件的待测项数量、不需要打开文件的待测项数量、需要打开目录的待测项数量、不需要打开目录的待测项数量、软连接的待测项数量、打开目录的操作比例、新建目录的操作比例、打开文件的操作比例、新建文件的操作比例等。
其中,在测试过程中,对于每个步骤的执行结果均记录于相应的日志文件中,并对各日志文件设置相应的日志级别,日志级别决定对应步骤执行过程中信息输出的相信程度,日志级别数值越大输出越详细,能够利用各日志文件追溯执行过程,提高测试效率。
如表1所示,文件的配置信息包括需要打开文件的***调用操作内容及各项操作内容的操作比例、不需要打开文件的***调用操作内容及各项操作内容的操作比例。其中,需要打开文件的***调用操作内容包括write、read、fallocate、ftruncate、fsync、fsetxattr、fgetxattr、fremovexattr、flock、fchown、fchmod、futimes、fstat等;所有需要打开文件的***调用操作内容的操作比例之和应为100%,每项操作比例的精度应达到所配置的操作比例的精度。不需要打开文件的***调用操作内容包括rename、symlink、link、truncate、setxattr、getxattr、removexattr、access、chown、chmod、utimes、stat、unlink、statfs等;所有不需要打开文件的***调用操作内容的操作比例之和应为100%,每项操作比例的精度应达到所配置的操作比例的精度。
目录的配置信息包括需要打开目录的***调用操作内容及各项操作内容的操作比例、不需要打开目录的***调用操作内容及各项操作内容的操作比例。其中,需要打开目录的***调用操作内容包括fsync、fsetxattr、fgetxattr、fremovexattr、readdir、flock、fchown、fchmod、futimes、fstat等;所有需要打开目录的***调用操作内容的操作比例之和应为100%,每项操作比例的精度应达到所配置的操作比例的精度。不需要打开目录的***调用操作信息包括access、rename、symlink、setxattr、getxattr、removexattr、chown、chmod、utimes、rmdir、stat、statfs等;所有不需要打开目录的***调用操作内容的操作比例之和应为100%,每项操作比例的精度应达到所配置的操作比例的精度。
软连接的配置信息包括软连接的***调用操作内容及各项操作内容的操作比例,软连接的***调用操作内容包括readlink、unlink,且两种操作内容的操作比例之和应为100%,两个操作比例的精度应达到所配置的操作比例的精度。
表1
结合表1所示,测试过程中所产生的文件大小由MAX_OP_SIZE和MINI_OP_SIZE两个配置项决定,可产生的文件大小区间为[MINI_OP_SIZE,MAX_OP_SIZE+1024*1024],可以用来预估测试中需要的文件***(集成文件***或是用于校验的文件***)大小。初始化时创建的文件个数、目录个数、软连接个数,三个配置项的值可以相等,可选的,取值可比待测项总数小一个数量级,能够保证测试效果,并合理利用***资源。测试过程中,每次写入的数据块的大小与每次读取的数据块的大小需要保持一致,且数据块的大小能够被MAX_OP_SIZE或者MINI_OP_SIZE所整除。
一些实施例中,对配置文件进行校验,包括:判断是否包含有测试目录和校验目录,若否(没有指定测试目录和/或校验目录,或是所指定的目录不存在),则校验不通过;判断各类型操作(需要打开文件的***调用操作、不需要打开文件的***调用操作、需要打开目录的***调用操作、不需要打开操作的***调用操作、软连接的***调用操作)的操作比例之和是否为100%,若存在至少一类操作的操作比例之和不为100%,则校验不通过;判断各操作比例的精度是否符合所配置的操作比例的精度,若存在至少一项操作比例的精度不符合所配置的操作比例的精度,则校验不通过。
一些方式中,在具体测试时,可根据实际的测试内容及测试要求对配置文件中的全局配置信息和/或待测项的各项配置信息进行配置修改,以达到测试目的。例如,在每次测试时,对配置文件中文件或者目录的测试数量、***调用操作内容的操作比例、文件读取/写入数据块的大小、操作比例的精度等配置项进行配置修改,以达到灵活配置、动态测试的效果,使得本实施例的集群文件***测试方法具备良好的兼容性和扩展性。
本实施例中,在步骤S101所述读取配置文件之后,还包括:对配置文件进行校验,若校验通过,根据配置文件中的测试目录和校验目录信息,清空测试目录和校验目录,以备测试之用;若配置文件校验不通过,则根据未通过的校验项,输出提示操作信息至文件校验日志。
本实施例中,所述步骤S103中,根据待测项的配置信息,从测试项集合中选取目标测试项,包括:
根据配置文件中各待测项的操作比例,从空闲操作列表中随机选取目标测试项;
根据选取的目标测试项,创建操作组;
将操作组加入测试等待队列中。
一些实施例中,操作组包括至少一个目标测试项的操作项,操作项包括操作对象、操作对象类型、操作前提、操作对象是否已存在等选项。其中,操作前提可设置为打开或是关闭,为更好的模拟实际测试环境,随机确定操作前提为打开或是关闭,对于操作对象为文件或目录,当操作前提为打开时,则该操作项不需要执行打开文件或打开目录的***调用操作内容,当操作前提为关闭时,该操作项需要执行打开文件或打开目录的***调用内容。例如,操作对象为某个特定的文件,操作对象类型为文件,该特定的文件已经存在,根据随机数确定操作前提为打开,则测试时,该文件不需要执行打开文件的***调用操作内容。
本实施例中,根据配置文件中各待测项的操作比例,从空闲操作列表中随机选取目标测试项,根据选取的目标测试项,创建操作组,将操作组加入测试等待队列中,通过从所有待测项中随机选取目标测试项,能够实现模拟用户对集群文件***的实际操作。
一些实施例中,将操作组加入测试等待队列中,当判断测试等待队列已满时,从测试等待队列中取出操作组,以对操作组中的操作对象执行操作,能够充分利用***资源,降低测试时间,提高测试效率。
本实施例中,所述步骤S104中,对目标测试项进行测试,得到测试结果,包括:
从测试等待队列中取出操作组;
确定操作组中的各操作项;
对操作项进行解析,确定操作对象所需执行的操作;
对操作对象执行操作,得到测试结果。
本实施例中,测试时,从测试等待队列中取出操作组,对操作组中的各操作项进行解析,得到操作对象、操作对象类型、操作前提和操作对象是否已存在等选项,确定该操作对象所需执行的操作,对操作对象执行操作,得到测试结果。其中,若操作对象为文件或目录,根据操作前提为打开或是关闭,确定是否执行打开文件或打开目录的***调用操作内容。
举例来说,对于目录操作:随机选择是对已存在目录操作或是新建目录操作,若为对已存在目录操作,从空闲操作列表中选取空闲目录,将该空闲目录加入忙碌目录列表,将该空闲目录的父目录及所有祖父目录的引用计数加一;随机确定该空闲目录的操作是否为打开目录(根据随机数确定操作前提),若是,按照全局配置信息中需要打开目录的操作项个数(表1示例为3),从需要打开目录的操作内容中选取操作项个数个操作项,将选取出的操作项加入测试等待队列中;若空闲目录的操作不是打开目录,按照全局配置信息中不需要打开目录的操作项个数,从不需要打开目录的操作内容中选取操作项个数个操作项,将选取出的操作项加入测试等待队列中。对于新建目录操作,从已存在目录中选取新建目录的父目录,在该父目录下新建目录并随机生成目录名称,构建新建目录的操作项,将该操作项加入测试等待队列中,并将其父目录及所有祖先目录的引用计数加1。根据全局配置信息中配置的等待队列长度,判断测试等待队列满时,利用操作日志线程将测试等待队列中的所有操作项导入操作日志中,利用调度线程从操作日志中取出所有操作项,利用工作线程对各操作项执行相对应的操作;所有操作项的操作执行之后,将目录操作所涉及的父目录及祖先目录的引用计数减1,将忙碌目录列表中的目录移入空闲操作列表中。
对于文件操作:随机选择是对已有文件操作或是新建文件操作,若为对已有文件操作,从空闲操作列表中选取空闲文件,将该空闲文件加入忙碌文件列表,将该空闲文件的父目录及所有祖父目录的引用计数加一;随机确定该空闲文件的操作是否为打开文件(根据随机数确定操作前提),若是,按照全局配置信息中需要打开文件的操作项个数(表1示例为500),从需要打开文件的操作内容中选取操作项个数个操作项,将选取出的操作项加入测试等待队列中;若空闲文件的操作不是打开文件,按照全局配置信息中不需要打开文件的操作项个数,从不需要打开文件的操作内容中选取操作项个数个操作项,将选取出的操作项加入测试等待队列中。对于新建文件操作,从现有文件中选取新建文件的父目录,在该父目录下新建文件并随机生成文件名称,构建新建文件的操作项,将该操作项加入测试等待队列中,并将其父目录及所有祖先目录的引用计数加1。判断测试等待队列满时,利用操作日志线程将测试等待队列中的所有操作项导入操作日志中,利用调度线程从操作日志中取出所有操作项,利用工作线程对各操作项执行相对应的操作;所有操作项的操作执行之后,将文件操作所涉及的父目录及祖先目录的引用计数减1,将忙碌文件列表中的文件移入空闲操作列表中。
对于软链接操作,从空闲操作列表中的已有软连接操作列表中选取一个空闲软连接,构建该空闲软连接的操作项,将该操作项加入测试等待队列中,并将该软连接添加于忙碌软连接列表中,将其父目录及祖父目录的引用计数加一;判断测试等待队列已满时,利用操作日志线程将测试等待队列中的所有操作组均导入操作日志中,利用调度线程从操作日志中提取出所有操作项,利用工作线程对各操作项执行相对应的操作;所有操作项的操作执行之后,将软连接操作所涉及的父目录及祖先目录的引用计数减1,将忙碌软连接列表中的软连接移入空闲操作列表中。
本实施例中,所述集群文件***测试方法,还包括:对测试结果进行校验,包括:
基于操作项的操作对象的操作,对用于校验的文件***的同一操作对象执行同样的操作,得到操作结果;
将测试结果与操作结果进行比较;
若一致则校验通过,否则将不一致的操作结果和测试结果输出至校验结果日志中。
本实施例中,基于集群文件***的待测项的测试结果,对用于校验的文件***的操作结果进行对比校验,将结果不一致的校验结果输出至校验结果日志中,能够实现集群文件***与***内核文件***的同时测试与对比,降低时间成本,提高测试效率,而且,通过集群文件***与***内核文件***的同时操作与结果对比,能够确定二者执行***调用操作上所存在的差异,进而根据记录的差异对集群文件***进行优化,从而提高集群文件***的兼容性与可移植性。
可选的,***内核文件***例如包括UFS,ZFS,ext3,XFS,NTFS等文件***,本说明书不做具体限定。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图2所示,本说明书实施例还提供一种集群文件***测试装置,包括:
读取模块,用于读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;
创建模块,用于根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
选取模块,用于根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;
测试模块,用于对目标测试项进行测试,得到测试结果。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种集群文件***测试方法,其特征在于,包括:
读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;
根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;
对所述目标测试项进行测试,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述全局配置信息包括对集群文件***进行测试的初始化配置信息;所述待测项的配置信息包括待测项的***调用操作内容及操作比例。
3.根据权利要求2所述的方法,其特征在于,根据所述全局配置信息,创建包括至少一个待测项的测试项集合,包括:按照所述全局配置信息,将待测项的***调用操作内容添加于空闲操作列表中。
4.根据权利要求3所述的方法,其特征在于,根据所述待测项的配置信息,从所述测试项集合中选取目标测试项,包括:
根据待测项的操作比例,从所述空闲操作列表中随机选取目标测试项;
根据选取的目标测试项,创建操作组;所述操作组包括至少一个目标测试项的操作项;
将所述操作组加入测试等待队列中。
5.根据权利要求4所述的方法,其特征在于,所述操作项包括操作对象、操作对象类型、操作前提、操作对象是否已存在;随机确定所述操作前提为打开或是关闭,若所述操作对象为文件或目录,当所述操作前提为打开时,则所述操作项不需要执行打开文件或打开目录的***调用操作内容,当所述操作前提为关闭时,所述操作项需要执行打开文件或打开目录的***调用内容。
6.根据权利要求1所述的方法,其特征在于,在读取配置文件之后,还包括:对配置文件进行校验,若配置文件校验通过,根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
对配置文件进行校验包括:判断是否包含用于挂载集群文件***的测试目录和用于挂载校验用文件***的校验目录,若否则校验不通过;判断各待测项的各类型操作的操作比例之和是否为100%,否存在至少一种操作的操作比例之和不为100%,则校验不通过;判断各操作比例的精度是否符合所述全局配置信息中所配置的操作比例的精度,若否则校验不通过。
7.根据权利要求6所述的方法,其特征在于,对配置文件进行校验,若配置文件校验通过之后,还包括:清空所述测试目录和校验目录;根据所述全局配置信息,创建包括至少一个待测项的测试项集合。
8.根据权利要求4所述的方法,其特征在于,对目标测试项进行测试,得到测试结果,包括:
从所述测试等待队列中取出操作组;
确定所述操作组中的各操作项;
对所述操作项进行解析,确定操作对象所需执行的操作;
对所述操作对象执行操作,得到测试结果。
9.根据权利要求8所述的方法,其特征在于,还包括:对测试结果进行校验,包括:
基于操作项的操作对象的操作,对用于校验的文件***的同一操作对象执行同样的操作,得到操作结果;
将测试结果与操作结果进行比较;
若一致则校验通过,否则将不一致的操作结果和测试结果输出至校验结果日志中。
10.一种集群文件***测试装置,其特征在于,包括:
读取模块,用于读取配置文件;所述配置文件包括全局配置信息和待测项的配置信息;
创建模块,用于根据所述全局配置信息,创建包括至少一个待测项的测试项集合;
选取模块,用于根据所述待测项的配置信息,从所述测试项集合中选取目标测试项;
测试模块,用于对所述目标测试项进行测试,得到测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429487.0A CN111737109A (zh) | 2020-05-20 | 2020-05-20 | 一种集群文件***测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429487.0A CN111737109A (zh) | 2020-05-20 | 2020-05-20 | 一种集群文件***测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737109A true CN111737109A (zh) | 2020-10-02 |
Family
ID=72647481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429487.0A Pending CN111737109A (zh) | 2020-05-20 | 2020-05-20 | 一种集群文件***测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737109A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617686A (zh) * | 2022-10-31 | 2023-01-17 | 北京志凌海纳科技有限公司 | 超融合集群测试方法、装置、计算机设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165189B1 (en) * | 2003-12-19 | 2007-01-16 | Sun Microsystems, Inc. | Distributed test framework for clustered systems |
CN102665093A (zh) * | 2012-03-13 | 2012-09-12 | 深圳市九洲电器有限公司 | 一种机顶盒测试方法及测试*** |
CN103902421A (zh) * | 2014-03-31 | 2014-07-02 | 苏州华芯微电子股份有限公司 | 一种企业eda设计平台运行环境基础性能测试方法 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN107908568A (zh) * | 2017-11-29 | 2018-04-13 | 中标软件有限公司 | 操作***性能自动化测试方法及装置 |
CN107943702A (zh) * | 2017-11-28 | 2018-04-20 | 中标软件有限公司 | 硬件兼容性测试方法及装置 |
CN109101611A (zh) * | 2018-08-06 | 2018-12-28 | 郑州云海信息技术有限公司 | 文件***目录最大化测试方法、装置、终端及存储介质 |
CN110286281A (zh) * | 2019-06-11 | 2019-09-27 | 上海龙旗科技股份有限公司 | 一种智能设备老化测试的方法与设备 |
CN110347596A (zh) * | 2019-07-02 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、***、电子设备及介质 |
CN110362497A (zh) * | 2019-07-23 | 2019-10-22 | 上海金融期货信息技术有限公司 | 覆盖全异常字符的自动化api接口测试方法和*** |
CN110554948A (zh) * | 2019-08-15 | 2019-12-10 | 苏州浪潮智能科技有限公司 | 一种Vdbench性能测试结果分析方法、***及设备 |
JP6626946B1 (ja) * | 2018-09-19 | 2019-12-25 | みずほ情報総研株式会社 | テスト支援システム、テスト支援方法及びテスト支援プログラム |
CN110908903A (zh) * | 2019-11-14 | 2020-03-24 | 苏州浪潮智能科技有限公司 | 一种基于可编辑yaml文件的测试方法 |
CN111124911A (zh) * | 2019-12-20 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种自动化测试方法、装置、设备及可读存储介质 |
-
2020
- 2020-05-20 CN CN202010429487.0A patent/CN111737109A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165189B1 (en) * | 2003-12-19 | 2007-01-16 | Sun Microsystems, Inc. | Distributed test framework for clustered systems |
CN102665093A (zh) * | 2012-03-13 | 2012-09-12 | 深圳市九洲电器有限公司 | 一种机顶盒测试方法及测试*** |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN103902421A (zh) * | 2014-03-31 | 2014-07-02 | 苏州华芯微电子股份有限公司 | 一种企业eda设计平台运行环境基础性能测试方法 |
CN107943702A (zh) * | 2017-11-28 | 2018-04-20 | 中标软件有限公司 | 硬件兼容性测试方法及装置 |
CN107908568A (zh) * | 2017-11-29 | 2018-04-13 | 中标软件有限公司 | 操作***性能自动化测试方法及装置 |
CN109101611A (zh) * | 2018-08-06 | 2018-12-28 | 郑州云海信息技术有限公司 | 文件***目录最大化测试方法、装置、终端及存储介质 |
JP6626946B1 (ja) * | 2018-09-19 | 2019-12-25 | みずほ情報総研株式会社 | テスト支援システム、テスト支援方法及びテスト支援プログラム |
CN110286281A (zh) * | 2019-06-11 | 2019-09-27 | 上海龙旗科技股份有限公司 | 一种智能设备老化测试的方法与设备 |
CN110347596A (zh) * | 2019-07-02 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置、***、电子设备及介质 |
CN110362497A (zh) * | 2019-07-23 | 2019-10-22 | 上海金融期货信息技术有限公司 | 覆盖全异常字符的自动化api接口测试方法和*** |
CN110554948A (zh) * | 2019-08-15 | 2019-12-10 | 苏州浪潮智能科技有限公司 | 一种Vdbench性能测试结果分析方法、***及设备 |
CN110908903A (zh) * | 2019-11-14 | 2020-03-24 | 苏州浪潮智能科技有限公司 | 一种基于可编辑yaml文件的测试方法 |
CN111124911A (zh) * | 2019-12-20 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种自动化测试方法、装置、设备及可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617686A (zh) * | 2022-10-31 | 2023-01-17 | 北京志凌海纳科技有限公司 | 超融合集群测试方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229559B (zh) | 针对业务***的测试完整度的检测方法和装置 | |
CN109359118B (zh) | 一种数据写入方法及装置 | |
CN107608609B (zh) | 一种事件对象发送方法与装置 | |
US11436188B2 (en) | Resource optimization and update method, server, and device | |
WO2023217118A1 (zh) | 一种代码测试、测试用例生成的方法及装置 | |
CN113885935A (zh) | 资源打包方法、装置、电子设备及计算机可读存储介质 | |
CN111612158A (zh) | 模型部署方法、装置、设备和存储介质 | |
CN111639018B (zh) | 一种内存泄漏检测方法和装置 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN111737109A (zh) | 一种集群文件***测试方法及装置 | |
CN102360381B (zh) | 一种对嵌入式程序进行无损压制的装置和方法 | |
CN111782474A (zh) | 日志处理方法、装置、电子设备和介质 | |
US9262304B2 (en) | Methods and systems for testing interactions between mobile applications | |
US9146720B1 (en) | Binary file application processing | |
CN116628773A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110968513B (zh) | 一种测试脚本的录制方法及装置 | |
CN111209062B (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
CN109542531B (zh) | 一种文件布局调整方法及装置 | |
Kim et al. | Io workload characterization of tizen based consumer electronics | |
CN111370049A (zh) | 一种eMMC芯片测试方法和装置 | |
CN108733564A (zh) | 一种浏览器性能测试方法、装置及设备 | |
CN117215966B (zh) | 一种芯片sdk接口的测试方法、测试装置及电子设备 | |
CN113704020B (zh) | 固态硬盘的出错现场数据的解析方法以及装置 | |
CN113568771A (zh) | 一种校验非易失性存储器值的方法及设备 | |
US20160275096A1 (en) | Meta data and data verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |