测试资源整合方法、系统及功能测试方法、系统与流程

文档序号:14724241发布日期:2018-06-19 03:37阅读:302来源:国知局

本发明涉及软件测试技术领域,尤其涉及一种按照功能测试需求整合测试资源的方法及系统。



背景技术:

随着软件技术的飞速发展以及现代社会生活需求的不断丰富,软件市场纷繁芜杂,在大众中脱颖而出的产品推出新版本的时间不断缩短,新功能层出不穷。快速完成软件产品功能的测试并保障软件质量成为企业关注的重点。大多数软件产品在进行测试时,除软件本身之外,并不需要其他逻辑实体资源作为支撑,仅需按照测试用例执行已经设计好的输入即可。而另一些软件产品的测试输入则可能是多种不同的逻辑实体。

当前软件产品的功能测试逐渐趋于自动化,现有的自动化测试工具在功能测试方面已经完全可以使测试人员实现计划、组织、执行、管理和报告所有测试活动,但是对于无界面和一些需要固定种类的逻辑实体作为输入的软件产品来说,整理符合被测试功能的测试资源很耗时耗力,因为功能总是在不断变化,需要的测试资源在同一种类下的从属类型也随着功能需求不断改变。此外,逻辑实体资源还可能存在于不同的平台,如数据库,Linux服务器等,测试人员需要进行必要的下载、导出之类的迁移工作。

当前对于软件功能测试资源的整合方法,一种是人力迁移,即将所需逻辑实体资源通过人为准备的方式,配置到测试环境中去;另一种则是依赖自动化测试工具,目前市场上已经存在的测试工具例如QuickTest Professional software、WinRunnerMercury、Rational、AdventNet、Test等,这一类工具的测试对象多为有界面的应用,其输入多为测试人员设计的原始数据,而并非逻辑实体。当测试需要大批量逻辑实体输入的软件产品时,这一类测试工具的便利性就不再那么明显了。



技术实现要素:

针对上述技术问题,本发明通过组件化已知功能模块涉及的功能测试流程和所需文件类别,进而当获取测试所需的具体资源需求时,通过自动匹配的形式输出所需的测试资源集,进而克服了人工整合测试资源耗费时间过多的问题,尤其适用于需要多平台逻辑实体输入进行测试的软件产品。

本发明采用如下方法来实现测试资源整合,包括:

组件化各功能模块组件化各功能模块涉及的测试流程,生成测试流程集;

组件化各功能模块组件化各功能模块涉及的文件类别及各文件类别对应的逻辑实体的来源信息,生成测试文件集;

集合各功能模块涉及的测试流程集和测试文件集,生成测试资源集。

进一步地,所述逻辑实体的来源信息为物理地址、服务器地址、IP地址、数据库名称、数据库表、操作系统信息中的至少一种。

进一步地,根据预设规则对所述测试文件集对应的逻辑实体进行筛选,组件化将满足预设规则的逻辑实体的来源信息及该逻辑实体属性录入系统数据库,生成有效测试文件集。

更进一步地,对所述有效测试文件集中各功能模块涉及的文件类别按照资源维度细分,生成多个各属性下的测试资源子集;其中,所述资源维度包括:文件大小或者文件格式。

本发明可以采用如下系统来实现测试资源整合,包括:

测试流程集生成模块,用于组件化各功能模块组件化各功能模块涉及的测试流程,生成测试流程集;

测试文件集生成模块,用于组件化各功能模块组件化各功能模块涉及的文件类别及各文件类别对应的逻辑实体的来源信息,生成测试文件集;

测试资源集生成模块,用于集合各功能模块涉及的测试流程集和测试文件集,生成测试资源集。

进一步地,所述逻辑实体的来源信息为物理地址、服务器地址、IP地址、数据库名称、数据库表、操作系统信息中的至少一种。

进一步地,还包括:有效测试文件集生成模块,用于根据预设规则对所述测试文件集对应的逻辑实体进行筛选,组件化将满足预设规则的逻辑实体的来源信息及该逻辑实体属性录入系统数据库,生成有效测试文件集。

更进一步地,还包括:多维度测试文件集生成模块,用于对所述有效测试文件集中的各功能模块涉及的文件构造属性表,并生成以每种属性作为关键值的资源列表,形成每个属性下的测试资源子集。各属性下的测试资源子集各属性包括:文件大小、文件格式、样本恶意性等。

本发明采用如下方法来实现功能测试,包括:

获取待测软件资源需求,包括:功能测试类型、文件类别;

根据所述资源需求匹配如上所述的测试资源集,若匹配成功则将命中的测试资源集配置到测试环境中,其中,具体包括:

根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

根据所需文件类别匹配所述测试文件集,获取命中的逻辑实体的来源信息,并根据逻辑实体的来源信息调用逻辑实体;

将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。

本发明同时采用如下方法来实现功能测试,包括:

获取待测软件资源需求,包括:功能测试类型、文件类别;

根据所述资源需求匹配如上所述的测试资源集,若匹配成功则将命中的测试资源集配置到测试环境中,其中,具体包括:

根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

根据所需文件类别匹配所述各属性下的测试资源子集,获取命中的逻辑实体的来源信息,并根据逻辑实体来源调用逻辑实体;

将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。

上述功能测试方法中,将命中的测试资源集和对应的待测软件资源需求一起保存至数据库,当下次测试获取的待测软件资源需求与数据库中的匹配时,则直接调用相应的命中的测试资源集。

本发明采用如下系统来实现功能测试,包括:

资源需求获取模块,用于获取待测软件资源需求,包括:功能测试类型、文件类别;

测试资源配置模块,用于根据所述资源需求匹配如上所述的测试资源集,若匹配成功则将命中的测试资源集配置到测试环境中,其中,具体包括:

根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

根据所需文件类别匹配所述测试文件集,获取命中的逻辑实体的来源信息,并根据逻辑实体的来源信息调用逻辑实体;

将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。

本发明同时采用如下系统来实现功能测试,包括:

资源需求获取模块,用于获取待测软件资源需求,包括:功能测试类型、文件类别;

测试资源配置模块,用于根据所述资源需求匹配如上所述的测试资源集,若匹配成功则将命中的测试资源集配置到测试环境中,其中,具体包括:

根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

根据所需文件类别匹配各属性下的测试资源子集各属性下的测试资源子集,获取命中的逻辑实体的来源信息,并根据逻辑实体来源调用逻辑实体;

将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。

上述功能测试系统中,还包括:动态构建模块,用于将命中的测试资源集和对应的待测软件资源需求一起保存至数据库,当下次测试获取的待测软件资源需求与数据库中的匹配时,则直接调用相应的命中的测试资源集。

综上,本发明给出一种测试资源整合方法及系统的技术方案,通过预先在系统中组件化各已知功能模块涉及的测试流程、所需文件类别及各文件类别对应的逻辑实体的来源信息,进而整合为测试资源集。当需要调用测试资源集时对待测软件进行测试时,只需要输入资源需求,系统将自动完成资源需求与测试资源集的匹配,并将命中的测试资源配置到测试环境中。

有益效果为:本发明所述技术方案利用大部分相同或相似功能模块所涉及的功能测试流程相对固定,所需的文件类别也极其相似的特性,进而预先将与各功能模块相关的测试资源组件化为测试资源集,因此系统在实际测试中只需将输入的资源需求与测试资源集进行匹配来自动化完成测试环境的配置,减少人力资源的干预进而提升测试资源配置的准确性;本发明尤其适用于需要多平台逻辑实体输入进行软件测试的情况,不需要测试前由人力去整合存在于多个平台上的测试资源,即可完成测试资源的准备工作。

附图说明

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

图1为本发明提供的一种测试资源整合方法实施例流程图;

图2为本发明提供的一种测试资源整合系统实施例结构图;

图3为本发明提供的一种功能测试方法实施例流程图;

图4为本发明提供的一种功能测试系统实施例结构图。

具体实施方式

本发明给出了一种测试资源整合方法及系统实施例,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:

对于一个待测软件来说包括多个功能模块,各功能模块最终根据需要匹配所需的测试资源;例如:以手机安全软件为例,对于该待测软件其需要测试的功能模块包括:杀毒功能、监控功能、清理功能等;以杀毒功能测试为例,其需要的逻辑输入可能包括手机中所有应用的文件内容,手机操作系统信息,手机内存信息,手机运行的日志文件等。因此,确定了需要测试的功能模块,也就相应确定了所涉及的测试流程、文件类别及文件类别对应的逻辑实体来源。

如图1所示,本发明提供了一种测试资源整合方法实施例,包括:

S101:组件化各功能模块组件化各功能模块涉及的测试流程,生成测试流程集;

可以理解的,一类功能模块涉及的测试流程一般是相对固定的,因此可以以功能模块为基础,将对应的测试流程组件化到一起,即形成测试流程集,在需要的时候直接调用该测试流程集能极大提升测试效率。

例如:同样以手机安全软件的杀毒功能测试为例,其功能测试流程一般为:(1)读取手机中的文件作为输入(包括上面描述的应用的文件、系统文件、日志文件等);(2)使用病毒库扫描(1)中的输入 ;(3)输出检测结果 ;(4)清理有害文件。

S102:组件化各功能模块组件化各功能模块涉及的文件类别及各文件类别对应的逻辑实体的来源信息,生成测试文件集;

其中,所述文件类别包括但不限于:安卓应用文件、操作系统文件、日志文件等等。所述逻辑实体的来源信息包括但不限于:物理地址、服务器地址、IP地址、数据库名称、数据库表、操作系统信息;各功能模块类型所需的文件类别是相同或者大部分相似的,将各类文件类别对应的逻辑实体的来源信息写入系统,在配置测试环境时根据需要调用,也将极大提升测试效率。

例如:在软件测试过程中,存在一些功能模块需要众多不同种类的逻辑实体资源支撑进行测试,不同种类的逻辑实体资源多数处于多个平台,但是各逻辑实体资源类型所在位置是相对固定的。例如,一个测试需要A、B、C、D四种资源,A为数据库中的数据,则A存在于数据库服务器中;B为安卓应用文件,则B可能存在于企业的存储器中,测试人员也可能选用一些在线的应用市场,如GooglePlay,安卓应用市场等;C为主要被测软件,被存储于研发人员常用的开发的位置;D为一个Linux 系统,测试可能需要32位的ubuntu系统,或者64位的CentOS系统。这些资源实体的位置等都分类写入系统,在配置具体的测试环境时调用。

S103:根据预设规则对所述测试文件集对应的逻辑实体进行筛选,将满足预设规则的逻辑实体的来源信息及该逻辑实体属性录入系统数据库,生成有效测试文件集。

其中,所述预设规则可以是经验优选值,如果不进行任何筛选,可能会存在很多无效的资源数据,将影响测试的准确性。例如,以安卓应用文件为例,当资源维度为文件大小时,当文件大小小于1KB时,系统认为可能是破损文件或者其他个别文件,判定为无效文件而排出在最大资源集合之外。

S104:对所述有效测试文件集中的各功能模块涉及的文件构造属性表,并生成以每种属性作为关键值的资源列表,形成每个属性下的测试资源子集;

其中,将文件构造属性表根据实际情况有不同划分,例如文件大小或者文件格式,或者针对apk 文件,将样本文件分为黑样本、白样本、灰样本等。在软件测试过程中,功能模块涉及的文件类别往往也是相对固定的,一种文件类别也可以作为一个家族延伸出更多资源维度的子分支;例如:作为一个大类别“人”,其下面可以划分为男性、女性、老人、中年人、青年人、儿童等维度的子分支。因此,根据已有的功能模块,按照出现的属性将文件类别进行细分类,进而构建每个属性下的测试资源子集。例如:在测试杀毒引擎检测安卓应用程序名的功能时,其实际测试所需的资源需求包括:检出指定程序名为中文的apk文件、检出程序名为英文的apk文件、检出zip结构的安卓应用文件等,根据这些测试需求,产生了不同的资源维度划分标准,可以将需要测试的安卓应用文件划分为中文样本、英文样本、其他语言样本、apk样本、zip样本、有程序名的样本、没有程序名的样本等等。

更为优选地,根据预设的最佳集合指标从各属性下的测试资源子集中获取资源数据;其中,所述最佳集合指标根据不同资源维度设定,例如,所需文件类别为“安卓应用文件”,而其中一个资源维度为文件大小,那么最佳集合指标可以为:文件大小在0~2M之间的资源数据量占30%,文件大小在2M~10M之间的资源数据量占60%,文件大小大于10M的资源数据量占10%。因此,可以按照这个资源维度上的最佳集合指标来筛选资源数据。

S105:集合各功能模块涉及的测试流程集和多个各属性下的测试资源子集,生成测试资源集。

如图2所示,本发明提供了一种测试资源整合系统实施例,包括:

测试流程集生成模块201,用于组件化各功能模块组件化各功能模块涉及的测试流程,生成测试流程集;

测试文件集生成模块202,用于组件化各功能模块组件化各功能模块涉及的文件类别及各文件类别对应的逻辑实体的来源信息,生成测试文件集;

其中,所述逻辑实体的来源信息为物理地址、服务器地址、IP地址、数据库名称、数据库表、操作系统信息中的至少一种;

测试资源集生成模块203,用于集合各功能模块涉及的测试流程集和测试文件集,生成测试资源集。

优选地,还包括:有效测试文件集生成模块,用于根据预设规则对所述测试文件集对应的逻辑实体进行筛选,组件化将满足预设规则的逻辑实体的来源信息及该逻辑实体属性录入系统数据库,生成有效测试文件集。

优选地,还包括:多维度测试文件集生成模块,用于对所述有效测试文件集中各功能模块涉及的文件类别按照资源维度细分,生成多个各属性下的测试资源子集;其中,所述资源维度包括:文件大小或者文件格式。

如图3所示,本发明提供了一种功能测试方法实施例,包括:

S301:获取待测软件资源需求,包括:功能测试类型、文件类别;

其中,在实际进行软件测试的过程中,还会输入一些附属测试要求,包括但不限于:数据量、测试时间等等。所述功能测试类型与软件各功能模块对应,所述文件类别包括但不限于:安卓应用文件、操作系统文件、系统日志文件等;

S302:根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

在上述测试资源整合的方法实施例中,已经将各功能模块与所需的测试流程组件化在一起,若获取的功能测试类型与数据库中的已知功能模块匹配,则将自动获取所需的测试流程;

S303:根据所需文件类别匹配所述测试文件集,获取命中的逻辑实体的来源信息,并根据逻辑实体的来源信息调用逻辑实体;其中,所述测试文件集也可以是测试资源整合方法实施例中生成的各属性下的测试资源子集;

S304将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。另外,如果匹配失败,则会重新匹配和生成测试资源集输出给测试人员,由测试人员判定是否采用输出的测试资源。

优选地,还包括:对命中的资源集合进行择优处理并将最优资源集合配置到测试环境中;系统将以图表或者其他直观的方式将命中的资源集合的详细信息展示给测试人员,由测试人员判断该资源集合是否是最优资源集合。

更优选地,将命中的测试资源集和对应的待测软件资源需求一起保存至数据库,当下次测试获取的待测软件资源需求与数据库中的匹配时,则直接调用相应的命中的测试资源集。目的在于为构建类似功能模块的最大资源集合时作为参考。

如图4所示,本发明提供了一种功能测试系统实施例,包括:

资源需求获取模块401,用于获取待测软件资源需求,包括:功能测试类型、文件类别;

测试资源配置模块402,用于根据所述资源需求匹配如上所述的测试资源集,若匹配成功则将命中的测试资源集配置到测试环境中,其中,具体包括:

根据所需功能测试类型匹配所述测试流程集,获取命中的测试流程;

根据所需文件类别匹配所述测试文件集或者所述各属性下的测试资源子集,获取命中的逻辑实体的来源信息,并根据逻辑实体的来源信息调用逻辑实体;

将命中的测试流程及调用的逻辑实体作为测试资源配置到测试环境中。

上述功能测试系统实施例中,还包括:动态构建模块,用于将命中的测试资源集和对应的待测软件资源需求一起保存至数据库,当下次测试获取的待测软件资源需求与数据库中的匹配时,则直接调用相应的命中的测试资源集。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述实施例给出了测试资源整合方法及系统实施例、功能测试方法及系统实施例,与传统的测试资源准备方式不同,本发明所提供的测试资源整合方法及系统实施例能够最大程度减少人力干预,通过预先在系统中组件化各功能模块和测试流程,组件化各功能模块和所需文件类别及各文件类别的逻辑实体的来源信息,进而形成测试资源集合;当需要调用测试资源进行测试时,只需根据需要输入资源需求,则系统自动完成资源需求与测试资源集的匹配,并反馈命中的测试资源集并配置到测试环境中去。上述实施例可以自动完成测试所需的资源准备,系统给出的测试资源集是以历史记录为参考得出的最优资源集合,避免了人工准备的片面性,最初的测试历史记录是可以人为构建的,最后会根据匹配结果动态生成历史记录集合,历史记录越多,得出的最优资源集合将更可靠。

以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。

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