一种自动化测试管理方法
【技术领域】
[0001]本发明涉及自动化测试技术领域,尤其涉及一种自动化测试管理方法。
【背景技术】
[0002]目前的软件行业中,各种各样的软件开发层出不穷,软件项目的周期也不断变长,对于同一个软件也会频繁发布不同的更新版本,从而导致软件业务逻辑极其复杂。
[0003]根据现有技术对软件进行自动化测试,通常会遇到比较混乱的测试参数和测试数据,关联于不同测试环境的测试数据之间管理比交换乱,且容易互相干扰。同时,应用现有的测试技术,对于测试过程中的配置缺乏一定的灵活性。
【发明内容】
[0004]根据现有技术中存在的问题,现提供一种自动化测试管理方法,旨在提升测试配置的灵活性,避免测试过程中不同的测试环境之间的测试数据管理互相干扰的问题。
[0005]上述技术方案具体包括:
[0006]一种自动化测试管理方法,其中,对关联于测试案例的测试环境,预设相应的测试参数,所述测试案例中包括多个测试脚本;
[0007]所述测试参数的类型:重复性参数,为在所述测试环境中的所有所述测试脚本中通用的用于构建所述测试环境的可重复使用的参数;
[0008]消耗性参数,为在所述测试环境中的所有所述测试脚本中通用的用于填充所述测试脚本的测试内容的不可重复使用的参数;
[0009]固定参数,为在所述测试环境中的所有所述测试脚本中通用的用于描述测试案例的参数;
[0010]所述自动化测试管理方法具体包括:
[0011]步骤SI,根据当前的所述测试案例,选择相应的所述测试参数;
[0012]步骤S2,根据预设的赋值数据,对被选择的所述测试参数进行赋值,并将经过赋值的所述测试参数分别填充至所述测试案例中的不同的所述测试脚本中;
[0013]步骤S3,根据经过填充的多个所述测试脚本组建形成相应的所述测试案例;
[0014]步骤S4,根据所述测试案例,运行相应的多个所述测试脚本,以实现自动化测试,随后退出。
[0015]优选的,该自动化测试管理方法,其中,针对所述测试环境,还预设一结果获取单元;
[0016]所述步骤S4中,运行相应的多个所述测试脚本,并采用所述结果获取单元获取所述测试脚本反馈的测试结果;
[0017]所述测试结果用于向测试人员显示,和/或输入至其他相应的所述测试脚本,以进行所述测试参数的填充。
[0018]优选的,该自动化测试管理方法,其中,所述重复性参数和所述消耗性参数均被预先保存于一数据管理器中,并由所述数据管理器分配给相应的所述测试脚本。
[0019]优选的,该自动化测试管理方法,其中,所述固定参数被预先保存于一上层的综合控制脚本中,并由所述综合控制脚本分配给相应的所述测试脚本。
[0020]优选的,该自动化测试管理方法,其中,所述测试结果被记录于所述数据管理器中,并由所述数据管理器分配给相应的所述测试脚本。
[0021]优选的,该自动化测试管理方法,其中,所述步骤SI中,首先执行下述步骤,以对将要填充入所述测试脚本中的所述测试参数进行重写:
[0022]步骤S11,判断将要填充入所述测试脚本的所述测试参数的类型是否符合相应的所述测试环境;
[0023]若所述测试参数的类型符合所述测试环境,则转向步骤S13 ;
[0024]步骤S12,重新定义相应的所述测试参数的类型;
[0025]步骤S13,继续执行所述步骤SI,以将经过赋值的所述测试参数填充入相应的所述测试脚本中。
[0026]优选的,该自动化测试管理方法,其中,所述步骤S12中,重新定义的方式包括:根据相应的所述测试环境,将所述测试参数的类型重新定义为所述固定参数。
[0027]优选的,该自动化测试管理方法,其中,所述步骤S12中,重新定义的方式包括:根据相应的所述测试环境将所述测试参数的类型重新定义为所述重复性参数,或者所述消耗性参数,或者所述固定参数。
[0028]优选的,该自动化测试管理方法,其中,所述步骤S2中,根据之前已经执行的所述测试脚本的输出结果对当前的所述测试脚本中的所述测试参数进行赋值。
[0029]优选的,该自动化测试管理方法,其中,所述数据管理器中包括预设的所述赋值数据;
[0030]所述步骤S12中,根据关联于不同类型的所述测试参数的读取顺序,于所述数据管理器中读取相应的所述赋值数据,以对相应的所述测试参数进行赋值。
[0031]优选的,该自动化测试管理方法,其中,关联于所述重复性参数的所述读取顺序为:从所述数据管理器中读取相应的所述赋值数据,并在所述测试脚本中重复使用。
[0032]优选的,该自动化测试管理方法,其中,关联于所述消耗性参数的所述读取顺序包括:
[0033]按照所述数据管理器中预设的相应的所述赋值数据的存储顺序进行读取的第一读取方式;或者
[0034]按照随机顺序读取保存于所述数据管理器中的相应的所述赋值数据的第二读取方式;或者
[0035]读取保存于所述数据管理器中的一条相应的所述赋值数据并持续填充至相应的所述测试脚本中,以迭代执行预设次数的第三读取方式。
[0036]优选的,该自动化测试管理方法,其中,关联于所述固定参数的所述读取顺序为:读取预设于所述数据管理器中的相应的所述赋值数据,并填充至相应的所述测试脚本中,保持被填充的所述固定参数中的所述赋值数据于所述测试脚本中恒定不变。
[0037]优选的,该自动化测试管理方法,其中,所述步骤S2中,若不存在预设的所述赋值数据,则对相应的所述测试参数赋予对应的预设的默认值。
[0038]上述技术方案的有益效果是:提供一种自动化测试管理方法,提升测试配置的灵活性,避免测试过程中不同的测试环境之间的测试数据管理互相干扰的问题。
【附图说明】
[0039]图1-2是本发明的较佳的实施例中,一种自动化测试管理方法的流程示意图。
【具体实施方式】
[0040]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0042]下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0043]本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种自动化测试管理方法。该测试管理方法中,首先对关联于测试案例的测试环境,预设相应的测试参数,每个测试案例中包括多个测试脚本;
[0044]测试参数的类型:包括重复性参数、消耗性参数以及固定参数;
[0045]重复性参数为在测试环境中的所有测试脚本中通用的用于构建测试环境的可重复使用的参数;
[0046]消耗性参数为在测试环境中的所有测试脚本中通用的用于填充测试脚本的测试内容的不可重复使用的参数;
[0047]固定参数为在测试环境中的所有测试脚本中通用的用于描述测试案例的参数。
[0048]具体地,本发明的较佳的实施例中,上述测试参数为可以填充入测试脚本中的参数,换言之,对于一个确定要参与自动化测试执行的测试脚本而言,其被填充入相应的测试参数之后
,就可以自动执行,以实现自动化测试中的某些测试功能。
[0049]本发明的较佳的实施例中,所谓测试环境,是指相应的多个测试脚本能够运行的环境,也是对应的测试案例指定构建的环境。例如,对于移动终端内的应用程序测试而言,其测试环境可以为安卓系统(Android),再细分到某个具体的系统版本号,则相关的测试脚本均在该版本的安卓系统上执行,以实现自动化测试。
[0050]本发明的较佳的实施例中,所谓重复性参数,其可以在关联于一个测试环境中的所有测试脚本中通用。重复性参数的特点是可以重复使用,例如一些测试环境的配置字段(测试环境信息、数据源信息、运行等待时间以及超时时间等)。本发明的较佳的实施例中,上述重复性参数被创建并保存于一数据管理器中。
[0051]本发明的较佳的实施例中,所谓消耗性参数,其可以在关联于一个测试环境中的所有测试脚本中通用。消耗性参数的特点是只能一次使用,例如一些用于表征测试内容的数据(身份证号码、邮箱地址以及验证码信息等)。上述消耗性数据,在一次使用之后无法再次使用,即不能重复使用。本发明的较佳的实施例中,上述消耗性数据同样被创建并保存于一数据管理器种。
[0052]本发明的较佳的实施例中,所谓固定数据,是指一些在测试过程中可以被明确定义的,并且不会因为业务改变而发生变更的数据,同样可以在关联于一个测试环境中的所有测试脚本内通用。固定数据由上层的综合控制脚本写入下层的相应的测试脚本中,并不保存于上述数据管理器中。本发明的较佳的实施例中,上述固定数据一旦写入测试脚本中,即固定于该测试脚本内,可以反复使用。测试脚本中的固定参数例如一些验证码或者校验码,在测试脚本中保持不变。
[0053]则本发明的较佳的实施例中,应用上述预先分类的测试参数,上述自动化测试管理方法如图1所示,具体包括:
[0054]步骤SI,根据当前的多个测试脚本,选择相应的测试参数,以填充不同的测试脚本中;
[0055]本发明的较佳的实施例中,对于一个确定的测试环境,可以选择多个相应的测试脚本以组成一个确定的测试案例,对软件进行自动化测试。例如,对于移动终端的自动化测试过程中,针对安卓系统的测试环境,可以选择“通话测试”的相关脚本、“短信测试”的相关脚本以及“数据流量测试”的相关脚本,以构成一个综合测试移动终端通话功能、短信收发功能以及网络数据传输功能的测试案例。
[0056]则本发明的较佳的实施例中,对于每个确定加入到测试案例中的测试脚本,将相应类型的测试参数填充至该测试脚本中,以形成可以被执行的脚本。
[0057]例如,对于一个测试脚本而言,可以将上述重复性数据(例如测试环境的配置字段)填充入测试脚本中,以配置相应的测试环境;以及将上述消耗性数据(例如某条用户验证记录)填充入测试脚本中,以作为自动化测试的测试内容;以及将上述固定数据填充入测试脚本中,以完成测试脚本的搭建。
[0058]本发明的较佳的实施例中,于上述步骤SI中,如图2所示,首先执行下述步骤,以对将要填充入所述测试脚本中的所述测试参数进行重写:
[0059]步骤S11,判断将要填充入测试脚本的测试参数的类型是否符合相应的测试环境;
[0060]若测试参数的类型符合测试环境,则转向步骤S13 ;
[0061]步骤S12,重新定义相应的测试参数的类型;
[0062]本发明的较佳的实施例中,将上述不同类型的测试参数填充入测试脚本中之前,首先需要判断将要填充的测试参数的类型是否还符合当前的测试环境。在某些情况下,原本已经定义好的测试参数的类型,可能并不适应当前的测试环境,例如对于一些重复性参数而言,其在特定的测试环境中,可能并不能作为重复性参数使用,例如一些预先设定的环境配置参数在某些特定的测试环境中并不适用,此时,在继承上述重复性参数的同时,重写(即重新定义)所继承的重复性参数,将其重新定义为其他类型,例如将重复性参数重新定义为消耗性参数或者固定参数,并继续下述步骤。
[0063]本发明的较佳的实施例中,若不需要重写(即重新定义),则可以直接调用数据管理器或者由上层的综合控制脚本下发至测试脚本中进行测试参数并填充入相应的测试脚本中。
[0064]重新定义的方式在下文中会详述。
[0065]步骤S13,继续执行步骤SI,以将测试参数填充入相应的测试脚本中。
[0066]步骤S2,根据预设的赋值数据,对被选择的测试参数进行赋值,并将经过赋值的测试参数分别填充至测试案例中的不同的测试脚本中;
[0067]本发明的较佳的实施例中,于数据管理器中,针对不同类型的测试参数,预设多个不同类型的赋值数据,不同的赋值数据可能针对于不同的测试环境。则本发明的较佳的实施例中,按照一定的读取顺序,从数据管理器中读取相应的赋值数据,并根据读取结果分别对不同的测试脚本中的不同类型的测试参数进行赋值。
[0068]具体地,本发明的较佳的实施例中:
[0069]对于重复性参数而言,其读取顺序可以为:从数据管理器中读取相应的赋值数据,并在测试脚本中重复使用。
[0070]对于固定参数而言,其读取顺序可以为:读取预设于数据管理器中的相应的赋值数据,并填充至相应的测试脚本中,保持被填充的固定参数中的赋值数据于测试脚本中恒定不变。
[0071]对于消耗性参数而言,其读取顺序可以为:
[0072]I)按照数据管理器中预设的相应的赋值数据的存储顺序进行读取的第一读取方式(消耗型读取方式);该读取方式中,每次迭代从数据管理器中依照存储顺序读取一条对应的赋值数据,并且在使用完毕后将其置为“已使用”状态,下次再读取时,同样依照存储顺序进行读取,同时滤除处于“已使用”状态的赋值数据。
[0073]或者
[0074]2)按照随机顺序读取保存于数据管理器中的相应的赋值数据的第二读取方式(随机型读取方式);该读取方式中,每次迭代从数据管理器中随机读取一条对应的赋值数据,并且在使用完毕后将其置为“已使用”状态,下次再读取时,同样进行随机读取,同时滤除处于“已使用”状态的赋值数据。
[0075]或者
[0076]3)读取保存于数据管理器中的一条相应的赋值数据并持续填充至相应的测试脚本中,以迭代执行预设次数的第三读取方式(唯一型读取方式);该读取方式中,于数据管理器中读取一条对应的赋值数据,并且依照该赋值数据所赋值的测试参数进行预设次数的迭代执行(例如10次迭代),等到预设次数的迭代执行完毕后,再将相应的赋值数据设定为处于“已使用”状态,并且在下次读取时滤除处于“已使用”状态的赋值数据。
[0077]本发明的较佳的实施例中,结合赋值方式,对上文中所述的“重新定义”进行说明:
[0078]上述步骤S12中的重新定义,其方式可以有多种,具体包括:
[0079]I)根据当前的测试环境和测试案例,将所有测试参数重新定义为固定参数,并且采用固定参数的读取和赋值方式对其进行赋值;
[0080]2)根据当前的测试环境和测试案例,将相应的测试参数重新定义为重复性参数,或者消耗性参数,或者固定参数,或者其他新定义的参数(可以为数据管理器中原本不存在的参数类型),并根据之前已经执行的测试脚本的输出结果(该输出结果的获取在下文中会详述)对相应的测试参数进行赋值,即对重新定义的测试参数,赋予其他测试脚本运行时输出的数据;
[0081]3)根据当前的测试环境和测试案例,不重新定义相应的测试参数的类型,而直接根据之前已经执行的测试脚本的输出结果对相应的测试参数进行赋值,即对重新定义的测试参数,赋予
其他测试脚本运行时输出的数据。
[0082]本发明的较佳的实施例中,对于不同类型的测试参数,通常都预设有一默认值。例如,当相应的测试参数在数据管理器中并不存在对应的预设的赋值数据时,可以将其赋予上述默认值。又例如,当数据管理器中本身就没有定义该参数类型,例如上述重新定义方式中包括的“其他新定义的参数”,则可以将其赋予相应的默认值。
[0083]本发明的较佳的实施例中,上述默认值可以为空。
[0084]步骤S3,根据经过填充的多个测试脚本组建形成相应的测试案例;
[0085]步骤S4,根据测试案例,运行相应的多个测试脚本,以实现自动化测试,随后退出。
[0086]本发明的较佳的实施例中,针对不同的测试环境,还预先定义一结果获取单元,并采用该结果获取单元获取测试脚本运行时的测试结果(即测试脚本的输出数据),并将测试结果保存于数据管理器中。换言之,本发明的较佳的实施例中,于数据管理器中预先定义一结果获取参数,可以调用该结果获取参数,根据测试脚本执行之后输出的测试结果进行赋值。
[0087]本发明的较佳的实施例中,上述结果获取单元获取的测试结果(即经过赋值的结果获取参数)可以用于:
[0088]I)校验,即将预期值与实际值进行对比;
[0089]2)向测试人员显示,即向测试人员显示不同的测试脚本的测试结果;
[0090]3)输入至其他相应的测试脚本,以进行测试参数的填充。本发明的较佳的实施例中,如上文中所述,在重新定义过程中,可以采用测试结果对不同类型的参数进行赋值,而无需从数据管理器中获取相应的赋值数据再进行赋值。
[0091]综上所述,本发明技术方案中,在执行自动化测试之前,首先预设多个类型的测试参数,选择不同类型的测试参数并对其赋值,以填充到不同的测试脚本中。根据经过填充的测试脚本组成相应的测试案例,并最终运行整个测试案例,以实现自动化测试。
[0092]以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
【主权项】
1.一种自动化测试管理方法,其特征在于,对关联于测试案例的测试环境,预设相应的测试参数,所述测试案例中包括多个测试脚本; 所述测试参数的类型:重复性参数,为在所述测试环境中的所有所述测试脚本中通用的用于构建所述测试环境的可重复使用的参数; 消耗性参数,为在所述测试环境中的所有所述测试脚本中通用的用于填充所述测试脚本的测试内容的不可重复使用的参数; 固定参数,为在所述测试环境中的所有所述测试脚本中通用的用于描述所述测试案例的参数; 所述自动化测试管理方法具体包括: 步骤Si,根据当前的所述测试案例,选择相应的所述测试参数; 步骤S2,根据预设的赋值数据,对被选择的所述测试参数进行赋值,并将经过赋值的所述测试参数分别填充至所述测试案例中的不同的所述测试脚本中; 步骤S3,根据经过填充的多个所述测试脚本组建形成相应的所述测试案例; 步骤S4,根据所述测试案例,运行相应的多个所述测试脚本,以实现自动化测试,随后退出。2.如权利要求1所述的自动化测试管理方法,其特征在于,针对所述测试环境,还预设一结果获取单元; 所述步骤S4中,运行相应的多个所述测试脚本,并采用所述结果获取单元获取所述测试脚本反馈的测试结果; 所述测试结果用于向测试人员显示,和/或输入至其他相应的所述测试脚本,以进行所述测试参数的填充。3.如权利要求1所述的自动化测试管理方法,其特征在于,所述重复性参数和所述消耗性参数均被预先保存于一数据管理器中,并由所述数据管理器分配给相应的所述测试脚本。4.如权利要求1所述的自动化测试管理方法,其特征在于,所述固定参数被预先保存于一上层的综合控制脚本中,并由所述综合控制脚本分配给相应的所述测试脚本。5.如权利要求3所述的自动化测试管理方法,其特征在于,所述测试结果被记录于所述数据管理器中,并由所述数据管理器分配给相应的所述测试脚本。6.如权利要求1所述的自动化测试管理方法,其特征在于,所述步骤SI中,首先执行下述步骤,以对将要填充入所述测试脚本中的所述测试参数进行重写: 步骤S11,判断将要填充入所述测试脚本的所述测试参数的类型是否符合相应的所述测试环境; 若所述测试参数的类型符合所述测试环境,则转向步骤S13 ; 步骤S12,重新定义相应的所述测试参数的类型; 步骤S13,继续执行所述步骤SI,以将经过赋值的所述测试参数填充入相应的所述测试脚本中。7.如权利要求6所述的自动化测试管理方法,其特征在于,所述步骤S12中,重新定义的方式包括:根据相应的所述测试环境,将所述测试参数的类型重新定义为所述固定参数。8.如权利要求6所述的自动化测试管理方法,其特征在于,所述步骤S12中,重新定义的方式包括:根据相应的所述测试环境将所述测试参数的类型重新定义为所述重复性参数,或者所述消耗性参数,或者所述固定参数。9.如权利要求1所述的自动化测试管理方法,其特征在于,所述步骤S2中,根据之前已经执行的所述测试脚本的输出结果对当前的所述测试脚本中的所述测试参数进行赋值。10.如权利要求1所述的自动化测试管理方法,其特征在于,所述数据管理器中包括预设的所述赋值数据; 所述步骤S12中,根据关联于不同类型的所述测试参数的读取顺序,于所述数据管理器中读取相应的所述赋值数据,以对相应的所述测试参数进行赋值。11.如权利要求10所述的自动化测试管理方法,其特征在于,关联于所述重复性参数的所述读取顺序为:从所述数据管理器中读取相应的所述赋值数据,并在所述测试脚本中重复使用。12.如权利要求10所述的自动化测试管理方法,其特征在于,关联于所述消耗性参数的所述读取顺序包括: 按照所述数据管理器中预设的相应的所述赋值数据的存储顺序进行读取的第一读取方式;或者按照随机顺序读取保存于所述数据管理器中的相应的所述赋值数据的第二读取方式;或者 读取保存于所述数据管理器中的一条相应的所述赋值数据并持续填充至相应的所述测试脚本中,以迭代执行预设次数的第三读取方式。13.如权利要求10所述的自动化测试管理方法,其特征在于,关联于所述固定参数的所述读取顺序为:读取预设于所述数据管理器中的相应的所述赋值数据,并填充至相应的所述测试脚本中,保持被填充的所述固定参数中的所述赋值数据于所述测试脚本中恒定不变。14.如权利要求1所述的自动化测试管理方法,其特征在于,所述步骤S2中,若不存在预设的所述赋值数据,则对相应的所述测试参数赋予对应的预设的默认值。
【专利摘要】本发明公开了一种自动化测试管理方法,属于自动化测试技术领域;方法包括:步骤S1,根据当前的所述测试案例,选择相应的所述测试参数;步骤S2,根据预设的赋值数据,对被选择的所述测试参数进行赋值,并将经过赋值的所述测试参数分别填充至所述测试案例中的不同的所述测试脚本中;步骤S3,根据经过填充的多个所述测试脚本组建形成相应的所述测试案例;步骤S4,根据所述测试案例,运行相应的多个所述测试脚本,以实现自动化测试,随后退出。上述技术方案的有益效果是:提升测试配置的灵活性,避免测试过程中不同的测试环境之间的测试数据管理互相干扰的问题。
【IPC分类】G06F11/36
【公开号】CN104899149
【申请号】CN201510373157
【发明人】杨赞文
【申请人】上海瀚银信息技术有限公司
【公开日】2015年9月9日
【申请日】2015年6月29日