具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1是本发明实施例提供的一种自动化测试方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图1所示,该方法的步骤包括S101~S104。
S101,解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式。
在本发明实施例中,在自动化测试过程中,被测系统需要根据自动化测试脚本进行相应的测试,故需要获取自动化测试脚本并对其进行相应的解析。同时,被测系统在进行自动化测试的过程中,还可能通过UI界面以及接口层实现与外部的关联系统进行数据交互处理。
对自动化测试脚本进行解析后可以确定得到相应的脚本特征信息,以便于顺利获取被测系统与外部关联系统进行数据交换处理后的数据信息。具体的,该脚本特征信息可以包括有预设的预期信息,该预设的预期信息能够与外部的关联系统返回的响应信息进行比对匹配,以通过匹配结果选择相应的处理方式确保自动化测试过程顺利进行。该脚本特征信息还可以包括预设的联调模式,其中联调模式是指被测系统和外部的关联系统之间进行数据交互的方式,联调模式可以指全联调模式、部分联调模式以及全模拟模式中的任一种。脚本特征信息中预设有其中一种联调模式,那么在自动化测试过程中,则使用该其中一种联调模式进行测试,该方式便于用户在测试过程中根据需要灵活选择测试的具体方式,同时也确保了测试过程能更加顺利地进行,实现测试数据处理及案例测试,减少无效等待。
其中,例如,被测系统可以是信贷保证险系统,其主要可用于处理一家银行的核算系统与相关合作银行的核算系统之间的数据交互,并将所有银行的核算数据进行费用拆分后再推送给财务系统。即被测系统可以从一家银行的核算系统以及各个合作银行的核算系统获取基础数据,并将拿到的数据做费用拆分,费用拆分可包括计算金额占比和总体金额。此时关联系统则可以指一家银行的核算系统、相关合作银行的核算系统以及财务系统。当然,被测系统还可以是其他的金融系统,如支付宝系统等;另外,也可以是其他的社交系统,如QQ、微信或者论坛等。
另外,在自动化测试过程中,被测系统可以调用外部的关联系统,也可以被外部的关联系统调用。
S102,若所预设的联调模式为部分联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息。
在本发明实施例中,当执行所述自动化测试脚本时,为了通过接口层关联连接到关联系统,需要发送一个相应的请求指令给关联系统,从而使得关联系统在成功接收到请求指令后生成相应的响应信息。具体的,关联系统在接收到与其相应的请求指令后,会进行相应的操作,并对应地生成与该请求指令相应的响应信息,该响应信息可返回给被测系统,以便于被测系统完成后续的测试。例如,当被测系统是信贷保证险系统,关联系统为银行的核算系统,此时信贷保证险系统向一家银行的核算系统发送一个用于获取相关基础数据的请求指令,此时银行的核算系统进行相应的操作后会将相关基础数据返回给信贷保证险系统,该返回的相关基础数据即为关联系统生成的响应信息。
其中,所述部分联调模式,可以是指在自动化测试过程中,自动化测试脚本根据实际场景,发送请求指令到关联系统并等待响应,若在指定时间内未接收到返回的响应信息,则测试脚本会进入模拟流程以模拟得到需要返回的响应信息,从而继续完成后续脚本,确保自动化测试减少对关联系统的依赖性,并能够顺利完成响应的测试。
S103,判断在预设时间范围内是否接收到关联系统返回的响应信息。
在本发明实施例中,当被测系统的接口层和关联系统的接口层正常连接时,被测系统发送的相应的请求指令才能正常地传输给关联系统,同样,只有在两接口层正常连接的情况下,关联系统根据请求指令生成的响应信息才能正常地返回到被测系统中。若接口层连接不正常或者关联系统没法及时响应请求指令,则可知请求超时,关联系统不能返回响应信息或生成响应信息。故为了保证自动化测试过程的顺利进行,需要判断在预设时间范围内是否接收到关联系统返回的响应信息。
S104,若在预设时间范围内未接收到关联系统返回的响应信息,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明被测系统和关联系统之间的连接失败或关联系统接收到请求指令后响应失败,此时需要根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息。该预设的模拟流程即为配合完成对被测系统的测试,预设并返回给被测系统一个与关联系统能够正常返回的响应信息相匹配一致的模拟信息,从而确保了整个测试过程不受外部的关联系统的影响,快速准确地实现对被测系统的测试。
例如,当该被测系统为支付宝系统,关联系统为合作银行系统时,若在自动化测试过程中的所用的测试用例需要将与某一支付宝账号相关联的且余额为一万元的银行卡转账五千元到另一支付宝账号,此时按照正常的测试途径,当支付宝系统向合作银行系统发送转账的请求指令后,该合作银行系统即会响应该转账的请求指令,转出五千元到支付宝公共账号,再由支付宝公共账号转入另一支付宝账号中,同时合作银行系统会返回上述银行卡已转账五千元成功的信息给到支付宝系统,支付宝系统接收到该转账五千元成功的信息后继续进行后续操作。
若支付宝系统在预设时间范围内没有收到转账成功的信息,则表明可能是合作银行系统未收到请求指令或因与支付宝系统连接不成功到时转账成功信息返回失败或合作银行系统未转账成功,此时为了使得支付宝系统继续自动化测试,需要根据预设的模拟流程生成一转账成功信息,该转账成功信息与预设的预期信息是相匹配的,也就是自动化测试脚本的脚本特征信息其实就有包括有预设好的转账成功信息,通过模拟生成的转账成功信息自然与预设好的转账成功信息是相同的,从而使得支付宝系统的自动化测试能够顺利完成。
进一步地,如图2所示,所述步骤S104还可以包括步骤S201~S203。其中,
S201,若在预设时间范围内未接收到关联系统返回的响应信息,调用预设的Mock平台。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明关联系统的响应失败,此时需要调用预设的Mock平台,以通过Mock平台来更改相关的数据,达到促使自动化测试顺利进行的目的。所述Mock平台可以实现Mock测试,该Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便继续测试的测试方法。也即Mock技术的目的和作用是模拟一些在测试过程中外部的关联系统不容易构造或者比较复杂的对象,从而把被测系统与被测系统以外的对象隔离开。
S202,根据所调用的Mock平台以及所述脚本特征信息生成与所述预设的预期信息相匹配的模拟信息。
在本发明实施例中,根据所调用的Mock平台以及自动化测试脚本,Mock平台可以相应地生成一个模拟信息,同时该模拟信息与所述预设的预期信息是相匹配的,此时所生成的模拟信息为与原应通过关联系统返回的响应信息相应的虚拟的对象,即为虚拟的应由关联系统返回的响应信息。
S203,根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
在本发明实施例中,被测系统根据所生成的模拟信息,可以继续执行所述自动化测试脚本,从而实现预定的自动化测试,减少了对外部的关联系统的依赖性。例如,根据上述例子可知,当支付宝系统在测试过程中,没有接收到合作银行返回的转账成功的响应信息,此时则通过Mock平台生成一个虚拟的响应信息,该虚拟的响应信息即为跟转账五千元成功相关的模拟信息,当支付宝系统接收到该模拟信息后,即可以根据自动化测试脚本继续进行后续的测试,知道完成全部的自动化测试过程,使得测试流程更为简洁方便。
进一步地,如图3所示,所述步骤S104还可以包括步骤S301~S303。其中,
S301,若在预设时间范围内未接收到关联系统返回的响应信息,调用预设的SQL脚本,所述预设的SQL脚本与所述脚本特征信息相匹配。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明关联系统的响应失败,此时需要调用预设的SQL脚本,以通过运行SQL脚本来更改相关的数据,达到促使自动化测试顺利进行的目的。此处预设的SQL脚本与所述脚本特征信息是相匹配的,即通过该预设的SQL脚本,能够获取到等同于关联系统接收到请求指令后应生成的响应信息的模拟信息,
S302,解析并执行所述预设的SQL脚本以生成与所述预设的预期信息相匹配的模拟信息。
在本发明实施例中,通过解析所述预设的SQL脚本,可以得到可执行的SQL脚本。执行该可执行的SQL脚本,即可以生成一个相应的模拟信息,同时该模拟信息与所述预设的预期信息是相匹配的,此时所生成的模拟信息即为与原应通过关联系统返回的响应信息相应的虚拟的对象。
S303,根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
在本发明实施例中,被测系统根据所生成的模拟信息,可以继续执行所述自动化测试脚本,从而实现预定的自动化测试,减少了对外部的关联系统的依赖性。例如,根据上述例子可知,当支付宝系统在测试过程中,没有接收到合作银行返回的转账成功的响应信息,此时则通过执行SQL脚本可以生成一个虚拟的响应信息,该虚拟的响应信息即为跟转账五千元成功相关的模拟信息,当支付宝系统接收到该模拟信息后,即可以根据自动化测试脚本继续进行后续的测试,知道完成全部的自动化测试过程,使得测试流程更为简洁方便。
作为进一步的实施例,所述自动化测试方法还可以包括以下步骤:
S105,若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配。
在本发明实施例中,若在预设时间范围内接收到关联系统返回的响应信息,为了保证所返回的响应信息是与请求指令相应的信息,需要判断所返回的响应信息是否与所述预设的预期信息相匹配,以确保自动化测试过程正确顺利地进行。
S106,若所返回的响应信息与所述预设的预期信息相匹配,则可继续执行自动化测试脚本,从而完成相应的自动化测试。例如,根据上述例子可知,该预设的预期信息也为转账五千元成功,当支付宝系统在预设时间范围内接收到的返回信息为转账五千元成功,那么此时则表明支付宝系统可以继续完成剩下的自动化测试过程。
若所返回的响应信息与所述预设的预期信息不相匹配,则表明返回的响应信息不准确,此时为了避免自动化测试过程因误差而不能继续,需要返回执行步骤S104,即通过预设的模拟流程生成相应的模拟信息,以完成自动化测试。
综上,本发明实施例的方法可以使得自动化测试更为灵活,能够更加有效地支持测试数据处理及案例测试,减少无效等待,从而提高测试效率和准确度。
请参阅图4,图4是本发明另一实施例提供的一种自动化测试方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图5所示,该方法的步骤包括S401~S403。
S401,解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式。
S402,若所预设的联调模式为全联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息。
在本发明实施例中,所预设的联调模式还可以是全联调模式。一般一个自动化测试脚本运行时,都已设置好联调模式,用户可以根据自身需求进行设置,从而使得自动化测试过程更为灵活方便。故当执行所述自动化测试脚本是,可向关联系统发送一相应的请求指令,以是关联系统生成相应的响应信息。
S403,若在预设时间范围内未接收到关联系统返回的响应信息,停止执行所述自动化测试脚本以结束测试。
在本发明实施例中,若在预设时间范围内没有接收到关联返回的响应信息,则返回请求失败,直接结束自动化测试,以便于用户进行相应的调整和后续操作。
作为进一步的实施例,所述自动化测试方法还可以包括以下步骤:
S404,若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配。
在本发明实施例中,若在预设时间范围内接收到关联系统返回的响应信息,为了保证所返回的响应信息是与请求指令相应的信息,需要判断所返回的响应信息是否与所述预设的预期信息相匹配,以确保自动化测试过程正确顺利地进行。其中,当所返回的响应信息与所述预设的预期信息不相匹配时,停止执行所述自动化测试脚本以结束测试。
S405,若所返回的响应信息与所述预设的预期信息相匹配,则可继续执行自动化测试脚本,从而完成相应的自动化测试。
作为进一步的实施例,所述自动化测试方法还可以包括步骤S406。
S406,若所预设的联调模式为全模拟模式,当执行所述自动化测试脚本时,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
在本发明实施例中,所预设的联调模式还可以是全模拟模式,该全模拟模式是指被测系统需要调用外部的关联系统时,不通过被测系统调用外部的关联系统,而是直接根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,该模拟信息即为原需关联系统响应请求指令的生成的响应信息。上述方式使得自动化测试过程无需再受外部的关联系统的影响,极大地方便了用户使用,确保了自动化测试过程更顺利地完成。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图5,对应上述一种自动化测试方法,本发明实施例还提出一种自动化测试装置,该装置100包括:解析单元101、发送单元102、第一判断单元103以及处理单元104。
解析单元101,用于解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式。
在本发明实施例中,在自动化测试过程中,被测系统需要根据自动化测试脚本进行相应的测试,故需要获取自动化测试脚本并对其进行相应的解析。同时,被测系统在进行自动化测试的过程中,还可能通过UI界面以及接口层实现与外部的关联系统进行数据交互处理。
对自动化测试脚本进行解析后可以确定得到相应的脚本特征信息,以便于顺利获取被测系统与外部关联系统进行数据交换处理后的数据信息。具体的,该脚本特征信息可以包括有预设的预期信息,该预设的预期信息能够与外部的关联系统返回的响应信息进行比对匹配,以通过匹配结果选择相应的处理方式确保自动化测试过程顺利进行。该脚本特征信息还可以包括预设的联调模式,其中联调模式是指被测系统和外部的关联系统之间进行数据交互的方式,联调模式可以指全联调模式、部分联调模式以及全模拟模式中的任一种。脚本特征信息中预设有其中一种联调模式,那么在自动化测试过程中,则使用该其中一种联调模式进行测试,该方式便于用户在测试过程中根据需要灵活选择测试的具体方式,同时也确保了测试过程能更加顺利地进行,实现测试数据处理及案例测试,减少无效等待。
其中,例如,被测系统可以是信贷保证险系统,其主要可用于处理一家银行的核算系统与相关合作银行的核算系统之间的数据交互,并将所有银行的核算数据进行费用拆分后再推送给财务系统。即被测系统可以从一家银行的核算系统以及各个合作银行的核算系统获取基础数据,并将拿到的数据做费用拆分,费用拆分可包括计算金额占比和总体金额。此时关联系统则可以指一家银行的核算系统、相关合作银行的核算系统以及财务系统。当然,被测系统还可以是其他的金融系统,如支付宝系统等;另外,也可以是其他的社交系统,如QQ、微信或者论坛等。
另外,在自动化测试过程中,被测系统可以调用外部的关联系统,也可以被外部的关联系统调用。
发送单元102,用于若所预设的联调模式为部分联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息。
在本发明实施例中,当执行所述自动化测试脚本时,为了通过接口层关联连接到关联系统,需要发送一个相应的请求指令给关联系统,从而使得关联系统在成功接收到请求指令后生成相应的响应信息。具体的,关联系统在接收到与其相应的请求指令后,会进行相应的操作,并对应地生成与该请求指令相应的响应信息,该响应信息可返回给被测系统,以便于被测系统完成后续的测试。例如,当被测系统是信贷保证险系统,关联系统为银行的核算系统,此时信贷保证险系统向一家银行的核算系统发送一个用于获取相关基础数据的请求指令,此时银行的核算系统进行相应的操作后会将相关基础数据返回给信贷保证险系统,该返回的相关基础数据即为关联系统生成的响应信息。
其中,所述部分联调模式,可以是指在自动化测试过程中,自动化测试脚本根据实际场景,发送请求指令到关联系统并等待响应,若在指定时间内未接收到返回的响应信息,则测试脚本会进入模拟流程以模拟得到需要返回的响应信息,从而继续完成后续脚本,确保自动化测试减少对关联系统的依赖性,并能够顺利完成响应的测试。
第一判断单元103,用于判断在预设时间范围内是否接收到关联系统返回的响应信息。
在本发明实施例中,当被测系统的接口层和关联系统的接口层正常连接时,被测系统发送的相应的请求指令才能正常地传输给关联系统,同样,只有在两接口层正常连接的情况下,关联系统根据请求指令生成的响应信息才能正常地返回到被测系统中。若接口层连接不正常或者关联系统没法及时响应请求指令,则可知请求超时,关联系统不能返回响应信息或生成响应信息。故为了保证自动化测试过程的顺利进行,需要判断在预设时间范围内是否接收到关联系统返回的响应信息。
处理单元104,用于若在预设时间范围内未接收到关联系统返回的响应信息,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明被测系统和关联系统之间的连接失败或关联系统接收到请求指令后响应失败,此时需要根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息。该预设的模拟流程即为配合完成对被测系统的测试,预设并返回给被测系统一个与关联系统能够正常返回的响应信息相匹配一致的模拟信息,从而确保了整个测试过程不受外部的关联系统的影响,快速准确地实现对被测系统的测试。
例如,当该被测系统为支付宝系统,关联系统为合作银行系统时,若在自动化测试过程中的所用的测试用例需要将与某一支付宝账号相关联的且余额为一万元的银行卡转账五千元到另一支付宝账号,此时按照正常的测试途径,当支付宝系统向合作银行系统发送转账的请求指令后,该合作银行系统即会响应该转账的请求指令,转出五千元到支付宝公共账号,再由支付宝公共账号转入另一支付宝账号中,同时合作银行系统会返回上述银行卡已转账五千元成功的信息给到支付宝系统,支付宝系统接收到该转账五千元成功的信息后继续进行后续操作。
若支付宝系统在预设时间范围内没有收到转账成功的信息,则表明可能是合作银行系统未收到请求指令或因与支付宝系统连接不成功到时转账成功信息返回失败或合作银行系统未转账成功,此时为了使得支付宝系统继续自动化测试,需要根据预设的模拟流程生成一转账成功信息,该转账成功信息与预设的预期信息是相匹配的,也就是自动化测试脚本的脚本特征信息其实就有包括有预设好的转账成功信息,通过模拟生成的转账成功信息自然与预设好的转账成功信息是相同的,从而使得支付宝系统的自动化测试能够顺利完成。
进一步地,如图6所示,所述处理单元104还包括:第一调用单元201、第一调整单元202以及第一执行单元203。
第一调用单元201,用于调用预设的Mock平台。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明关联系统的响应失败,此时需要调用预设的Mock平台,以通过Mock平台来更改相关的数据,达到促使自动化测试顺利进行的目的。所述Mock平台可以实现Mock测试,该Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便继续测试的测试方法。也即Mock技术的目的和作用是模拟一些在测试过程中外部的关联系统不容易构造或者比较复杂的对象,从而把被测系统与被测系统以外的对象隔离开。
第一调整单元202,用于根据所调用的Mock平台以及所述脚本特征信息生成与所述预设的预期信息相匹配的模拟信息。
在本发明实施例中,根据所调用的Mock平台以及自动化测试脚本,Mock平台可以相应地生成一个模拟信息,同时该模拟信息与所述预设的预期信息是相匹配的,此时所生成的模拟信息为与原应通过关联系统返回的响应信息相应的虚拟的对象,即为虚拟的应由关联系统返回的响应信息。
第一执行单元203,用于根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
在本发明实施例中,被测系统根据所生成的模拟信息,可以继续执行所述自动化测试脚本,从而实现预定的自动化测试,减少了对外部的关联系统的依赖性。例如,根据上述例子可知,当支付宝系统在测试过程中,没有接收到合作银行返回的转账成功的响应信息,此时则通过Mock平台生成一个虚拟的响应信息,该虚拟的响应信息即为跟转账五千元成功相关的模拟信息,当支付宝系统接收到该模拟信息后,即可以根据自动化测试脚本继续进行后续的测试,知道完成全部的自动化测试过程,使得测试流程更为简洁方便。
进一步地,如图7所示,所述处理单元104还可以包括:第二调用单元301、第二调整单元302以及第二执行单元303。
第二调用单元301,用于若在预设时间范围内未接收到关联系统返回的响应信息,调用预设的SQL脚本,所述预设的SQL脚本与所述脚本特征信息相匹配。
在本发明实施例中,若在预设时间范围内未接收到关联系统返回的响应信息,则表明关联系统的响应失败,此时需要调用预设的SQL脚本,以通过运行SQL脚本来更改相关的数据,达到促使自动化测试顺利进行的目的。此处预设的SQL脚本与所述脚本特征信息是相匹配的,即通过该预设的SQL脚本,能够获取到等同于关联系统接收到请求指令后应生成的响应信息的模拟信息,
第二调整单元302,用于解析并执行所述预设的SQL脚本以生成与所述预设的预期信息相匹配的模拟信息。
在本发明实施例中,通过解析所述预设的SQL脚本,可以得到可执行的SQL脚本。执行该可执行的SQL脚本,即可以生成一个相应的模拟信息,同时该模拟信息与所述预设的预期信息是相匹配的,此时所生成的模拟信息即为与原应通过关联系统返回的响应信息相应的虚拟的对象。
第二执行单元303,用于根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
在本发明实施例中,被测系统根据所生成的模拟信息,可以继续执行所述自动化测试脚本,从而实现预定的自动化测试,减少了对外部的关联系统的依赖性。例如,根据上述例子可知,当支付宝系统在测试过程中,没有接收到合作银行返回的转账成功的响应信息,此时则通过执行SQL脚本可以生成一个虚拟的响应信息,该虚拟的响应信息即为跟转账五千元成功相关的模拟信息,当支付宝系统接收到该模拟信息后,即可以根据自动化测试脚本继续进行后续的测试,知道完成全部的自动化测试过程,使得测试流程更为简洁方便。
作为进一步的实施例,所述自动化测试装置还可以包括以下单元:
第二判断单元105,用于若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配。
在本发明实施例中,若在预设时间范围内接收到关联系统返回的响应信息,为了保证所返回的响应信息是与请求指令相应的信息,需要判断所返回的响应信息是否与所述预设的预期信息相匹配,以确保自动化测试过程正确顺利地进行。
生成单元106,用于若所返回的响应信息与所述预设的预期信息不相匹配,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。例如,根据上述例子可知,该预设的预期信息也为转账五千元成功,当支付宝系统在预设时间范围内接收到的返回信息为转账五千元成功,那么此时则表明支付宝系统可以继续完成剩下的自动化测试过程。
若所返回的响应信息与所述预设的预期信息不相匹配,则表明返回的响应信息不准确,此时为了避免自动化测试过程因误差而不能继续,需要返回执行处理单元104,即通过预设的模拟流程生成相应的模拟信息,以完成自动化测试。
综上,本发明实施例的方法可以使得自动化测试更为灵活,能够更加有效地支持测试数据处理及案例测试,减少无效等待,从而提高测试效率和准确度。
请参阅图8,对应上述一种自动化测试方法,本发明另一实施例还提出一种自动化测试装置,该装置400包括:解析单元401、发送单元402以及结束单元403。
解析单元401,用于解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式。
发送单元402,还用于若所预设的联调模式为全联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息。
在本发明实施例中,所预设的联调模式还可以是全联调模式。一般一个自动化测试脚本运行时,都已设置好联调模式,用户可以根据自身需求进行设置,从而使得自动化测试过程更为灵活方便。故当执行所述自动化测试脚本是,可向关联系统发送一相应的请求指令,以是关联系统生成相应的响应信息。
结束单元403,用于若在预设时间范围内未接收到关联系统返回的响应信息,停止执行所述自动化测试脚本以结束测试。
在本发明实施例中,若在预设时间范围内没有接收到关联返回的响应信息,则返回请求失败,直接结束自动化测试,以便于用户进行相应的调整和后续操作。
作为进一步的实施例,所述自动化测试装置还可以包括以下单元:
第三判断单元404,用于若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配。
在本发明实施例中,若在预设时间范围内接收到关联系统返回的响应信息,为了保证所返回的响应信息是与请求指令相应的信息,需要判断所返回的响应信息是否与所述预设的预期信息相匹配,以确保自动化测试过程正确顺利地进行。其中,当所返回的响应信息与所述预设的预期信息不相匹配时,停止执行所述自动化测试脚本以结束测试。
其中处理单元405还用于若所返回的响应信息与所述预设的预期信息相匹配,则可继续执行自动化测试脚本,从而完成相应的自动化测试。
作为进一步的实施例,所述自动化测试装置中的处理单元405还用于若所预设的联调模式为全模拟模式,当执行所述自动化测试脚本时,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
在本发明实施例中,所预设的联调模式还可以是全模拟模式,该全模拟模式是指被测系统需要调用外部的关联系统时,不通过被测系统调用外部的关联系统,而是直接根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,该模拟信息即为原需关联系统响应请求指令的生成的响应信息。上述方式使得自动化测试过程无需再受外部的关联系统的影响,极大地方便了用户使用,确保了自动化测试过程更顺利地完成。
由以上可见,在硬件实现上,以上解析单元101、发送单元102、第一判断单元103以及处理单元104等可以以硬件形式内嵌于或独立于自动化测试的装置中,也可以以软件形式存储于自动化测试装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述自动化测试装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图9,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种自动化测试方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种自动化测试方法。计算机设备500的网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行如下操作:解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式;若所预设的联调模式为部分联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息;判断在预设时间范围内是否接收到关联系统返回的响应信息;若在预设时间范围内未接收到关联系统返回的响应信息,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
所述处理器502还可以执行如下操作:若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配;若所返回的响应信息与所述预设的预期信息不相匹配,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
所述处理器502执行所述根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试时,具体可以执行如下操作:调用预设的Mock平台;根据所调用的Mock平台以及所述脚本特征信息生成与所述预设的预期信息相匹配的模拟信息;根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
所述处理器502执行所述根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试时,具体还可以执行如下操作:调用预设的SQL脚本,所述预设的SQL脚本与所述脚本特征信息相匹配;解析并执行所述预设的SQL脚本以生成与所述预设的预期信息相匹配的模拟信息;根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
所述处理器502还可以执行如下操作:若所预设的联调模式为全联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息;若在预设时间范围内未接收到关联系统返回的响应信息,停止执行所述自动化测试脚本以结束测试。
本领域技术人员可以理解,图9中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行,以实现以下步骤:解析获取的自动化测试脚本以确定相应的脚本特征信息,所述脚本特征信息包括预设的预期信息以及一预设的联调模式;若所预设的联调模式为部分联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息;判断在预设时间范围内是否接收到关联系统返回的响应信息;若在预设时间范围内未接收到关联系统返回的响应信息,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
所述处理器还实现以下步骤:若在预设时间范围内接收到关联系统返回的响应信息,判断所返回的响应信息是否与所述预设的预期信息相匹配;若所返回的响应信息与所述预设的预期信息不相匹配,根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试。
所述处理器还实现所述根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试时时,具体可以实现以下步骤:调用预设的Mock平台;根据所调用的Mock平台以及所述脚本特征信息生成与所述预设的预期信息相匹配的模拟信息;根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
所述处理器还实现所述根据预设的模拟流程生成与所述预设的预期信息相匹配的模拟信息,以完成自动化测试时时,具体可以实现以下步骤:调用预设的SQL脚本,所述预设的SQL脚本与所述脚本特征信息相匹配;解析并执行所述预设的SQL脚本以生成与所述预设的预期信息相匹配的模拟信息;根据所生成的模拟信息,继续执行所述自动化测试脚本以完成自动化测试。
所述处理器还实现以下步骤:若所预设的联调模式为全联调模式,当执行所述自动化测试脚本时,向关联系统发送一相应的请求指令,以使关联系统生成相应的响应信息;若在预设时间范围内未接收到关联系统返回的响应信息,停止执行所述自动化测试脚本以结束测试。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例自动化测试方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例自动化测试终端中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。