包括帐号名称的应用的功能测试方法、装置和计算机设备与流程

文档序号:18464295发布日期:2019-08-17 02:18阅读:193来源:国知局
包括帐号名称的应用的功能测试方法、装置和计算机设备与流程

本申请涉及到计算机领域,特别是涉及到一种包括帐号名称的应用的功能测试方法、装置、计算机设备和存储介质。



背景技术:

目前产品测试(例如软件的功能测试)中,测试用例的编写会和测试人员的经验有关系,往往经验不足的时候会漏测,而导致产品出现问题。而采用最不容易漏测的数据遍历的方式,以提高测试的覆盖度,从而弥补测试人员的经验的不足的话,将很大程度上增加了测试负担。因为当接口输入参数增多、并且输入参数的可取值种类增多时,组合数据(数据遍历而获得的测试用例)就成几何倍数增加,甚至导致测试用例的数量远超计算机承受数量。因此,现有技术无法同时解决测试负担大、因测试人员经验不足导致的漏测的技术问题。



技术实现要素:

本申请的主要目的为提供一种包括帐号名称的应用的功能测试方法、装置、计算机设备和存储介质,旨在保证测试质量的前提下,减小测试负担,实现了对包括帐号名称的应用的自动测试以避免漏测。

为了实现上述发明目的,本申请提出一种包括帐号名称的应用的功能测试方法,包括以下步骤:

采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;

分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;

判断所述特征数据的数量是否大于预设的数量阈值;

若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;

采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;

根据所述测试用例,对所述应用进行所述功能测试。

进一步地,所述分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签的步骤,包括:

从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量;

从所述命名规则中获取所述特征数据的数量与每个所述特征数据的可取值数量,并从所述应用中调取所述应用的类型标签。

进一步地,所述判断所述特征数据的数量是否大于预设的数量阈值的步骤之后,包括:

若所述特征数据的数量不大于预设的数量阈值,则根据预设的边界值规则,获取每个所述特征数据的可取边界值;

以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

遍历所有所述特征数据的测试取值,从而生成所述测试用例。

进一步地,所述若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法的步骤之前,包括:

获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分;

根据公式:计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,其中bli为采用第l种测试策略的指定类型历史应用的第i个功能测试报告对功能测试质量的评分,所述指定类型的历史应用共有m个功能测试报告;

将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

进一步地,所述采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据的步骤,包括:

在txt格式文件中记录所述特征数据,以及与所述特征数据对应的可取值;

调取开源的正交工具allparis,根据所述txt格式文件,生成具有所述测试用例的txt格式文件,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。

进一步地,所述根据所述测试用例,对所述应用进行所述功能测试的步骤,包括:

根据预设的边界值规则,获取每个所述特征数据的可取边界值;

以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

遍历所有所述特征数据的测试取值,从而生成边界值测试用例。

根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

进一步地,所述根据所述测试用例,对所述应用进行所述功能测试的步骤之后,包括:

获取所述功能测试的结果,其中所述功能测试的结果包括对所有测试用例的子测试结果;

判断所述对所有测试用例的子测试结果是否均无误;

若所述对所有测试用例的子测试结果均无误,则以测试通过的结论生成功能测试报告。

本申请提供一种包括帐号名称的应用的功能测试装置,包括:

应用采集单元,用于采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;

应用分析单元,用于分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;

数量阈值判断单元,用于判断所述特征数据的数量是否大于预设的数量阈值;

测试策略选取单元,用于若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;

测试用例生成单元,用于采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;

功能测试单元,用于根据所述测试用例,对所述应用进行所述功能测试。

本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的包括帐号名称的应用的功能测试方法、装置、计算机设备和存储介质,通过采集待测试的包括帐号名称的应用,若所述特征数据的数量大于预设的数量阈值,则从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略生成所述功能测试的测试用例,根据所述测试用例,对所述应用进行所述功能测试。从而在保证测试质量的前提下,实现了对包括帐号名称的应用的自动测试。

附图说明

图1为本申请一实施例的包括帐号名称的应用的功能测试方法的流程示意图;

图2为本申请一实施例的包括帐号名称的应用的功能测试装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请实施例提供一种包括帐号名称的应用的功能测试方法,包括以下步骤:

s1、采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;

s2、分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;

s3、判断所述特征数据的数量是否大于预设的数量阈值;

s4、若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;

s5、采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;

s6、根据所述测试用例,对所述应用进行所述功能测试。

如上述步骤s1所述,采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据。现有技术对于包括帐号名称的应用进行功能测试时,由于测试人员的经验不足或者注意力不集中等原因,容易在功能测试中造成漏测,使功能测试生成的测试报告不全面,不能测出所有的功能缺陷。本申请采用预设的测试策略对包括帐号名称的应用进行自动功能测试,避免漏测。其中,所述应用可以为部署于本地的应用,也可以为部署于非本地的应用(例如部署在网络上的其他终端或服务器等)。所述采集待测试的包括帐号名称的应用,指的是获取待测试的包括帐号名称的应用或者所述应用的相应信息,例如获取整个应用(包括获取本地的应用,或者从网络上下载非本地的应用),或者仅获取应用的帐号名称数据、帐号名称注册规则、帐号名称实例、帐号名称长度等相应信息。其中,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据,指所述帐号名称的组成部分至少包括数字、大写字母、小写字母、中文和特殊字符中的一种。所述帐号名称可以仅包括用户名,也可以包括用户名与密码,当包括用户名与密码时,本申请的功能测试实际上将分别对用户名与密码进行功能测试。其中,特殊字符指除数字、大写字母、小写字母、中文之外的字符,例如可以通过“ascii”(英文)和“gb2312字符集”(中文)中的非数字、大写字母、小写字母、中文之外的符号以获取。

如上述步骤s2所述,分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。要进行功能测试需要测试用例,本申请中,每个用于测试的帐号名称都是一个测试用例。测试用例的生成与特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签,因此需要先分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。其中,分析所述应用的过程包括:从所述应用中调取所述帐号名称的命名规则,根据所述命名规则获取所述特征数据的数量、每个所述特征数据的可取值数量,调取所述应用的类型标签;或者,也可以获取所述应用的多个已生成帐号名称,分析所述已生成帐号名称,从而得到所述特征数据的数量、每个所述特征数据的可取值数量,调取所述应用的类型标签。其中,所述类型标签中记载着所述应用所属类型,所述类型例如为社交用应用、存储类应用等任意可分类的应用类型,或者也可以仅记载为a类应用、b类应用等(此时的分类规则可以为任意规则,最好以优选测试策略相同的应用分为同一类,例如将优选测试策略均仅为正交测试法的应用分为a类应用,以此类推)。由于不同类型的应用的优选测试策略不一定相同,因此根据类型智能决定采用何种测试策略能够节省计算机资源且提高测试有效性。

如上述步骤s3所述,判断所述特征数据的数量是否大于预设的数量阈值。对功能测试而言,若能以遍历所有用例的方式进行测试,所得的测试结果当然最为准确,但是当用例的数量过多,将所有用例都作为测试用例的话,会显著消耗算力,因此遍历所有用例的方式进行测试不能适合所有的功能测试。因此,判断所述特征数据的数量是否大于预设的数量阈值,若所述特征数据的数量大于预设的数量阈值,表明用例的数量过多,肯定不适合遍历所有用例的方式,应采取其他的测试策略;若所述特征数据的数量不大于预设的数量阈值,则可能适合遍历所有用例的方式(例如所述特征数据只有1种,当然,也可以采用其他的测试策略)。其中所述数量阈值可根据对功能测试的准确度或者对将消耗的计算资源的忍受程度进行设置。

如上述步骤s4所述,若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法。若所述特征数据的数量大于预设的数量阈值,表明用例的数量过多,肯定不适合遍历所有用例的方式,应采取其他的测试策略。本申请预先设置有应用类型与测试策略对应关系,再利用所述应用的类型标签,即可获得与所述应用的类型标签对应的第一测试策略。其中,应用类型与测试策略对应关系可以以任意方式获取,例如通过分析大于指定数量的不同类型的应用的功能测试报告,获取不同类型的应用的优选测试策略,从而形成应用类型与测试策略对应关系。其中所述第一测试策略至少包括正交实验法,正交实验法是研究多因素多水平(即本申请的多特征数据多所述特征数据的可取值)的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点。因此采用正交实验法以在尽量不减少测试质量的情况下,得到测试用例,以进行功能测试。据此,将与所述应用的类型标签对应的第一测试策略都设置为至少包括正交实验法。其中,第一测试策略可以仅包括正交实验法,也可以还包括等价类划分方法、边界值分析方法、错误推测方法或因果图方法等任意测试方法。

如上述步骤s5所述,采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。采用正交实验法获得测试用例的方法包括:生成正交表,所述正交表由行和列构成,每个所述行代表一个测试用例,每个所述列代表一个参数水平,所述正交表依据下述原则生成:每一列中各数字(即所述参数水平在相应的所述输入参数中的排序数)出现的次数都一样多;任何两列所构成的各有序数对(即将同一行的两个数字看成有序数对)出现的次数都一样多。所述正交表中所表示的测试用例的总和(即正交表的所有行)即为测试用例。其中,所述测试用例的数量至少为其中ak为第k个所述输入参数的水平数,共有n个输入参数,从而在符合正交表生成原则的基础上,尽量减少测试用例的数量。其中,当测试用例的数量正好为时,能最大程度地减少测试用例的数量,但是,在必要的情况下,可以增加测试用例的数量以增加测试的质量。据此,在尽量不减少测试质量的情况下,减少测试时间与测试花费。

如上述步骤s6所述,根据所述测试用例,对所述应用进行所述功能测试。如前所述,得到了测试用例,即可进行接口测试。其中,例如对登陆接口进行测试,登陆接口的帐号名称具有3个特征参数(例如数字、英文字母、中文)、每个输入参数均分别有d(不一定为10,因为可能限定某些数字不可取,或者可以使用二进制)、e、f个可取值,那么生成的测试用例应至少有1+d-1+e-1+f-1=d+e+f-2个。据此,进行功能测试。其中,所述功能测试可以为任意测试,例如为接口测试等。

在一个实施方式中,所述分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签的步骤s2,包括:

s201、从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量;

s202、从所述命名规则中获取所述特征数据的数量与每个所述特征数据的可取值数量,并从所述应用中调取所述应用的类型标签。

如上所述,实现了获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。所述特征数据和相应的可取值都在应用中预先设置好的,具体地,应用通过预设的帐号名称命名规则限定了帐号名称的名称格式,因此帐号名称的特征数据和相应的可取值也被限定了。因此,通过从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量,即可获知所述特征数据的数量与每个所述特征数据的可取值数量。而所述应用的类型标签记载的是所述应用的类型,属于应用中附带的类型信息,因此从所述应用中直接调取即可。

在一个实施方式中,所述判断所述特征数据的数量是否大于预设的数量阈值的步骤s3之后,包括:

s311、若所述特征数据的数量不大于预设的数量阈值,则根据预设的边界值规则,获取每个所述特征数据的可取边界值;

s312、以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

s313、遍历所有所述特征数据的测试取值,从而生成所述测试用例。

如上所述,实现了采用边界值测试生成测试用例。其中本申请的边界值测试就是对输入的边界值进行测试的一种功能测试方法,即是以输入值的可取边界值作为测试用例,从而完成功能测试。由于功能测试时的错误经常出现在边界区域,因此采用边界值测试可以在减少测试用例的基础上尽快找出错误。本实施方式中,由于所述特征数据的数量不大于预设的数量阈值,表明总的用例并不多,但是考虑到遍历所有用例的方式消耗资源还是较大,因此采用边界值测试生成测试用例。其中,预设的边界值规则指根据不同的特征数据获取不同的可取边界值,例如对于数字、字符,相应的边界值规则分别为以最大/最小、首位/末位作为可取边界值。再以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值,遍历所有所述特征数据的测试取值,从而生成所述测试用例。

在一个实施方式中,所述若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法的步骤s4之前,包括:

s321、获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分;

s322、根据公式:计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,其中bli为采用第l种测试策略的指定类型历史应用的第i个功能测试报告对功能测试质量的评分,所述指定类型的历史应用共有m个功能测试报告;

s323、将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

如上所述,实现了获取应用类型与测试策略对应关系。本实施方式采用功能测试报告中包括对功能测试质量的评分以确定应用类型与测试策略对应关系。功能测试报告是反应功能测试结果的报告(其中记录了功能测试测出的错误或者无错误),若功能测试报告的结果与真实的结果相同且测试采用的用例数量少,则表明功能测试采用的测试策略是合适的,具体在功能测试报告中以对功能测试质量的评分进行表示。其中对功能测试质量的评分可以用任意可行方式获得,例如人为评分获得,或者通过在生成功能测试报告后的预定时间内,判断所述应用的状态是否与所述功能测试报告相符合,根据符合程度与采用的测试用例的数量,生成对功能测试质量的评分,再将对功能测试质量的评分加入所述功能测试报告中。因此,获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分,再计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,即可将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

在一个实施方式中,所述采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据的步骤s5,包括:

s501、在txt格式文件中记录所述特征数据,以及与所述特征数据对应的可取值;

s502、调取开源的正交工具allparis,根据所述txt格式文件,生成具有所述测试用例的txt格式文件,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。

如上所述,实现了采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中开源的所述正交工具allparis用于生成正交表,能够利用已记录有所述输入参数与所述输入参数相对应的参数水平的txt格式文件,生成具有所述测试用例的txt格式文件。从而,利用所述具有所述测试用例的txt格式文件,可以得到测试用例,进而进行接口测试。其中所述测试用例的数量至少为从而在符合正交表生成原则的基础上,尽量减少测试用例的数量。其中,当测试用例的数量正好为时,能最大程度地减少测试用例的数量,但是,在必要的情况下,可以增加测试用例的数量以增加测试的质量。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤s6,包括:

s601、根据预设的边界值规则,获取每个所述特征数据的可取边界值;

s602、以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

s603、遍历所有所述特征数据的测试取值,从而生成边界值测试用例。

s604、根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

如上所述,实现了根据所述测试用例,对所述应用进行所述功能测试。本实施方式进一步采用边界值测试以提升测试质量。由于功能测试时的错误经常出现在边界区域,因此采用边界值测试可以在减少测试用例的基础上尽快找出错误。其中,预设的边界值规则指根据不同的特征数据获取不同的可取边界值,例如对于数字、字符,相应的边界值规则分别为以最大/最小、首位/末位作为可取边界值。再以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值,遍历所有所述特征数据的测试取值,从而生成边界值测试用例。再根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤s6之后,包括:

s61、获取所述功能测试的结果,其中所述功能测试的结果包括对所有测试用例的子测试结果;

s62、判断所述对所有测试用例的子测试结果是否均无误;

s63、若所述对所有测试用例的子测试结果均无误,则以测试通过的结论生成功能测试报告。

如上所述,实现了生成功能测试报告。由于本实施方式中使用的所有测试用例均是应用中的正确帐号名称,理论上功能测试结果应该也是正确的。因此,若所述对所有测试用例的子测试结果均无误,表明所述应用无误,据此以测试通过的结论生成功能测试报告。进一步地,若所述对所有测试用例的子测试结果不是均无误,则以测试失败的结论生成功能测试报告,将在所述功能测试报告中标注错误的子测试结果。

本申请的包括帐号名称的应用的功能测试方法,通过采集待测试的包括帐号名称的应用,若所述特征数据的数量大于预设的数量阈值,则从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略生成所述功能测试的测试用例,根据所述测试用例,对所述应用进行所述功能测试。从而在保证测试质量的前提下,实现了对包括帐号名称的应用的自动测试。

参照图2,本申请实施例提供一种包括帐号名称的应用的功能测试装置,包括:

应用采集单元10,用于采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;

应用分析单元20,用于分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;

数量阈值判断单元30,用于判断所述特征数据的数量是否大于预设的数量阈值;

测试策略选取单元40,用于若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;

测试用例生成单元50,用于采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;

功能测试单元60,用于根据所述测试用例,对所述应用进行所述功能测试。

如上述单元10所述,采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据。现有技术对于包括帐号名称的应用进行功能测试时,由于测试人员的经验不足或者注意力不集中等原因,容易在功能测试中造成漏测,使功能测试生成的测试报告不全面,不能测出所有的功能缺陷。本申请采用预设的测试策略对包括帐号名称的应用进行自动功能测试,避免漏测。其中,所述应用可以为部署于本地的应用,也可以为部署于非本地的应用(例如部署在网络上的其他终端或服务器等)。所述采集待测试的包括帐号名称的应用,指的是获取待测试的包括帐号名称的应用或者所述应用的相应信息,例如获取整个应用(包括获取本地的应用,或者从网络上下载非本地的应用),或者仅获取应用的帐号名称数据、帐号名称注册规则、帐号名称实例、帐号名称长度等相应信息。其中,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据,指所述帐号名称的组成部分至少包括数字、大写字母、小写字母、中文和特殊字符中的一种。所述帐号名称可以仅包括用户名,也可以包括用户名与密码,当包括用户名与密码时,本申请的功能测试实际上将分别对用户名与密码进行功能测试。其中,特殊字符指除数字、大写字母、小写字母、中文之外的字符,例如可以通过“ascii”(英文)和“gb2312字符集”(中文)中的非数字、大写字母、小写字母、中文之外的符号以获取。

如上述单元20所述,分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。要进行功能测试需要测试用例,本申请中,每个用于测试的帐号名称都是一个测试用例。测试用例的生成与特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签,因此需要先分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。其中,分析所述应用的过程包括:从所述应用中调取所述帐号名称的命名规则,根据所述命名规则获取所述特征数据的数量、每个所述特征数据的可取值数量,调取所述应用的类型标签;或者,也可以获取所述应用的多个已生成帐号名称,分析所述已生成帐号名称,从而得到所述特征数据的数量、每个所述特征数据的可取值数量,调取所述应用的类型标签。其中,所述类型标签中记载着所述应用所属类型,所述类型例如为社交用应用、存储类应用等任意可分类的应用类型,或者也可以仅记载为a类应用、b类应用等(此时的分类规则可以为任意规则,最好以优选测试策略相同的应用分为同一类,例如将优选测试策略均仅为正交测试法的应用分为a类应用,以此类推)。由于不同类型的应用的优选测试策略不一定相同,因此根据类型智能决定采用何种测试策略能够节省计算机资源且提高测试有效性。

如上述单元30所述,判断所述特征数据的数量是否大于预设的数量阈值。对功能测试而言,若能以遍历所有用例的方式进行测试,所得的测试结果当然最为准确,但是当用例的数量过多,将所有用例都作为测试用例的话,会显著消耗算力,因此遍历所有用例的方式进行测试不能适合所有的功能测试。因此,判断所述特征数据的数量是否大于预设的数量阈值,若所述特征数据的数量大于预设的数量阈值,表明用例的数量过多,肯定不适合遍历所有用例的方式,应采取其他的测试策略;若所述特征数据的数量不大于预设的数量阈值,则可能适合遍历所有用例的方式(例如所述特征数据只有1种,当然,也可以采用其他的测试策略)。其中所述数量阈值可根据对功能测试的准确度或者对将消耗的计算资源的忍受程度进行设置。

如上述单元40所述,若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法。若所述特征数据的数量大于预设的数量阈值,表明用例的数量过多,肯定不适合遍历所有用例的方式,应采取其他的测试策略。本申请预先设置有应用类型与测试策略对应关系,再利用所述应用的类型标签,即可获得与所述应用的类型标签对应的第一测试策略。其中,应用类型与测试策略对应关系可以以任意方式获取,例如通过分析大于指定数量的不同类型的应用的功能测试报告,获取不同类型的应用的优选测试策略,从而形成应用类型与测试策略对应关系。其中所述第一测试策略至少包括正交实验法,正交实验法是研究多因素多水平(即本申请的多特征数据多所述特征数据的可取值)的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点。因此采用正交实验法以在尽量不减少测试质量的情况下,得到测试用例,以进行功能测试。据此,将与所述应用的类型标签对应的第一测试策略都设置为至少包括正交实验法。其中,第一测试策略可以仅包括正交实验法,也可以还包括等价类划分方法、边界值分析方法、错误推测方法或因果图方法等任意测试方法。

如上述单元50所述,采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。采用正交实验法获得测试用例的方法包括:生成正交表,所述正交表由行和列构成,每个所述行代表一个测试用例,每个所述列代表一个参数水平,所述正交表依据下述原则生成:每一列中各数字(即所述参数水平在相应的所述输入参数中的排序数)出现的次数都一样多;任何两列所构成的各有序数对(即将同一行的两个数字看成有序数对)出现的次数都一样多。所述正交表中所表示的测试用例的总和(即正交表的所有行)即为测试用例。其中,所述测试用例的数量至少为其中ak为第k个所述输入参数的水平数,共有n个输入参数,从而在符合正交表生成原则的基础上,尽量减少测试用例的数量。其中,当测试用例的数量正好为时,能最大程度地减少测试用例的数量,但是,在必要的情况下,可以增加测试用例的数量以增加测试的质量。据此,在尽量不减少测试质量的情况下,减少测试时间与测试花费。

如上述单元60所述,根据所述测试用例,对所述应用进行所述功能测试。如前所述,得到了测试用例,即可进行接口测试。其中,例如对登陆接口进行测试,登陆接口的帐号名称具有3个特征参数(例如数字、英文字母、中文)、每个输入参数均分别有d(不一定为10,因为可能限定某些数字不可取,或者可以使用二进制)、e、f个可取值,那么生成的测试用例应至少有1+d-1+e-1+f-1=d+e+f-2个。据此,进行功能测试。其中,所述功能测试可以为任意测试,例如为接口测试等。

在一个实施方式中,所述应用分析单元20,包括:

命名规则调取子单元,用于从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量;

类型标签调取子单元,用于从所述命名规则中获取所述特征数据的数量与每个所述特征数据的可取值数量,并从所述应用中调取所述应用的类型标签。

如上所述,实现了获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签。所述特征数据和相应的可取值都在应用中预先设置好的,具体地,应用通过预设的帐号名称命名规则限定了帐号名称的名称格式,因此帐号名称的特征数据和相应的可取值也被限定了。因此,通过从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量,即可获知所述特征数据的数量与每个所述特征数据的可取值数量。而所述应用的类型标签记载的是所述应用的类型,属于应用中附带的类型信息,因此从所述应用中直接调取即可。

在一个实施方式中,所述装置,包括:

可取边界值获取单元,用于若所述特征数据的数量不大于预设的数量阈值,则根据预设的边界值规则,获取每个所述特征数据的可取边界值;

测试取值设置单元,用于以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

遍历单元,用于遍历所有所述特征数据的测试取值,从而生成所述测试用例。

如上所述,实现了采用边界值测试生成测试用例。其中本申请的边界值测试就是对输入的边界值进行测试的一种功能测试方法,即是以输入值的可取边界值作为测试用例,从而完成功能测试。由于功能测试时的错误经常出现在边界区域,因此采用边界值测试可以在减少测试用例的基础上尽快找出错误。本实施方式中,由于所述特征数据的数量不大于预设的数量阈值,表明总的用例并不多,但是考虑到遍历所有用例的方式消耗资源还是较大,因此采用边界值测试生成测试用例。其中,预设的边界值规则指根据不同的特征数据获取不同的可取边界值,例如对于数字、字符,相应的边界值规则分别为以最大/最小、首位/末位作为可取边界值。再以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值,遍历所有所述特征数据的测试取值,从而生成所述测试用例。

在一个实施方式中,所述装置,包括:

历史功能测试报告获取单元,用于获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分;

平均评分计算单元,用于根据公式:计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,其中bli为采用第l种测试策略的指定类型历史应用的第i个功能测试报告对功能测试质量的评分,所述指定类型的历史应用共有m个功能测试报告;

对应关系生成单元,用于将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

如上所述,实现了获取应用类型与测试策略对应关系。本实施方式采用功能测试报告中包括对功能测试质量的评分以确定应用类型与测试策略对应关系。功能测试报告是反应功能测试结果的报告(其中记录了功能测试测出的错误或者无错误),若功能测试报告的结果与真实的结果相同且测试采用的用例数量少,则表明功能测试采用的测试策略是合适的,具体在功能测试报告中以对功能测试质量的评分进行表示。其中对功能测试质量的评分可以用任意可行方式获得,例如人为评分获得,或者通过在生成功能测试报告后的预定时间内,判断所述应用的状态是否与所述功能测试报告相符合,根据符合程度与采用的测试用例的数量,生成对功能测试质量的评分,再将对功能测试质量的评分加入所述功能测试报告中。因此,获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分,再计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,即可将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

在一个实施方式中,所述测试用例生成单元50,包括:

特征数据记录子单元,用于在txt格式文件中记录所述特征数据,以及与所述特征数据对应的可取值;

测试用例生成子单元,用于调取开源的正交工具allparis,根据所述txt格式文件,生成具有所述测试用例的txt格式文件,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。

如上所述,实现了采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中开源的所述正交工具allparis用于生成正交表,能够利用已记录有所述输入参数与所述输入参数相对应的参数水平的txt格式文件,生成具有所述测试用例的txt格式文件。从而,利用所述具有所述测试用例的txt格式文件,可以得到测试用例,进而进行接口测试。其中所述测试用例的数量至少为从而在符合正交表生成原则的基础上,尽量减少测试用例的数量。其中,当测试用例的数量正好为时,能最大程度地减少测试用例的数量,但是,在必要的情况下,可以增加测试用例的数量以增加测试的质量。

在一个实施方式中,所述功能测试单元60,包括:

可取边界值获取子单元,用于根据预设的边界值规则,获取每个所述特征数据的可取边界值;

测试取值设置子单元,用于以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;

遍历子单元,用于遍历所有所述特征数据的测试取值,从而生成边界值测试用例。

用例合集功能测试子单元,用于根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

如上所述,实现了根据所述测试用例,对所述应用进行所述功能测试。本实施方式进一步采用边界值测试以提升测试质量。由于功能测试时的错误经常出现在边界区域,因此采用边界值测试可以在减少测试用例的基础上尽快找出错误。其中,预设的边界值规则指根据不同的特征数据获取不同的可取边界值,例如对于数字、字符,相应的边界值规则分别为以最大/最小、首位/末位作为可取边界值。再以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值,遍历所有所述特征数据的测试取值,从而生成边界值测试用例。再根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

在一个实施方式中,所述装置,包括:

功能测试的结果获取单元,用于获取所述功能测试的结果,其中所述功能测试的结果包括对所有测试用例的子测试结果;

子测试结果判断单元,用于判断所述对所有测试用例的子测试结果是否均无误;

功能测试报告生成单元,用于若所述对所有测试用例的子测试结果均无误,则以测试通过的结论生成功能测试报告。

如上所述,实现了生成功能测试报告。由于本实施方式中使用的所有测试用例均是应用中的正确帐号名称,理论上功能测试结果应该也是正确的。因此,若所述对所有测试用例的子测试结果均无误,表明所述应用无误,据此以测试通过的结论生成功能测试报告。进一步地,若所述对所有测试用例的子测试结果不是均无误,则以测试失败的结论生成功能测试报告,将在所述功能测试报告中标注错误的子测试结果。

本申请的包括帐号名称的应用的功能测试装置,通过采集待测试的包括帐号名称的应用,若所述特征数据的数量大于预设的数量阈值,则从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略生成所述功能测试的测试用例,根据所述测试用例,对所述应用进行所述功能测试。从而在保证测试质量的前提下,实现了对包括帐号名称的应用的自动测试。

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

上述处理器执行上述包括帐号名称的应用的功能测试方法,包括以下步骤:采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;判断所述特征数据的数量是否大于预设的数量阈值;若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;根据所述测试用例,对所述应用进行所述功能测试。

在一个实施方式中,所述分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签的步骤,包括:从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量;从所述命名规则中获取所述特征数据的数量与每个所述特征数据的可取值数量,并从所述应用中调取所述应用的类型标签。

在一个实施方式中,所述判断所述特征数据的数量是否大于预设的数量阈值的步骤之后,包括:若所述特征数据的数量不大于预设的数量阈值,则根据预设的边界值规则,获取每个所述特征数据的可取边界值;以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;遍历所有所述特征数据的测试取值,从而生成所述测试用例。

在一个实施方式中,所述若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法的步骤之前,包括:获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分;根据公式:计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,其中bli为采用第l种测试策略的指定类型历史应用的第i个功能测试报告对功能测试质量的评分,所述指定类型的历史应用共有m个功能测试报告;将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

在一个实施方式中,所述采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据的步骤,包括:在txt格式文件中记录所述特征数据,以及与所述特征数据对应的可取值;调取开源的正交工具allparis,根据所述txt格式文件,生成具有所述测试用例的txt格式文件,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤,包括:根据预设的边界值规则,获取每个所述特征数据的可取边界值;以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;遍历所有所述特征数据的测试取值,从而生成边界值测试用例。根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤之后,包括:获取所述功能测试的结果,其中所述功能测试的结果包括对所有测试用例的子测试结果;判断所述对所有测试用例的子测试结果是否均无误;若所述对所有测试用例的子测试结果均无误,则以测试通过的结论生成功能测试报告。

本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请的计算机设备,通过采集待测试的包括帐号名称的应用,若所述特征数据的数量大于预设的数量阈值,则从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略生成所述功能测试的测试用例,根据所述测试用例,对所述应用进行所述功能测试。从而在保证测试质量的前提下,实现了对包括帐号名称的应用的自动测试。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现包括帐号名称的应用的功能测试方法,包括以下步骤:采集待测试的包括帐号名称的应用,所述帐号名称至少包括数字、大写字母、小写字母、中文和特殊字符中的一种特征数据;分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签;判断所述特征数据的数量是否大于预设的数量阈值;若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法;采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据;根据所述测试用例,对所述应用进行所述功能测试。

在一个实施方式中,所述分析所述应用,获取所述特征数据的数量、每个所述特征数据的可取值数量与所述应用的类型标签的步骤,包括:从所述应用中调取所述帐号名称的命名规则,其中所述命名规则规定了所述特征数据的数量与每个所述特征数据的可取值数量;从所述命名规则中获取所述特征数据的数量与每个所述特征数据的可取值数量,并从所述应用中调取所述应用的类型标签。

在一个实施方式中,所述判断所述特征数据的数量是否大于预设的数量阈值的步骤之后,包括:若所述特征数据的数量不大于预设的数量阈值,则根据预设的边界值规则,获取每个所述特征数据的可取边界值;以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;遍历所有所述特征数据的测试取值,从而生成所述测试用例。

在一个实施方式中,所述若所述特征数据的数量大于预设的数量阈值,则利用预设的应用类型与测试策略对应关系,从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略,其中所述第一测试策略至少包括正交实验法的步骤之前,包括:获取指定类型的多个历史应用的功能测试报告,所述功能测试报告中包括对功能测试质量的评分;根据公式:计算出采用第l种测试策略的指定类型历史应用的功能测试报告对功能测试质量的平均评分gl,其中bli为采用第l种测试策略的指定类型历史应用的第i个功能测试报告对功能测试质量的评分,所述指定类型的历史应用共有m个功能测试报告;将多个gl中的最大值对应的测试策略作为指定类型的测试策略,从而生成应用类型与测试策略对应关系。

在一个实施方式中,所述采用所述正交实验法生成所述功能测试的测试用例,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据的步骤,包括:在txt格式文件中记录所述特征数据,以及与所述特征数据对应的可取值;调取开源的正交工具allparis,根据所述txt格式文件,生成具有所述测试用例的txt格式文件,其中所述测试用例的数量至少为其中ak为第k个特征数据的可取值数量,共有n种特征数据。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤,包括:根据预设的边界值规则,获取每个所述特征数据的可取边界值;以所述可取边界值和与所述可取边界值最接近的可取值,作为所述特征数据的测试取值;遍历所有所述特征数据的测试取值,从而生成边界值测试用例。根据所述边界值测试用例与所述正交实验法生成的测试用例的合集,对所述应用进行所述功能测试。

在一个实施方式中,所述根据所述测试用例,对所述应用进行所述功能测试的步骤之后,包括:获取所述功能测试的结果,其中所述功能测试的结果包括对所有测试用例的子测试结果;判断所述对所有测试用例的子测试结果是否均无误;若所述对所有测试用例的子测试结果均无误,则以测试通过的结论生成功能测试报告。

本申请的计算机可读存储介质,通过采集待测试的包括帐号名称的应用,若所述特征数据的数量大于预设的数量阈值,则从预设的多个测试策略中选择与所述应用的类型标签对应的第一测试策略生成所述功能测试的测试用例,根据所述测试用例,对所述应用进行所述功能测试。从而在保证测试质量的前提下,实现了对包括帐号名称的应用的自动测试。

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

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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