云测试配置方法、装置、计算机设备及存储介质与流程

文档序号:19729667发布日期:2020-01-18 03:48阅读:248来源:国知局
云测试配置方法、装置、计算机设备及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种云测试配置方法、装置、计算机设备及存储介质。



背景技术:

云测试(cloudtesting),是基于云计算的一种新型测试方式,云测试平台利用云端部署的上千款主流智能移动设备,可以为用户提供自定义智能移动设备进行批量自动化兼容适配以及功能、性能、稳定性等测试内容。

目前,业内有很多云测试平台,例如,testin、百度mtc,腾讯云测等,但现有的云测试平台均需要通过人工根据待测应用,手动配置兼容测试的机型、系统的版本、分辨率、兼容测试深度等配置数据,导致人力成本高,并造成云测试效率低下。



技术实现要素:

本发明实施例提供一种云测试配置方法、装置、计算机设备及存储介质,以解决云测试效率低及人力成本高的问题。

一种云测试配置方法,包括:

接收客户端上传的用户标识和待测试软件包;

若预设的智能配置开关为开启状态,则获取所述待测试软件包的包名和后缀名,并根据所述后缀名确定测试平台;

使用与所述测试平台相对应的解析工具,对所述待测试软件包进行解析,得到所述待测试软件包的版本信息;

若在预设的测试结果数据库中查询到与所述包名和所述版本信息对应的测试结果数据,则获取所述测试结果数据,并将获取到的所述测试结果数据发送给所述客户端;

若在所述预设的测试结果数据库中未查询到与所述包名和所述版本信息对应的所述测试结果数据,则从预设的用户画像数据库中获取所述用户标识对应的用户画像信息,其中,所述用户画像信息用于标识所述用户标识对应的用户的测试习惯;

若所述用户画像信息获取成功,则根据所述用户画像信息确定所述待测试软件包的定制配置方案;

若所述用户画像信息获取失败,则根据所述测试平台和所述版本信息确定与所述版本信息相匹配的全量配置方案;

在所述测试平台使用所述定制配置方案或者所述全量配置方案对所述待测试软件包进行云测试,并将云测试结果返回给所述客户端。

一种云测试配置装置,包括:

数据接收模块,用于接收客户端上传的用户标识和待测试软件包;

平台确定模块,用于若预设的智能配置开关为开启状态,则获取所述待测试软件包的包名和后缀名,并根据所述后缀名确定测试平台;

版本解析模块,用于使用与所述测试平台相对应的解析工具,对所述待测试软件包进行解析,得到所述待测试软件包的版本信息;

结果查询模块,用于若在预设的测试结果数据库中查询到与所述包名和所述版本信息对应的测试结果数据,则获取所述测试结果数据,并将获取到的所述测试结果数据发送给所述客户端;

画像获取模块,用于若在所述预设的测试结果数据库中未查询到与所述包名和所述版本信息对应的所述测试结果数据,则从预设的用户画像数据库中获取所述用户标识对应的用户画像信息,其中,所述用户画像信息用于标识所述用户标识对应的用户的测试习惯;

定制配置模块,用于若所述用户画像信息获取成功,则根据所述用户画像信息确定所述待测试软件包的定制配置方案;

全量配置模块,用于若所述用户画像信息获取失败,则根据所述测试平台和所述版本信息确定与所述版本信息相匹配的全量配置方案;

测试执行模块,用于在所述测试平台使用所述定制配置方案或者所述全量配置方案对所述待测试软件包进行云测试,并将云测试结果返回给所述客户端。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述云测试配置方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述云测试配置方法的步骤。

上述云测试配置方法、装置、计算机设备及存储介质中,首先根据待测试软件包的后缀名确定测试平台,并使用与测试平台相对应的解析工具对待测试软件包进行解析,得到版本信息,然后在测试结果数据库中查询待测试软件包的包名和版本信息对应的测试结果数据,若查询到则直接将该测试结果数据发送到客户端,若未查询到则在用户画像数据库中获取对待测试软件包进行云测试的用户对应的用户画像信息,若获取成功则根据该用户画像信息确定待测试软件包的定制配置方案,若获取失败则根据测试平台和版本信息确定与版本信息相匹配的全量配置方案,进而使用定制配置方案或者全量配置方案完成对待测试软件包的云测试,实现了云测试的自动化配置和测试,无需人工干预,降低人力成本,并提高云测试效率,同时,通过用户画像信息,能够按照用户的测试习惯得到合理的配置方案,提高了测试配置的智能化水平。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例中云测试配置方法的一应用环境示意图;

图2是本发明一实施例中云测试配置方法的一流程图;

图3是本发明一实施例中云测试配置方法的步骤s6的一流程图;

图4是本发明一实施例中云测试配置方法的步骤s3的一流程图;

图5是本发明一实施例中云测试配置方法的步骤s7的一流程图;

图6是本发明一实施例中云测试配置方法的步骤s8的一流程图;

图7是本发明一实施例中云测试配置方法中对用户画像信息进行更新处理的一流程图;

图8是本发明一实施例中云测试配置装置的一示意图;

图9是本发明一实施例中计算机设备的一示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请提供的云测试配置方法,可应用在如图1所示的应用环境中,该应用环境包括服务端和客户端,其中,服务端和应用客户端之间通过网络进行连接,该网络可以是有线网络或者无线网络,客户端具体包括但不限于各种个人计算机、笔记本电脑、智能手机和平板电脑和便携式可穿戴设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。用户通过客户端将待测试软件包上传到服务端,服务端通过对待测试软件包进行解析,并结合用户画像信息进行测试方案的配置和云测试。

在一实施例中,如图2所示,提供一种云测试配置方法,以该方法应用在图1中的服务端为例进行说明,具体包括步骤s1至步骤s8,详述如下:

s1:接收客户端上传的用户标识和待测试软件包。

具体地,用户在客户端成功登录后,上传待测试软件包,客户端将用户成功登录的用户名作为用户标识,与待测试软件包一起发送到服务端。

s2:若预设的智能配置开关为开启状态,则获取待测试软件包的包名和后缀名,并根据后缀名确定测试平台。

在本实施例中,预先设置有智能配置开关,该智能配置开关用于开启或者关闭测试方案的自动化配置和自动化测试。在默认情况下,智能配置开关为关闭状态,当需要进行测试方案的自动化配置和自动化测试时,用户可以通过后台维护平台将智能配置开关设置为开启状态。

具体地,服务端获取预设的智能配置开关的当前状态,若当前状态为开启状态,则获取待测试软件包的包名和后缀名。其中,待测试软件包的名称由包名和后缀名组成,例如,若待测试软件包的名称为test123.apk,则包名为test123,后缀名为apk。

后缀名能够标识出待测试软件包支持的操作系统,不同的操作系统对应不同的测试平台,例如,目前常用的操作系统为ios和andriod两种,ios和andriod分别对应不同的测试平台,即ios操作系统的应用软件只能在ios操作系统对应的测试平台上进行测试,andriod操作系统的应用软件也只能在andriod操作系统对应的测试平台上进行测试。

服务端根据待测试软件包的后缀名,确定待测试软件包支持的操作系统,并根据该操作系统确定能够对待测试软件包进行测试的测试平台。

需要说明的是,若智能配置开关的当前状态为关闭状态,则服务端启动常规云测试服务流程,该常规云测试服务流程具体可以是直接向客户端发送人工配置指令,客户端接收到该人工配置指令后,向用户提供配置界面,用户可以在该配置界面上进行测试方案的配置,并在完成配置后,客户端将用户设定的配置方案发送到服务端,服务端根据该配置方案完成对待测试软件包的云测试。

s3:使用与测试平台相对应的解析工具,对待测试软件包进行解析,得到待测试软件包的版本信息。

具体地,每个测试平台均对应有与该测试平台的操作系统相匹配的解析工具,解析工具通过对待测试软件包的内容进行提取和解析,例如,从待测试软件包的预设目录下获取预设文件中预设参数的值,得到待测试软件包的版本信息。其中,版本信息包括但不限于待测试软件包的软件版本,以及待测试软件包支持的操作系统版本对应的版本属性信息。

例如,对于andriod操作系统的测试平台,其对应的解析工具可以是反编译工具,通过对待测试软件包进行反编译,得到待测试软件包的版本信息。

s4:若在预设的测试结果数据库中查询到与包名和版本信息对应的测试结果数据,则获取测试结果数据,并将获取到的测试结果数据发送给客户端。

在本实施例中,预设的测试结果数据库中保存有已经完成的测试结果数据,测试结果数据与由包名和版本信息组成的软件包标识之间对应保存,通过软件包标识可以查询到与该软件包标识对应的测试结果数据。

具体地,服务端在预设的测试结果数据库中,根据步骤s2得到的包名,以及步骤s3得到的版本信息,查询与该包名和该版本信息对应的测试结果数据,若查询成功,则获取该测试结果数据,并将该测试结果数据返回给客户端,流程结束。

s5:若在预设的测试结果数据库中未查询到与包名和版本信息对应的测试结果数据,则从预设的用户画像数据库中获取用户标识对应的用户画像信息,其中,用户画像信息用于标识用户标识对应的用户的测试习惯。

具体地,若服务端在预设的测试结果数据库中进行测试结果数据的查询失败,即未查询到与包名和版本信息对应的测试结果数据,则确认该包名和该版本信息对应的待测试软件包未进行过云测试,此时,服务端从预设的用户画像数据库中获取用户标识对应的用户画像信息。

其中,用户画像数据库中按照用户标识存储有每个用户标识对应的用户的用户画像信息,该用户画像信息用于标识该用户的测试习惯。

每个用户标识对应的用户画像信息由服务端根据该用户标识对应的用户在预设历史时间段内对各种待测试软件包进行云测试时选择的测试配置方案进行分析得到。

测试配置方案包含若干测试属性,以及每个测试属性对应的取值,其中,测试属性包括但不限于品牌、操作系统版本、分辨率,测试深度等,品牌对应的取值可以包括samsung、小米、华为、苹果等,操作系统版本对应的取值可以是4.0、5.0等,分辨率对应的取值可以是1280*760等,测试深度对应的取值可以是普通兼容测试、深度性能评测等。

服务端通过对预设历史时间段内的测试配置方案中每个测试属性对应的取值进行综合分析,获知用户在每种测试属性的测试习惯,即用户画像信息,包括用户倾向于选择的品牌、操作系统版本、分辨率,以及测试深度等。

以品牌为例,服务端将用户在预设历史时间段内的每个测试配置方案中品牌对应的取值提取出来,本根据提取出的取值计算品牌这一测试属性对应的每种取值的被选中频率,其中,某个取值的被选中频率为该取值被选中次数与每个取值的被选中次数的总和之间的比值,然后根据每种取值的被选中频率确定用户对品牌的选择习惯。例如,假设品牌对应的每种可能取值包括品牌1、品牌2和品牌3,在预设历史计算时间段内品牌1被选中次数为10次,品牌2和品牌3被选中次数均为9次,则品牌1的被选中频率为37%,品牌2和品牌3的被选中频率均为33%,服务端分析品牌1、品牌2和品牌3的被选中频率相互接近,因此可以得到该用户在品牌这一测试属性上的用户画像信息为倾向于选择全部品牌。

s6:若用户画像信息获取成功,则根据用户画像信息确定待测试软件包的定制配置方案。

具体地,若服务端通过步骤s5成功获取到用户标识对应的用户画像信息,则按照该用户画像信息中包含的用户在每种测试属性的测试习惯,进行与测试习惯相匹配的测试配置,得到待测试软件包的定制配置方案。

例如,在用户画像信息中用户在品牌这一测试属性上的测试习惯为选择全部品牌,则服务端选取测试平台支持的品牌,设置到定制配置方案中。

s7:若用户画像信息获取失败,则根据测试平台和版本信息确定与版本信息相匹配的全量配置方案。

具体地,若服务端通过步骤s5获取用户标识对应的用户画像信息失败,即预设的用户画像数据库中没有保存该用户标识对应的用户画像信息,则服务端从版本信息中提取与测试平台相匹配的操作系统版本参数,并根据该操作系统版本参数确定支持运行待测试软件包的全部操作系统版本,然后选取测试平台中支持每个操作系统版本的测试属性的全部取值,作为全量配置方案。

s8:在测试平台使用定制配置方案或者全量配置方案对待测试软件包进行云测试,并将云测试结果返回给客户端。

具体地,服务端根据步骤s6得到的定制配置方案,或者步骤s7得到的全量配置方案,在测试平台选定定制配置方案或者全量配置方案中包含的测试配置,并使用该测试配置启动对待测试软件包进行云测试。

服务端获取云测试结果,并将云测试结果返回给客户端,以供用户查看,同时,将云测试结果作为测试结果数据,与包名和版本信息对应保存到预设的测试结果数据库中,以供后续查询。

本实施例中,首先根据待测试软件包的后缀名确定测试平台,并使用与测试平台相对应的解析工具对待测试软件包进行解析,得到版本信息,然后在测试结果数据库中查询待测试软件包的包名和版本信息对应的测试结果数据,若查询到则直接将该测试结果数据发送到客户端,若未查询到则在用户画像数据库中获取对待测试软件包进行云测试的用户对应的用户画像信息,若获取成功则根据该用户画像信息确定待测试软件包的定制配置方案,若获取失败则根据测试平台和版本信息确定与版本信息相匹配的全量配置方案,进而使用定制配置方案或者全量配置方案完成对待测试软件包的云测试,实现了云测试的自动化配置和测试,无需人工干预,降低人力成本,并提高云测试效率,同时,通过用户画像信息,能够按照用户的测试习惯得到合理的配置方案,提高了测试配置的智能化水平。

在一实施例中,用户画像信息包括属性名称和每个属性名称对应的属性标签。

其中,属性名称具体可以是测试配置方案中的测试属性,例如,品牌、操作系统版本、分辨率,以及测试深度等。属性名称可以对应一个属性标签,也可以对应多个属性标签。属性标签用于标识属性特征,服务端预先设置每个属性名称对应的属性标签。

例如,对品牌这一属性名称,其对应的属性标签可以包括品牌喜好、机型喜好和品牌优先级等。品牌喜好用于标识用户习惯选择的品牌,机型喜好用于标识用户习惯选择的设备型号,品牌优先级可以包括高级、中级、低级等不同的级别,每种级别分别代表一种品牌覆盖方式,比如高级的优先级可以代表选择全部品牌的全部机型,中级的优先级可以代表选择热门品牌的热门机型。

进一步地,如图3所示,在步骤s6中,根据用户画像信息确定待测试软件包的定制配置方案,具体包括步骤s61至步骤s63,详述如下:

s61:针对每个属性名称对应的k个属性标签,按照属性标签与规划行为之间的预设对应关系,获取每个属性标签对应的规划行为,得到k个目标规划行为,其中,k为正整数。

在本实施例中,服务端预先设置有每个属性标签与规划行为之间的预设对应关系,每个属性标签均与一个规划行为相对应。例如,若品牌喜好这一属性标签为全部品牌,则其对应的规划行为可以为选取测试平台支持的全部品牌。

具体地,服务端从用户画像信息中读取每个属性名称对应的k个属性标签,并按照预设对应关系,获取每个属性标签对应的规划行为,得到每个属性名称对应的k个目标规划行为。

可以理解的是,不同属性名称对应的目标规划行为的数量可以相同也可以不相同。在一个属性名称对应的不同目标规划行为之间可以存在交集。

例如,对品牌这一属性名称,其对应的属性标签包括品牌喜好、机型喜好和品牌优先级,品牌喜好具体为品牌1和品牌2,其对应的目标规划行为a为选取品牌1和品牌2,品牌优先级具体为高级,其对应的目标规划行为b为选取测试平台支持的全部品牌的全部机型,则目标规划行为a和目标规划行为b之间存在的交集为品牌1和品牌2的全部机型。

s62:在每个属性名称中,对k个目标规划行为进行合并,得到每个属性名称对应的属性配置方案。

具体地,服务端根据步骤s61得到的每个属性名称对应的k个目标规划行为,对该k个目标规划行为进行合并操作,该合并操作具体可以是对k个目标规划行为进行交集运算,即提取k个目标规划行为中的相同行为,并将提取出的相同行为作为该属性名称对应的属性配置方案。

s63:将每个属性名称对应的属性配置方案进行组合,得到待测试软件包的定制配置方案。

具体地,假设用户画像信息包含n个属性名称,则服务端对步骤s62得到的每个属性名称对应的属性配置方案,即n个属性配置方案进行组合操作,由于属性配置方案均代表一种测试属性的测试条件,因此该组合操作具体可以是对n个属性配置方案进行测试条件的与运算,得到待测试软件包的定制配置方案。

例如,若用户画像信息包括品牌、操作系统版本、分辨率和测试深度四个属性名称,品牌对应的属性配置方案为品牌1的全部机型,操作系统版本对应的属性配置方案为1.0版本以上,分辨率对应的属性配置方案为1280*768,测试深度对应的属性配置方案为深度性能测试,则服务端对该四个属性配置方案进行合并后,得到的定制配置方案为:品牌1的全部机型中操作系统版本为1.0版本以上,分辨率为1280*768的测试设备,进行深度性能测试。

本实施例中,用户画像信息包括属性名称及其对应的属性标签,服务端针对每个属性名称对应的k个属性标签,按照属性标签与规划行为之间的预设对应关系,获取每个属性标签对应的k个目标规划行为,然后对k个目标规划行为进行合并,得到每个属性名称对应的属性配置方案,再将每个属性名称对应的属性配置方案进行组合,得到待测试软件包的定制配置方案,实现了根据用户画像信息自动生成符合用户测试习惯的定制配置方案,提高了测试配置的智能化水平。

在一实施例中,测试平台包括ios平台和android平台。ios平台是指支持ios操作系统的测试平台,android平台是指支持android操作系统的测试平台,ios操作系统和android操作系统是目前常用的两大应用于智能终端的操作系统。

进一步地,如图4所示,在步骤s3中,使用与测试平台相对应的解析工具,对待测试软件包进行解析,得到待测试软件包的版本信息,具体包括步骤s31至步骤s32,详述如下:

s31:若测试平台为android平台,则使用预设的反编译工具对待测试软件包进行反编译,并根据反编译结果得到待测试软件包的版本信息。

具体地,针对android平台,服务端使用预设的反编译工具对待测试软件包进行反编译处理,并从反编译结果中识别出待测试软件包的版本信息。

其中,反编译工具具体可以是常用的反编译工具apktool,使用apktool对待测试软件包进行反编译处理后,能够查看到res文件下的目标xml文件的内容,服务端可以从该xml文件中获取到待测试软件包的版本信息。

例如,在androidmenifest.xml这一目标xml文件中,包含如下语句:

<uses-sdkandroid:minsdkversion="4"

android:targetsdkversion="10"/>

服务端使用apktool对待测试软件包进行反编译处理后,能够读取到该目标xml文件中的内容,服务端从该目标xml文件中获取minsdkversion和targetsdkversion的取值,并将minsdkversion和targetsdkversion的取值作为版本信息的内容。

s32:若测试平台为ios平台,则从预设目录下获取预设的目标配置文件,并从目标配置文件中读取待测试软件包的版本信息。

具体地,针对ios平台,服务端直接从待测试软件包的预设目录下获取目标配置文件,并从目标配置文件中读取版本信息。

其中,预设目录具体可以是target目录,目标配置文件具体可以是buildsetting配置文件。服务端从该buildsetting配置文件中读取deploymenttarget和basesdk的取值,并将deploymenttarget和basesdk的取值作为版本信息的内容。

本实施例中,服务端针对不同类型操作系统的测试平台,采用与操作系统相匹配的解析方式,从待测试软件包中解析出版本信息,实现了对版本信息的准确提取,为后续根据版本信息确定全量配置方案提供数据依据。

在一实施例中,如图5所示,在步骤s7中,根据测试平台和版本信息确定与版本信息相匹配的全量配置方案,具体包括步骤s71至步骤s73,详述如下:

s71:若测试平台为android平台,则根据版本信息中minsdkversion的取值确定支持运行待测试软件包的最低系统版本,并根据版本信息中targetsdkversion的取值确定支持运行待测试软件包的最高系统版本。

具体地,版本信息中minsdkversion的取值定义了能够成功安装待测试软件包的测试设备的最低api版本,targetsdkversion的取值定义了安装待测试软件包的测试设备的最高api版本,服务端获取最低api版本对应的操作系统版本作为支持运行待测试软件包的最低系统版本,并获取最高api版本对应的操作系统版本作为支持运行待测试软件包的最高系统版本。

s72:若测试平台为ios平台,则根据版本信息中deploymenttarget的取值确定支持运行待测试软件包的最低系统版本,并根据版本信息中basesdk的取值确定支持运行待测试软件包的最高系统版本。

具体地,版本信息中deploymenttarget的取值为运行待测试软件包的测试设备的最低操作系统版本,即支持运行待测试软件包的最低系统版本,basesdk的取值为测试设备的sdk版本,服务端获取该sdk版本对应的操作系统版本作为支持运行待测试软件包的最高系统版本。

s73:将最低系统版本和最高系统版本之间的全部可选版本,以及每个可选版本支持的测试设备属性作为全量配置方案。

具体地,服务端将通过步骤s71或者步骤s72得到的最高系统版本和最低系统版本之间的每个操作系统版本作为可选版本,可选版本包括最高系统版本和最低系统版本,并获取每个可选版本支持的测试设备属性,测试设备属性包括品牌、机型、分辨率等与测试设备的硬件配置相关的测试属性。服务端将获取到的每个可选版本及其测试设备属性作为全量配置方案。

本实施例中,服务端针对不同类型操作系统的测试平台,根据操作系统对应的版本信息,确定运行待测试软件包的测试设备的最高系统版本和最低系统版本,并将最高系统版本和最低系统版本之间的全部可选版本及其支持的测试设备属性组成全量配置方案,实现了在无法根据用户画像信息进行测试配置方案的定制化处理时,能够自动制定出能够匹配测试范围的全量配置方案,确保了云测试的自动化配置和测试的流程完整性,从而能够提高云测试效率。

在一实施例中,如图6所示,在步骤s8中,在测试平台使用定制配置方案或者全量配置方案对待测试软件包进行云测试,具体包括步骤s81至步骤s83,详述如下:

s81:若预设的人工复核开关为开启状态,则将定制配置方案或者全量配置方案发送到客户端,以使用户在客户端对定制配置方案或者全量配置方案进行方案修改或方案确认。

具体地,在服务端得到定制配置方案或者全量配置方案后,为确保自动生成的定制配置方案或者全量配置方案能够更加准确的满足用户的测试需求,服务端在人工复核开关为开启状态下,将定制配置方案或者全量配置方案发送到客户端进行人工复核。

其中,预设的人工复核开关为预先设置的用于标识是否需要对定制配置方案或者全量配置方案进行人工复核的开关。

客户端的用户对接收到的定制配置方案或者全量配置方案进行人工复核,对不满足测试需求的进行方案修改,并对修改后的定制配置方案或者全量配置方案进行方案确认。

需要说明的是,客户端可以向用户提供方案修改和方案确认的操作按钮,当用户通过人工复核认为需要进行方案修改时,可以点击方案修改的操作按钮,在客户端提供的修改界面对定制配置方案或者全量配置方案进行人工修改,并在修改完成后,点击方案确认的操作按钮,客户端将用户的修改内容作为方案修改结果发送到服务端。

若用户通过人工复核后确认不需要进行修改,则直接点击方案确认的操作按钮,客户端向服务端发送的方案修改结果为用户未做修改。

s82:若接收到客户端返回的方案修改结果,则根据方案修改结果对定制配置方案或者全量配置方案进行更新,得到待执行测试方案。

具体地,服务端接收到客户端发送的方案修改结果,根据方案修改结果的内容,若方案修改结果为用户未做修改在,则直接将定制配置方案或者全量配置方案作为待执行测试方案,若方案修改结果为用户的修改内容,则根据该修改内容,对定制配置方案或者全量配置方案进行更新,并将更新后的的定制配置方案或者全量配置方案作为执行测试方案。

s83:在测试平台使用待执行测试方案对待测试软件包进行云测试。

具体地,服务端根据步骤s82得到的待执行测试方案,在测试平台使用该待执行测试方案对待测试软件包进行云测试。

本实施例中,在人工复核开关为开启状态时,通过人工复核的方式对定制配置方案或者全量配置方案进行方案修改或方案确认,从而得到更加准确和合理的待执行测试方案,并使用该待执行测试方案对待测试软件包进行云测试,进一步提高云测试结果的准确性和合理性。

在一实施例中,如图7所示,在步骤s82之后,还可以对用户画像信息进行更新处理,具体包括步骤s91至步骤s92,详述如下:

s91:根据方案修改结果,对用户标识对应的用户画像信息进行更新。

具体地,服务端根据步骤s82得到的方案修改结果,若该方案修改结果为用户的修改内容,则识别该修改内容,并将该修改内容更新到用户标识对应的用户画像信息中与该修改内容相对应的属性名称及其对应的属性标签中。

s92:将更新后的用户画像信息保存到用户画像数据库中。

具体地,服务端在用户画像数据库中使用更新后的用户画像信息对原用户画像信息进行覆盖保存。

本实施例中,根据方案修改结果对用户标识对应的用户画像信息进行更新,确保用户画像信息能够实时体现用户的最新测试习惯和测试偏好,从而为根据用户画像信息自动生成符合用户测试习惯的定制配置方案提供准确的数据依据。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种云测试配置装置,该云测试配置装置与上述实施例中云测试配置方法一一对应。如图8所示,该云测试配置装置包括:数据接收模块10、平台确定模块20、版本解析模块30、结果查询模块40、画像获取模块50、定制配置模块60、全量配置模块70和测试执行模块80。各功能模块详细说明如下:

数据接收模块10,用于接收客户端上传的用户标识和待测试软件包;

平台确定模块20,用于若预设的智能配置开关为开启状态,则获取待测试软件包的包名和后缀名,并根据后缀名确定测试平台;

版本解析模块30,用于使用与测试平台相对应的解析工具,对待测试软件包进行解析,得到待测试软件包的版本信息;

结果查询模块40,用于若在预设的测试结果数据库中查询到与包名和版本信息对应的测试结果数据,则获取测试结果数据,并将获取到的测试结果数据发送给客户端;

画像获取模块50,用于若在预设的测试结果数据库中未查询到与包名和版本信息对应的测试结果数据,则从预设的用户画像数据库中获取用户标识对应的用户画像信息,其中,用户画像信息用于标识用户标识对应的用户的测试习惯;

定制配置模块60,用于若用户画像信息获取成功,则根据用户画像信息确定待测试软件包的定制配置方案;

全量配置模块70,用于若用户画像信息获取失败,则根据测试平台和版本信息确定与版本信息相匹配的全量配置方案;

测试执行模块80,用于在测试平台使用定制配置方案或者全量配置方案对待测试软件包进行云测试,并将云测试结果返回给客户端。

进一步地,用户画像信息包括属性名称和每个所述属性名称对应的属性标签,定制配置模块60包括:

行为获取子模块601,用于针对每个属性名称对应的k个属性标签,按照属性标签与规划行为之间的预设对应关系,获取每个属性标签对应的规划行为,得到k个目标规划行为,其中,k为正整数;

行为合并子模块602,用于在每个属性名称中,对k个目标规划行为进行合并,得到每个属性名称对应的属性配置方案;

方案组合子模块603,用于将每个属性名称对应的属性配置方案进行组合,得到待测试软件包的定制配置方案。

进一步地,测试平台包括ios平台和android平台,版本解析模块30包括:

第一解析子模块301,用于若测试平台为android平台,则使用预设的反编译工具对待测试软件包进行反编译,并根据反编译结果得到待测试软件包的版本信息;

第二解析子模块302,用于若测试平台为ios平台,则从预设目录下获取预设的目标配置文件,并从目标配置文件中读取待测试软件包的版本信息。

进一步地,全量配置模块70包括:

第一配置子模块701,用于若测试平台为android平台,则根据版本信息中minsdkversion的取值确定支持运行待测试软件包的最低系统版本,并根据版本信息中targetsdkversion的取值确定支持运行待测试软件包的最高系统版本;

第二配置子模块702,用于若测试平台为ios平台,则根据版本信息中deploymenttarget的取值确定支持运行待测试软件包的最低系统版本,并根据版本信息中basesdk的取值确定支持运行待测试软件包的最高系统版本;

配置确定子模块703,用于将最低系统版本和最高系统版本之间的全部可选版本,以及每个可选版本支持的测试设备属性作为全量配置方案。

进一步地,测试执行模块80包括:

方案确认子模块801,用于若预设的人工复核开关为开启状态,则将定制配置方案或者全量配置方案发送到客户端,以使用户在客户端对定制配置方案或者全量配置方案进行方案修改或方案确认;

方案更新子模块802,用于若接收到客户端返回的方案修改结果,则根据方案修改结果对定制配置方案或者全量配置方案进行更新,得到待执行测试方案;

云测试子模块803,用于在测试平台使用待执行测试方案对待测试软件包进行云测试。

进一步地,该云测试配置装置还包括:

画像更新模块91,用于根据方案修改结果,对用户标识对应的用户画像信息进行更新;

画像保存模块92,用于将更新后的用户画像信息保存到用户画像数据库中。

关于云测试配置装置的具体限定可以参见上文中对于云测试配置方法的限定,在此不再赘述。上述云测试配置装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种云测试配置方法。

在一实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中云测试配置方法的步骤,例如图2所示的步骤s1至步骤s8。或者,处理器执行计算机程序时实现上述实施例中云测试配置装置的各模块/单元的功能,例如图8所示模块10至模块80的功能。为避免重复,此处不再赘述。

在一实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中云测试配置方法,或者,该计算机程序被处理器执行时实现上述装置实施例中云测试配置装置中各模块/单元的功能。为避免重复,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1