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

文档序号:14870265发布日期:2018-07-06 22:23阅读:180来源:国知局
本发明涉及软件测试
技术领域
,尤其涉及自动化测试方法、装置、计算机设备及存储介质。
背景技术
:自动化测试是指通过自动化的软件测试工具或其他手段,按照测试人员的测试计划进行自动测试,目的是减轻手工测试的工作量,从而提高软件测试效率,并以此提高软件质量。相对于手工测试而言,自动化测试的主要进步在于自动化测试工具的引入。在当前的现有技术中已经存在不少成熟的自动化测试方案,例如instrumentation和uiautomator等,然而现有技术中的测试方案存在扩展性和灵活性不足的缺陷,且测试过程中智能化程度不高,因此现有技术中的测试方案在对软件产品的性能测试进行测试时存在诸多弊端。技术实现要素:本发明实施例提供自动化测试方法、装置、计算机设备及存储介质,旨在解决现有技术中的测试方案存在的扩展性不足和灵活性不足的问题。第一方面,本发明实施例提供了一种自动化测试方法,其包括:接收待测试订单;根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序;根据已配置的各接口顺序进行接口测试以执行测试用例;若接口测试出现异常,终止测试用例的执行;若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。第二方面,本发明实施例提供了一种自动化测试装置,其包括:测试订单接收单元,用于接收待测试订单;接口配置单元,用于根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序;测试流程执行单元,用于根据已配置的各接口顺序进行接口测试以执行测试用例;异常结果处理单元,用于若接口测试出现异常,终止测试用例的执行;测试结果分析单元,用于若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的自动化测试方法。第四方面,本发明实施例还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面所述的自动化测试方法。本发明提供了一种自动化测试方法、装置、计算机设备及存储介质。通过testng框架,对软件产品进行测试,并生成包含响应时间和吞吐量的测试报告,能够实现对软件产品的性能进行分析评估,通过xml文件进行接口的执行顺序的配置,使对软件产品的测试过程具有良好的扩展性和灵活性,且提高了测试效率。附图说明为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的自动化测试方法的流程示意图;图2是本发明实施例提供的自动化测试方法中子步骤的流程示意图;图3是本发明实施例提供的自动化测试方法中子步骤的流程示意图;图4是本发明实施例提供的自动化测试方法中子步骤的流程示意图;图5是本发明实施例提供的自动化测试方法中子步骤的流程示意图;图6是本发明实施例提供的自动化测试装置的示意性框图;图7是本发明实施例提供的自动化测试装置中子单元的示意性框图;图8是本发明实施例提供的自动化测试装置中子单元的示意性框图;图9是本发明实施例提供的自动化测试装置中子单元的示意性框图;图10是本发明实施例提供的自动化测试装置中子单元的示意性框图;图11是本发明另一实施例提供的计算机设备的示意性框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。参见图1,图1是本发明实施例提供的自动化测试方法的流程示意图,如图所示方法可包括以下步骤s100-s500。步骤s100、接收待测试订单。在对软件产品进行测试之前,需为测试服务器分配相应的计算能力、存储空间,并将待测试订单导入测试服务器。具体的,可根据待测试的软件产品的订单的流转流程所需的计算能力、存储空间,分配相应的计算能力和存储空间,其中所分配的计算能力和存储空间应略大于实际需求,以满足软件产品在进行测试时,能够正常完成测试流程。待测试的软件产品中的订单具有既定的流转流程,在进行测试过程中,需按照订单的流转流程进行软件产品的测试。例如,某一订单的流转流程中包含订单生成、订单处理、金额结算、订单配货,另一订单的流转流程中仅包含订单生成、订单处理、金额结算。步骤s200、根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序。在将待测试订单导入测试服务器后,根据待测试订单的流转流程生成相应的测试用例。测试用例中包含根据特定的流程所编制的一组测试输入、执行条件以及预期结果的参数,以便测试某个程序路径或核实所测试的软件产品是否满足某个特定需求。测试用例中包括对软件产品的多个接口进行测试的执行流程,为了对一系列的接口进行测试,需通过xml文件对需测试的接口顺序进行配置,若接口顺序配置错误,则会导致测试过程中流程异常,并导致测试用例无法顺利执行。在上述方法中,通过xml文件对接口的执行顺序进行配置,由于xml文件具有非常良好的兼容性,因此在对软件产品的测试过程具有良好的扩展性和灵活性。且xml文件能够在单位空间内存储更多内容,因此使用xml文件对接口的执行顺序进行配置,能够降低对于测试服务器的系统资源的占用率,提高配置效率。具体参见图2,在一些实施例中,步骤s200可包括步骤s210和s220。步骤s210、根据待测试订单的流转流程生成与待测试订单相应的测试用例。步骤s220、根据接口中参数的返回顺序对测试用例中的接口顺序进行配置,将所配置的接口顺序写入xml文件。具体的,所述步骤s210中所编写完成的测试用例为,按照软件产品的订单的流转流程进行执行的测试流程,模拟软件产品的订单生成、订单处理、金额结算、订单配货等处理过程。测试用例中即会包含所需测试的软件的既定流程,通过代码等程序语言对所测试的软件的流程进行表述。在根据待测试订单的流转流程生成与待测试订单相应的测试用例时,测试用例中的接口数量可为1个或多个。若接口数量为1个,将测试用例中接口的测试模式配置为单接口的测试模式;若接口数量大于1个,将测试用例中接口的执行顺序配置多接口的测试模式,单接口的测试模式和多接口的测试模式均可依据本发明中的方法步骤执行测试流程。其中,若接口数量为1个,将测试用例中接口的执行顺序配置为单接口的测试模式,在设置需测试的软件产品的订单的流转流程时,可对单独接口的输入覆盖进行测试进行配置。若接口数量大于1个,将测试用例中接口的执行顺序配置多接口的测试模式,使用xml配置各接口的执行顺序,之后测试软件依据xml中所配置的执行顺序,根据所约定的依赖关系,对需测试的软件产品的订单的流转流程进行测试,根据测试用例的流程,模拟生成若干个订单,并对生成的订单进行处理,对订单中的金额进行结算,完成一个测试用例的流转流程也即是完成一个软件产品订单的整个流转流程。要使最终用户对软件性能感到满意,最有力的举措就是对最终用户的期望加以明确阐述,以便对这些期望进行核实并确认其有效性。测试用例反映了要核实的需求,选中要核实的需求将是对成本、风险和对该需求进行核实的必要性这三者权衡考虑的结果。具体针对本案中的技术方案,选取软件产品中的订单流转流程为测试用例中的关键需求,测试软件执行若干个软件产品订单的整个流转流程,并对单位时间内测试用例处理的数量,以及完成测试用例整个流程的执行时间进行统计。单位时间内测试用例的处理数量即测试用例在执行测试过程中单位时间内的吞吐量,完成测试用例整个流程的执行时间即是测试用例在整个测试流程中执行测试的响应时间。具体的,所述步骤s220中根据接口中参数的返回顺序对测试用例中的接口顺序进行配置,将所配置的接口顺序写入xml文件。在进行接口测试过程中,需根据接口中参数的返回顺序对测试用例中的接口顺序进行配置,若接口顺序配置错误,则会导致测试过程中流程异常,并导致测试用例无法顺利执行。例如在进行接口测试中,需先进行模式固化接口的测试:modeconfirm请求参数为一个json字符串{“citycode”:”440400”,”areacode”:”440404”,”custname”:”测试账号1”}返回参数通过java断言assert语句判断是否等于{“retcode”:”0000”,”insurant”:”a有限公司”,”iscgi”:”0”,”guaranteecompany”:”b有限公司”,”retmsg”:”返回成功”};如果返回参数正确,则该接口测试通过,并将返回参数中的关键参数:applyno,insurant,guaranteecompany等保存在一个map数组对象中供后续接口测试使用。之后进行费用归属查询接口的测试:chargeascription请求参数为一个json字符串{“saleschannel”:”02”,”salesid”:”aa123”,”isreferrer”:”n”,”applyno”:orderinfo.get("applyno")}(applyno参数就是第一个案例中保存在map数组对象中的数据)返回参数要判断是否等于{“retcode”:”0000”,”retmsg”:”返回成功”,”issuccess”:”1”}然后判断数据库中表中business_loan_ssinterface的saleschannel字段为02。如果结果都正确,则第二条案例通过,将返回的参数追加到map中,供后续案例执行时使用。按照此方法依次继续调用影像上传接口getimageinfo、新增贷款接口newloan、获取门店预约时间接口getaptdeptandtime,预约提交接口cmtaptdeptandtime,身份验证接口authchange,合同套打接口contprntchange、材料上传接口upldcmpltchange、确认要款接口guarantymoney最终完成测试。为了对一系列的接口进行测试,需通过xml文件对需测试的接口顺序进行配置,若接口顺序配置错误,则会导致软件测试过程中流程异常,并导致测试无法顺利进行。因此需按照既定的测试流程对测试接口进行配置,例如,在上述案例中,需通过xml文件,按照模式固化接口modeconfirm、费用归属查询接口chargeascription、影像上传接口getimageinfo、新增贷款接口newloan、获取门店预约时间接口getaptdeptandtime,预约提交接口cmtaptdeptandtime,身份验证接口authchange,合同套打接口contprntchange、材料上传接口upldcmpltchange、确认要款接口guarantymoney最终完成测试的顺序进行接口测试顺序的配置。通过上述方式,能够按照软件产品的订单的流转流程进行执行的测试流程,通过测试流程模拟软件产品的订单流转流程,且使用的xml文件能够在单位空间内存储更多内容,因此使用xml文件对接口的执行顺序进行配置,能够降低对于测试服务器的系统资源的占用率,提高配置效率。其中,所述步骤s220中还可以包括通过xml文件对执行软件测试的测试参数进行配置,可配置测试用例的执行次数,并将执行完成的时间进行统计,分析得到测试用例执行一次的平均时间。通过对测试用例进行多次执行并取平均值,可避免一次测试用例的执行过程中出现偶然情况而导致测试结果异常。通过上述方式,能够根据所需进行输入覆盖测试的接口数量对接口的测试进行灵活配置,满足用户对软件产品的各种测试需求。步骤s300、根据已配置的各接口顺序进行接口测试以执行测试用例。其中,根据xml所配置的测试用例中各接口顺序依次执行测试流程,完成流程所涉及的多个接口的测试,当订单流转到被测试接口时,即启动testng框架进行测试,也既是当订单执行到订单流转流程中的某一具体步骤时,即完成这一具体步骤的测试。其中,软件产品中的执行步骤即为软件测试接口,软件产品的每一个执行步骤具体对应一个软件测试接口。例如,影像上传接口getimageinfo与软件产品中的影像上传步骤相对应,新增贷款接口newloan与软件产品中的新增贷款步骤相对应,获取门店预约时间接口getaptdeptandtime与软件产品中的门店预约时间步骤相对应。通过上述方式,能够自动化地按照xml所配置的测试用例中各接口顺序依次执行测试流程,完成流程所涉及的多个接口的测试。步骤s400、若接口测试出现异常,终止测试用例的执行。具体实施时,由于软件产品在进行测试过程中,需根据xml文件所配置的各接口顺序对多个接口进行测试,在这一过程中无可避免地会出现某些接口的测试不通过,当测试用例在执行测试过程中,若某一接口测试的测试结果为不通过,则及时终止这一测试用例的执行。具体参见图3,在一些实施例中,步骤s400中还包括:步骤s410和步骤s420。s410、获取出现异常的接口的测试结果。在根据xml所配置的测试用例中各接口顺序依次执行测试流程的过程中,没完成一个接口的测试,即自动生成该接口的测试结果,若接口测试出现异常,则测试软件会自动获取接口的测试结果。s420对测试用例中测试异常的接口的测试结果进行解析,得到针对相应接口的异常信息。对于测试用例中出现某一接口测试失败的信息,则对测试用例中测试异常的接口的测试结果进行解析,得到针对相应接口的异常信息。若某一接口测试失败,则对测试用例中测试异常的接口的测试结果进行解析,得到针对相应接口的异常信息并向用户展示,以方便方便用户及时获取测试过程中出现的异常信息。在解决软件产品的订单中某一流程所存在的问题后,可重新执行测试操作。例如,费用归属查询接口的测试失败,则测试软件自动对测试失败的结果进行解析,通过解析得到数据库中表中business_loan_ssinterface的saleschannel字段中的内容与目标值存在差异,则将“saleschannel字段中的内容与目标值存在差异”作为异常信息相用户进行展示。在解决软件产品的订单中费用归属查询接口所存在的问题后,可再次执行测试操作。通过上述方法,在接口测试不通过时,能够实现自动对测试用例的执行流程进行终止,并对接口测试结果的自动获取,针对相应的接口得到针对相应接口的异常信息,能够辅助用户对异常接口进行处理,提高测试过程中的自动化程度,提升测试效率。步骤s500、若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。测试用例执行成功,则测试用例执行过程中各接口的测试均未出现异常,系统获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。具体参见图4,在一些实施例中,步骤s500可以包括s510和s520。步骤s510、根据测试用例的测试结果,对执行测试过程中接口测试的响应时间和吞吐量进行统计,得到测试用例在测试执行过程中的响应时间t和吞吐量q;步骤s520、根据以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值。其中,响应时间,即是执行一次测试过程,获取测试结果所需的时间。通过获取每一接口测试过程中的响应时间,能够了解到软件性能测试过程中接口的执行速度,在后期处理过程中,能够针对执行速度较慢的接口进行优化处理,以提高软件产品的整体处理速度,测试用例在测试执行过程中的响应时间记为t。吞吐量,是测试脚本重复执行的次数,也即是对软件产品中接口进行测试的次数。单位时间的吞吐量能够反映出软件产品的压力测试效率,也即是软件产品的执行效率,单位时间内吞吐量较大,则软件产品的执行效率高,单位时间内吞吐量较小,则软件产品的执行效率较低,测试用例在测试执行过程中的吞吐量记为q。其中,测试软件根据预先设置的测试参数,生成测试用例,并依据xml文件所配置的接口的执行顺序对测试用例的测试流程进行执行,完成一个测试用例的测试流程也即是完成软件产品的一个订单的整个流转流程。每生成一个测试用例,测试软件便自动统计这一个测试用例在执行测试流程过程中的每一接口的测试结果,对每一测试用例在整个测试流程中执行测试的响应时间和吞吐量的进行统计,并根据以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值。具体的,当测试用例的响应时间较长时,则表明软件产品的执行效率不高,需要进行优化;当测试用例的响应时间较短时,则表明软件产品执行流程十分流畅,执行效率高。通过综合测试用例的响应时间以及测试用例的吞吐量,并计算得到测试用例的执行效率参数,能够更好地对测试用例的执行效率进行量化评价。例如两个测试用例的测试结果为:响应时间吞吐量响应时间阈值吞吐量阈值测试用例145ms3230ms30测试用例226ms2530ms30则根据上述计算公式分别计算得到,测试用例1的执行效率参数为p1=(30/45+32/30)/2=86.67%;测试用例2的执行效率参数为p2=(30/26+25/30)/2=99.35%。通过上述方式,能够自动获取测试过程中每一接口测试的响应时间和吞吐量,并对多个测试用例在执行测试过程中的响应时间和吞吐量进行统计,并计算得到测试用例的执行效率参数,实现了根据响应时间和吞吐量自动化计算得到执行效率参数的功能,能够提高测试工作的整体测试效率。在另一些实施例中,步骤s520可以包括:获取多个测试用例的测试结果,根据响应时间对已测试的多个测试用例进行排序,并针对响应时间较长的测试用例的测试结果进行解析,得到降低软件产品响应时间的优化处理方案。具体实施时,根据响应时间对已测试的测试用例进行排序,对响应时间较长的测试用例的测试结果进行解析,得到降低软件产品响应时间的优化处理方案。例如,测试用例1在多个测试用例中的响应时间最长,在对测试用例1的测试结果进行解析后,得到测试用例1中的测试流程重复测试的接口较多,则优化处理方案为,对测试用例1中重复测试的接口进行简化处理,将重复测试的接口删除。根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析,得到提高软件产品单位时间内吞吐量的优化处理方案。具体实施时,根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析,得到提高软件产品单位时间内吞吐量的优化处理方案。例如,测试用例2单位时间内的吞吐量最低,在对测试用例2的测试结果进行解析后,得到测试用例2中线程阻塞情况较为严重,导致处理过程中单位时间内的吞吐量较低,则优化处理方案为,对测试用例2中的线程进行优化处理,适当增加测试用例2中的线程数。此外,如图5所示,步骤s520中还可以包括:s521根据响应时间对已测试的测试用例进行排序,并针对响应时间较长的测试用例的测试结果进行解析;s522根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析。具体地,响应时间解析单元根据响应时间对已测试的测试用例进行排序,对响应时间较长的测试用例的测试结果进行解析,得到降低软件产品响应时间的优化处理方案。例如,测试用例1在多个测试用例中的响应时间最长,在对测试用例1的测试结果进行解析后,得到测试用例1中的测试流程重复测试的接口较多,则优化处理方案为,对测试用例1中重复测试的接口进行简化处理,将重复测试的接口删除。吞吐量解析单元根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析,得到提高软件产品单位时间内吞吐量的优化处理方案。例如,测试用例2单位时间内的吞吐量最低,在对测试用例2的测试结果进行解析后,得到测试用例2中线程阻塞情况较为严重,导致处理过程中单位时间内的吞吐量较低,则优化处理方案为,对测试用例2中的线程进行优化处理,适当增加测试用例2中的线程数。可见,通过本发明所提供的自动化测试方法,自动化测试方法、终端、计算机设备及存储介质,通过testng框架,对软件产品进行测试,并计算得到每一测试用例的执行效率参数,通过xml文件进行接口的执行顺序的配置,使对软件产品的测试过程具有良好的扩展性和灵活性。当前的现有技术中已经存在不少成熟的自动化测试方案,然而现有技术中的测试方案存在扩展性和灵活性不足的缺陷,且测试过程中智能化程度不高,因此现有技术中的测试方案在对软件产品的性能测试进行测试时存在诸多弊端。本发明中公开了自动化测试方法,通过对软件产品进行测试,并生成包含响应时间和吞吐量的测试报告,能够实现对软件产品的性能进行分析评估,通过xml文件进行接口的执行顺序的配置,使对软件产品的测试过程具有良好的扩展性和灵活性,能够方便用户对软件产品的性能进行测试,提高测试效率。本发明实施例还提供自动化测试装置,该自动化测试装置用于执行前述任一项自动化测试方法。具体地,请参阅图6,图6是本发明实施例提供的自动化测试装置的示意性框图。自动化测试装置1可以安装于台式电脑、平板电脑、手提电脑等终端中。如图6所示,自动化测试装置1包括:测试订单导入单元100、接口配置单元200、测试流程执行单元300、异常结果处理单元400、测试结果分析单元500。测试订单导入单元100,用于接收待测试订单。具体地,在进行测试过程中,需按照订单的流转流程进行软件产品的测试,用户可通过测试订单导入单元将待测试订单导入测试服务器中。待测试的软件产品中的订单具有既定的流转流程,在进行测试过程中,需按照订单的流转流程进行软件产品的测试。接口配置单元200,用于根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序。测试用例中包括对软件产品的多个接口进行测试的执行流程,为了对一系列的接口进行测试,需通过xml文件对需测试的接口顺序进行配置,若接口顺序配置错误,则会导致测试过程中流程异常,并导致测试用例无法顺利执行。测试流程执行单元300,用于根据已配置的各接口顺序进行接口测试以执行测试用例。其中,根据xml所配置的测试用例中各接口顺序依次执行测试流程,完成流程所涉及的多个接口的测试,当订单流转到被测试接口时,即启动testng框架进行测试,也既是当订单执行到订单流转流程中的某一具体步骤时,即完成这一具体步骤的测试,并自动获取测试用例中接口的测试结果。其中,软件产品中的执行步骤即为软件测试接口,软件产品的每一个执行步骤具体对应一个软件测试接口。例如,影像上传接口getimageinfo与软件产品中的影像上传步骤相对应,新增贷款接口newloan与软件产品中的新增贷款步骤相对应,获取门店预约时间接口getaptdeptandtime与软件产品中的门店预约时间步骤相对应。通过上述方式,能够自动化地按照xml所配置的测试用例中各接口顺序依次执行测试流程,完成流程所涉及的多个接口的测试,并自动获取测试用例中接口的测试结果。异常结果处理单元400,用于若接口测试出现异常,终止测试用例的执行。具体实施时,由于软件产品在进行测试过程中,需根据xml文件所配置的各接口顺序对多个接口进行测试,在这一过程中无可避免地会出现某些接口的测试不通过,当测试用例在执行测试过程中,若某一接口测试不通过,则及时终止这一测试用例的执行。测试结果分析单元500,用于若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。测试用例执行成功,则测试用例执行过程中各接口的测试均未出现异常,系统获取测试用例的测试结果,并根据测试用例的测试结果计算得到执行效率参数。当前的现有技术中已经存在不少成熟的自动化测试方案,然而现有技术中的测试方案存在扩展性和灵活性不足的缺陷,且测试过程中智能化程度不高,因此现有技术中的测试方案在对软件产品的性能测试进行测试时存在诸多弊端。本发明中公开了自动化测试方法,通过对软件产品进行测试,并生成包含响应时间和吞吐量的测试报告,能够实现对软件产品的性能进行分析评估,通过xml文件进行接口的执行顺序的配置,使对软件产品的测试过程具有良好的扩展性和灵活性,能够方便用户对软件产品的性能进行测试,提高测试效率。具体参见图7,在一些实施例中,所述接口配置单元200可以包括:测试用例生成单元210、接口执行顺序配置单元220。其中,测试用例生成单元210,用于根据待测试订单的流转流程生成与待测试订单相应的测试用例。接口执行顺序配置单元220,用于根据接口中参数的返回顺序对测试用例中接口的执行顺序进行配置,将所配置的接口顺序写入xml文件。具体地,测试用例生成单元210所编写完成的测试用例为,按照软件产品的订单的流转流程进行执行的测试流程,模拟软件产品的订单生成、订单处理、金额结算、订单配货等处理过程。测试用例中即会包含所需测试的软件的既定流程,通过代码等程序语言对所测试的软件的流程进行表述。接口执行顺序配置单元220使用xml配置测试用例中各接口的执行顺序,为了对一系列的接口进行测试,需根据接口中参数的返回顺序并通过xml文件对需测试的接口顺序进行配置。通过上述方式,能够按照软件产品的订单的流转流程进行执行的测试流程,通过测试流程模拟软件产品的订单流转流程,且使用的xml文件能够在单位空间内存储更多内容,因此使用xml文件对接口的执行顺序进行配置,能够降低对于测试服务器的系统资源的占用率,提高配置效率。具体参见图8,在一些实施例中,所述异常结果处理单元400中还包括:异常信息获取单元410和异常结果解析单元420。其中,异常信息获取单元410,用于获取出现异常的接口的测试结果。在根据xml所配置的测试用例中各接口顺序依次执行测试流程的过程中,没完成一个接口的测试,即自动生成该接口的测试结果,若接口测试出现异常,则测试软件会自动获取接口的测试结果。异常结果解析单元420,用于对所获取的出现异常的接口的测试结果进行解析,以得到针对相应接口的异常信息。对于测试用例中出现某一接口测试失败的信息,则对测试用例中测试异常的接口的测试结果进行解析,得到针对相应接口的异常信息。若某一接口测试失败,则对测试用例中测试异常的接口的测试结果进行解析,得到针对相应接口的异常信息并向用户展示,以方便方便用户及时获取测试过程中出现的异常信息。在解决软件产品的订单中某一流程所存在的问题后,可重新执行测试操作。通过上述方法,在接口测试不通过时,能够实现自动对测试用例的执行流程进行终止,并对接口测试结果的自动获取,针对相应的接口得到针对相应接口的异常信息,能够辅助用户对异常接口进行处理,提高测试过程中的自动化程度,提升测试效率。具体参见图9,在另一些实施例中,所述测试结果分析单元500可以包括:测试结果统计单元510和执行效率分析单元520。其中,测试结果统计单元510,用于根据测试用例的测试结果,对执行测试过程中接口测试的响应时间和吞吐量进行统计,得到测试用例在测试执行过程中的响应时间t和吞吐量q。执行效率分析单元520,用于根据以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值。其中,测试软件根据预先设置的测试参数,生成测试用例,并依据xml文件所配置的接口的执行顺序对测试用例的测试流程进行执行,完成一个测试用例的测试流程也即是完成软件产品的一个订单的整个流转流程。每生成一个测试用例,测试软件便自动统计这一个测试用例在执行测试流程过程中的每一接口的测试结果,对每一测试用例在整个测试流程中执行测试的响应时间和吞吐量的进行统计,以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值,t为测试用例在测试执行过程中的响应时间,q为测试用例在测试执行过程中的吞吐量。具体的,当测试用例的响应时间较长时,则表明软件产品的执行效率不高,需要进行优化;当测试用例的响应时间较短时,则表明软件产品执行流程十分流畅,执行效率高。通过综合测试用例的响应时间以及测试用例的吞吐量,并计算得到测试用例的执行效率参数,能够更好地对测试用例的执行效率进行量化评价。通过上述方式,能够自动获取测试过程中每一接口测试的响应时间和吞吐量,并对测试用例在执行测试过程中的响应时间和吞吐量进行统计,并计算得到测试用例的执行效率参数,实现了根据响应时间和吞吐量自动化计算得到执行效率参数的功能,能够提高测试工作的整体测试效率。如图10所示,在一些实施例中,所述执行效率分析单元520可以包括:响应时间解析单元521和吞吐量解析单元522。其中,响应时间解析单元521,用于根据响应时间对已测试的测试用例进行排序,并针对响应时间较长的测试用例的测试结果进行解析。吞吐量解析单元522,用于根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析。具体地,响应时间解析单元根据响应时间对已测试的测试用例进行排序,对响应时间较长的测试用例的测试结果进行解析,得到降低软件产品响应时间的优化处理方案。例如,测试用例1在多个测试用例中的响应时间最长,在对测试用例1的测试结果进行解析后,得到测试用例1中的测试流程重复测试的接口较多,则优化处理方案为,对测试用例1中重复测试的接口进行简化处理,将重复测试的接口删除。吞吐量解析单元根据吞吐量对已测试的测试用例进行排序,并针对单位时间内吞吐量较低的测试用例的测试结果进行解析,得到提高软件产品单位时间内吞吐量的优化处理方案。例如,测试用例2单位时间内的吞吐量最低,在对测试用例2的测试结果进行解析后,得到测试用例2中线程阻塞情况较为严重,导致处理过程中单位时间内的吞吐量较低,则优化处理方案为,对测试用例2中的线程进行优化处理,适当增加测试用例2中的线程数。综上,本发明所提供的自动化测试装置,通过执行本发明所提供的自动化测试方法,通过testng框架对软件产品进行测试,并生成包含响应时间和吞吐量的测试报告,能够实现对软件产品的性能进行分析评估,通过xml文件进行接口的执行顺序的配置,使对软件产品的测试过程具有良好的扩展性和灵活性,能够方便用户对测试结果进行分析,具有提高测试效率的技术效果。上述自动化测试装置可以实现为计算机程序的形式,该计算机程序可以在如图11所示的计算机设备上运行。请参阅图11,图11是本发明实施例提供的计算机设备的示意性框图。该计算机设备700设备可以是终端或测试服务器。该终端或测试服务器可以是平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。参阅图11,该计算机设备700包括通过系统总线701连接的处理器702、存储器和网络接口705,其中,存储器可以包括非易失性存储介质703和内存储器704。该非易失性存储介质703可存储操作系统7031和计算机程序7032。该计算机程序7032包括程序指令,该程序指令被执行时,可使得处理器702执行自动化测试方法。该处理器702用于提供计算和控制能力,支撑整个计算机设备700的运行。该内存储器704为非易失性存储介质703中的计算机程序7032的运行提供环境,该计算机程序7032被处理器702执行时,可使得处理器702执行自动化测试方法。该网络接口705用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图11中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器702用于运行存储在存储器中的计算机程序7032,以实现如下功能:接收待测试订单;根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序;根据已配置的各接口顺序进行接口测试以执行测试用例;若接口测试出现异常,终止测试用例的执行;若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。在一实施例中,处理器702还执行如下操作:根据待测试订单的流转流程生成与待测试订单相应的测试用例;根据接口中参数的返回顺序对测试用例中接口的执行顺序进行配置,将所配置的接口顺序写入xml文件。在一实施例中,处理器702还执行如下操作:获取出现异常的接口的测试结果;对所获取的出现异常的接口的测试结果进行解析,以得到针对相应接口的异常信息。在一实施例中,处理器702还执行如下操作:根据测试用例的测试结果,对执行测试过程中接口测试的响应时间和吞吐量进行统计,得到测试用例在测试执行过程中的响应时间t和吞吐量q;根据以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值。本领域技术人员可以理解,图11中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图11所示实施例一致,在此不再赘述。应当理解,在本发明实施例中,处理器702可以是中央处理单元(centralprocessingunit,cpu),该处理器702还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。在本发明的另一实施例中提供存储介质。该存储介质可以为存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:接收待测试订单;根据已接收的待测试订单生成相应的测试用例,并通过xml文件配置测试用例中接口的执行顺序;根据已配置的各接口顺序进行接口测试以执行测试用例;若接口测试出现异常,终止测试用例的执行;若测试用例执行成功,自动获取测试用例的测试结果,并根据所获取的测试用例的测试结果计算得到测试用例的执行效率参数。在一实施例中,该程序指令被处理器执行时实现:根据待测试订单的流转流程生成与待测试订单相应的测试用例;根据接口中参数的返回顺序对测试用例中接口的执行顺序进行配置,将所配置的接口顺序写入xml文件。在一实施例中,该程序指令被处理器执行时实现:获取出现异常的接口的测试结果;对所获取的出现异常的接口的测试结果进行解析,以得到针对相应接口的异常信息。在一实施例中,该程序指令被处理器执行时实现:根据测试用例的测试结果,对执行测试过程中接口测试的响应时间和吞吐量进行统计,得到测试用例在测试执行过程中的响应时间t和吞吐量q;根据以下公式计算得到测试用例的执行效率参数p:p=(t/t+q/q)/2;其中,t为预设的响应时间阈值,q为预设的吞吐量阈值。所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1