• <optgroup id="kgw0l"><del id="kgw0l"></del></optgroup>
    <optgroup id="kgw0l"></optgroup>
  • 一种自动测试方法、系统及装置与流程

    文档序号:29435046发布日期:2022-03-29 11:19来源:国知局
    一种自动测试方法、系统及装置与流程

    本发明涉及软件测试技术领域,具体涉及一种自动测试方法、系统及装置。

    背景技术

    软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,为了提升应用的可靠性,改善用户体验,现如今各种软件在投入使用或进行版本及功能更新之前都需要进行反复严密的测试以发现软件程序中的错误、对软件是否符合设计要求,以及是否符合合同中所要达到的技术要求进行有关验证以评估软件的质量,最终将高质量的软件系统交给用户。

    由于有些应用在使用时往往需要第三方平台进行配合以实现一些特殊功能,例如各种软件中的交易操作有时需要银行系统配合(例如换汇平台需要银行配合以完成线上换汇等),游戏平台和视频播放平台有时需要与社交软件配合完成分享及信息获取,在进行软件测试时为了模拟真实的使用过程需要第三方平台配合完成软件测试,例如需要第三方平台的工作人员基于测试端发送的业务文件构造一个返回文件,对第三方的依赖性较强,且需要测试人员根据测试用例手动构造大量的测试数据,并反复上传,效率低下,需要耗费大量人力和时间,且构造的数据有时会出现疏漏,可靠性较弱,因此,需要提供更加有效的方案。



    技术实现要素:

    为了解决现有技术的问题,本发明提供了一种自动测试方法、系统及装置。所述技术方案如下:

    本申请一方面提供了一种自动测试方法,所述方法包括:

    测试端向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息;

    所述第三方服务器从所述第一测试样本信息中提取测试标识信息;

    所述第三方服务器向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;

    所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    所述安全传输服务器将所述对应的第二测试样本信息发送给所述第三方服务器;

    所述第三方服务器向所述测试端发送所述对应的第二测试样本信息;

    所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本申请另一方面提供了另一种自动测试方法,所述方法包括:

    向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息,以使所述第三方服务器从所述第一测试样本信息中提取测试标识信息,以及向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息,以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,以及将所述对应的第二测试样本信息发送给所述第三方服务器;所述第二测试样本信息为预先基于所述第一测试样本信息和预设测试规则生成的;

    接收所述第三方服务器发送的所述对应的第二测试样本信息;

    基于所述对应的第二测试样本信息对目标程序进行测试。

    本申请另一方面提供了另一种自动测试方法,所述方法包括:

    接收测试端发送的业务请求,所述业务请求携带有第一测试样本信息;

    从所述第一测试样本信息中提取测试标识信息;

    向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    接收所述安全传输服务器发送的所述对应的第二测试样本信息;

    向所述测试端发送所述对应的第二测试样本信息,以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本申请另一方面提供了另一种自动测试方法,所述方法包括:

    接收第三方服务器发送的测试样本获取请求,所述测试样本获取请求携带有测试标识信息,所述测试标识信息为所述第三方服务器从第一测试样本信息中提取的,所述第一测试样本信息为测试端向第三方服务器发送的业务请求携带的;

    基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    将所述对应的第二测试样本信息发送给所述第三方服务器;以使所述第三方服务器向所述测试端发送所述对应的第二测试样本信息,以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本申请另一方面提供了一种自动测试系统,所述系统包括:

    测试端、安全传输服务器和第三方服务器;

    所述测试端用于向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息;以及基于对应的第二测试样本文件对目标程序进行测试;

    所述安全传输服务器用于基于测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;以及将所述对应的第二测试样本信息发送给所述第三方服务器;

    所述第三方服务器用于从所述第一测试样本信息中提取所述测试标识信息;向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;以及向所述测试端发送所述对应的第二测试样本信息。

    本申请另一方面提供了一种自动测试装置,所述装置包括:

    业务请求发送模块,用于向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息,以使所述第三方服务器从所述第一测试样本信息中提取测试标识信息,以及向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息,以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,以及将所述对应的第二测试样本信息发送给所述第三方服务器;所述第二测试样本信息为预先基于所述第一测试样本信息和预设测试规则生成的;

    数据接收模块,用于接收所述第三方服务器发送的所述对应的第二测试样本信息;

    程序测试模块,用于基于所述对应的第二测试样本信息对目标程序进行测试。

    本申请另一方面提供了另一种自动测试装置,所述装置包括:

    业务请求接收模块,用于接收测试端发送的业务请求,所述业务请求携带有第一测试样本信息;

    标识信息提取模块,用于从所述第一测试样本信息中提取测试标识信息;

    样本获取请求发送模块,用于向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    测试信息接收模块,用于接收所述安全传输服务器发送的所述对应的第二测试样本信息;

    测试信息发送模块,用于向所述测试端发送所述对应的第二测试样本信息,以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本申请另一方面提供了另一种自动测试装置,所述装置包括:

    样本获取请求接收模块,用于接收第三方服务器发送的测试样本获取请求,所述测试样本获取请求携带有测试标识信息,所述测试标识信息为所述第三方服务器从第一测试样本信息中提取的,所述第一测试样本信息为测试端向第三方服务器发送的业务请求携带的;

    测试样本信息确定模块,用于基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    测试样本发送模块,用于将所述对应的第二测试样本信息发送给所述第三方服务器;以使所述第三方服务器向所述测试端发送所述对应的第二测试样本信息;以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本申请另一方面提供了一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述的自动测试方法。

    本申请另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述的自动测试方法。

    本申请提供的自动测试方法、系统及装置,具有如下技术效果:

    本申请中第二测试样本信息是预先基于第一测试样本信息和预设测试规则生成的,无需第三方服务器配合构造第二测试样本信息,仅需根据测试标识信息确定是否存在与所述第一测试样本信息对应的第二测试样本信息,并将第二测试样本信息返回以对目标程序进行测试,降低了对第三方的依赖性,且仍然利用真实的第三方服务器配合完成整个软件测试业务流程,有利于还原真实的使用过程进行软件测试,有利于提升软件测试的真实性和可靠性;且能够自动生成大量的测试数据,效率高,减少了资源浪费,且使得测试过程更加灵活可靠。

    本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

    附图说明

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

    图1是本申请实施例提供的一种应用环境的示意图;

    图2是本申请实施例提供的一种自动测试方法的流程图;

    图3是本申请实施例提供的另一种自动测试方法的流程图;

    图4是本申请实施例提供的另一种自动测试方法的流程图;

    图5是本申请实施例提供的另一种自动测试方法的流程图;

    图6是本申请实施例提供的另一种自动测试方法的流程图;

    图7是本申请实施例提供的自动测试系统的一种实施例的结构示意图;

    图8是本申请实施例提供的一种自动测试装置示意图;

    图9是本申请实施例提供的一种自动测试的服务器的硬件结构框图。

    具体实施方式

    下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。

    需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

    请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括测试端100、安全传输服务器200及第三方服务器300。

    在本说明书实施例中,测试端100可以用于向第三方服务器发送携带有第一测试样本信息的业务请求,以使第三方服务器300从所述第一测试样本信息中提取测试标识信息从而后续发送第二测试样本文件给测试端100;测试端100还可以用于基于第三方服务器300返回的第二测试样本文件对目标程序进行测试;测试端100还可以用于预先基于第一测试样本信息和预设测试规则生成第二测试样本信息,并在向第三方服务器发送业务请求之前,将需要测试的测试样本信息发送给安全传输服务器200,无需依赖第三方服务器300生成第二测试样本信息,降低对第三方服务器300的依赖性,提升软件测试的效率。具体地,测试端100可以包括处理器和存储器,其中,处理器可以用于接收指令、解析数据以及基于第三方服务器发送的第二测试样本文件对目标程序进行测试;存储器可以用于存储预先生成的第二测试样本文件等。在具体的实施例中,测试端100可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群;在另一些实施例中,测试端100也可以包括台式电脑、平板电脑、笔记本电脑、智能手机等类型的实体设备,本发明并不以此为限。

    在本说明书实施例中,安全传输服务器200可以用于接收第三方服务器300发送的携带有测试标识信息的测试样本获取请求,且能够基于测试标识信息确定与第一测试样本信息对应的第二测试样本信息,以及将该对应的第二测试样本信息发送给第三方服务器300。具体地,安全传输服务器200可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,在实际应用中,该安全传输服务器200可以包括但不限于SFTP服务器(Secret File Transfer Protocol安全文件传送服务器),利用SFTP服务器能够通过安全的连接传输文件,且能够遍历本地和远程服务器上的文件系统。

    在本说明书实施例中,第三方服务器300可以用于接收测试端100发送的携带有第一测试样本信息的业务请求,并从第一测试样本信息中提取测试标识信息,向安全传输服务器200发送携带有所述测试标识信息的测试样本获取请求,以使安全传输服务器200基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息并发送给所述第三方服务器300,从而第三方服务器300能够将该对应的第二测试样本信息发送给测试端100,以使测试端100基于该对应的第二测试样本文件对目标程序进行测试。第三方服务器300可以包括有网络通信单元、处理器和存储器等等。在本说明书实施例中,第三方服务器300可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,在实际应用中,该第三方服务器300可以包括但不限于银行系统和社交平台服务器。

    请参照图1,在实际应用中,测试端100向第三方服务器300发送业务请求,且该业务请求携带有第一测试样本信息;第三方服务器300从该第一测试样本信息中提取测试标识信息,并向安全传输服务器200发送测试样本获取请求,且该测试样本获取请求携带有所述测试标识信息;安全传输服务器200基于该测试标识信息确定与该第一测试样本信息对应的第二测试样本信息,且该第二测试样本信息为测试端100预先基于第一测试样本信息和预设测试规则生成的;安全传输服务器200将该对应的第二测试样本信息发送给第三方服务器300;第三方服务器300向测试端200发送该对应的第二测试样本信息;测试端100即可基于该对应的第二测试样本文件对目标程序进行测试。

    此外,需要说明的是,图1仅仅是本申请实施例提供的一种应用环境的示意图,在实际应用中,测试端100还可以包括至少一个预设的前置机,并且利用该预设的前置机完成与第三方服务器300的数据交互,本发明并不以此为限。

    图2是本申请实施例提供的一种自动测试方法的流程图,请参照图2,本说明书实施例提供的自动测试方法包括如下步骤:

    S201:测试端向第三方服务器发送业务请求。

    具体地,该业务请求可以携带有第一测试样本信息。在本说明书实施例中,该第一测试样本信息可以包括业务属性信息,该业务属性信息可以为测试端模拟被测试客户端(例如,换汇平台)生成的相关业务数据,且所述第一测试样本信息可以是测试端预先基于实际测试需求生成,并发送给安全传输服务器进行存储的。

    例如,在针对换汇平台进行软件测试时,该第一测试样本信息可以包括一个excel格式的文件,该业务属性信息可以包括但不限于:订单发起日期、订单编号、开户名、买入币种、买入金额、卖出币种、卖出金额、渠道和交割日期。

    在本说明书实施例中,为了适配不同的第三方服务器,可以在测试端设置至少一个预设的前置机,且该预设的前置机与第三方服务器一一对应。在本说明书实施例中,该预设的前置机可以包括运行于测试端中的软体,且该预设的前置机能够起到数据传输和安全校验的作用。

    在测试端向第三方服务器发送业务请求之前,所述方法还可以包括:测试端利用预设的前置机向安全传输服务器发送测试数据获取请求;该安全传输服务器基于该测试数据获取请求将第一测试样本信息发送给该预设的前置机;测试端利用该预设的前置机对该第一测试样本信息进行安全校验。测试端向第三方服务器发送业务请求可以包括:测试端在安全校验通过后利用该预设的前置机向第三方服务器发送业务请求,且该业务请求携带有该第一测试样本信息。具体地,测试端利用该对应的前置机对该第一测试样本信息进行安全校验可以包括但不限于:对该第一测试样本信息的文件名、密钥等进行校验。

    例如,在针对换汇平台进行软件测试时,上述的第三方服务器可以包括银行系统,由于各银行系统的接口和传输参数可能存在差异,且为了避免因银行系统可能存在漏洞而对测试端带来的安全威胁,测试端设置了与每个银行系统对应的银行换汇前置机,测试端利用该对应的银行换汇前置机向对应的银行系统发送业务请求(例如,利用A银行的银行换汇前置机向A银行系统发送业务请求),且在测试端向该银行系统发送业务请求之前,测试端可以利用对应的银行换汇前置机从安全传输服务器获取该第一测试样本信息,并利用该对应的银行换汇前置机对该第一测试样本信息进行安全校验,提升软件测试的安全性和可靠性。

    S203:第三方服务器从所述第一测试样本信息中提取测试标识信息。

    在本说明书实施例中,该测试标识信息为一个唯一的标识码,且该测试标识信息可以包括但不限于由字母、数字和特殊字符中的至少一种组成的字符串;利用该测试标识信息能够对不同的第一测试样本信息进行区分,且有利于后续第三方服务器和安全传输服务器确定对应的第二测试样本信息发送给测试端进行软件测试(对目标程序进行测试)。

    S205:第三方服务器向安全传输服务器发送测试样本获取请求。

    具体地,该测试样本获取请求可以携带有上述的测试标识信息。

    在第三方服务器从该第一测试样本信息中提取测试标识信息之后,第三方服务器能够向安全传输服务器发送携带有该测试标识信息的测试样本获取请求,以使安全传输服务器能够确定出第三方服务器所需要的第二测试样本信息。

    S207:安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息。

    在实际应用中,例如,该第一测试样本信息的文件名为“in_123456”,此时字符串“123456”即上述的测试标识信息,安全传输服务器基于该测试标识信息确定出的第二测试样本信息的文件名应该为“out_123456”。

    在本说明书实施例中,该第二测试样本信息为测试端预先基于所述第一测试样本信息和预设测试规则生成的。

    请参照图3,在本说明书实施例中,所述方法还可以包括:

    S301:测试端获取所述第一测试样本信息和所述预设测试规则;

    在本说明书实施例中,该预设测试规则是测试端预先基于测试需求信息生成的。由于实际应用中软件测试需要测试软件全部的功能点是否能够达到预期的结果,除了当输入正确的数据时需要软件进入正确的处理流程,得出相应的正确处理结果之外,还需要在输入异常的数据时测试软件是否能够进入相应的异常处理分支,并得到相应的异常处理结果,因此一般需要生成较多的测试数据以对所有的异常点进行测试,例如,当接收到第三方服务器发送的一个格式错误的文件,目标程序是否能检测出格式错误,并进入格式错误处理分支,例如将格式错误信息发送到第三方服务器。

    S303:测试端对所述第一测试样本信息进行解析,得到所述第一测试样本信息的业务属性信息。

    以上述的针对换汇平台进行软件测试为例,此时测试端得到的第一测试样本信息的业务属性信息可以包括:

    订单发起日期、订单编号、开户名、买入币种、买入金额、卖出币种、卖出金额、渠道和交割日期;其中,当买入币种、买入金额和卖出币种这三栏同时存在数据时,测试端可以判断该订单为指定买入,当卖出币种、卖出金额和买入币种这三栏同时存在数据时,测试端可以判断该订单为指定卖出。

    S305:测试端基于所述业务属性信息和所述预设测试规则生成第二测试样本信息集合。

    在本说明书实施例中,该预设测试规则可以包括至少一个测试规则信息,在实际应用中,为了提升软件测试的可靠性,可以基于业务属性信息和每个测试规则信息生成至少一个第二测试样本信息,例如,测试规则信息为需要生成格式错误的文件(非excel文件),则可以生成一个word格式的文件和一个pdf格式的文件,通过生成多个数据进行更加完善的测试,提升软件测试的可靠性。

    在现有技术的流程中,需要第三方服务器根据该第一测试样本信息来构造用于返回给测试端的第二测试样本信息(例如,需要银行的工作人员根据该第一测试样本信息多次构造符合测试要求的第二测试样本信息),流程复杂且对第三方服务器依赖性较强。在本说明书实施例中,该第二测试样本信息可以包括业务处理属性信息,该业务处理属性信息为测试端模拟第三方服务器生成的相关业务处理数据。以上述的针对换汇平台进行软件测试为例,此时该业务处理属性信息可以包括但不限于:汇率、订单状态、订单处理编号、币种对和交易金额。其中,汇率可以是测试端模拟第三方服务器基于第一测试样本信息中的买入币种、买入金额、卖出币种和卖出金额等数据实时生成的。

    请参照图4,在本说明书实施例中,所述方法还可以包括:

    S401:测试端获取至少一个测试需求信息。

    具体地,所述测试需求信息可以包括但不限于目标程序的异常处理功能点,以及目标程序的正常处理流程测试。

    S403:测试端基于所述至少一个测试需求信息生成对应的测试规则信息。

    在实际应用中,以上述的针对换汇平台进行软件测试为例,该测试规则信息可以包括但不限于:

    生成格式错误的文件;生成数据填写不完整的文件(例如此时需要填写的数据共有4列,就分别生成第1列为空而其他正确填写、第2列为空而其他正确填写、第3列为空而其他正确填写,以及第4列为空而其他正确填写的文件);生成订单状态为失败,其他数据正常的文件;生成日期格式错误,但订单状态为成功的文件;生成订单发起日期大于交割日期,但订单状态为成功的文件;生成指定买入时,交易金额与正确值偏差小于预设阈值的文件;生成指定买入时,交易金额与正确值偏差大于预设阈值的文件;生成指定卖出时,交易金额与正确值偏差小于预设阈值的文件;生成指定卖出买入时,交易金额与正确值偏差大于预设阈值的文件;其中,该预设阈值可以根据实际应用需求进行设定。

    S405:测试端将所述对应的测试规则信息作为所述预设测试规则。

    S407:测试端确定所述至少一个测试需求信息对应的预期测试结果。

    以上述的针对换汇平台进行软件测试为例,当测试规则信息为生成格式错误的文件,预期测试结果可以包括发送文件格式错误信息至第三方服务器;当生成指定买入时,交易金额与正确值偏差大于预设阈值的文件,预期测试结果可以包括目标程序拒绝这笔订单。

    S409:测试端建立所述至少一个测试规则信息与对应的预期测试结果间的映射关系。

    S411:测试端基于所述映射关系生成规则结果映射数据。

    为了高效准确地进行异常信息的定位,测试端可以建立该至少一个测试规则信息与对应的预期测试结果间的映射关系,并基于所述映射关系生成规则结果映射数据。

    在一个优选的实施例中,可以基于该至少一个测试规则信息生成对应的测试规则节点,将对应的测试规则节点作为预设测试规则。在后续整体测试需求更新时,仅需进行测试规则节点的添加、更新及删除,有利于提升效率。

    在本说明书实施例中,上述的第二测试样本信息集合可以包括多个按序排列的具有初始标识信息的第二测试样本信息。

    具体地,该初始标识信息可以包括但不限于由字母、数字和特殊字符中的至少一种组成的字符串;利用该初始标识信息能够对不同的第二测试样本信息进行区分。

    请参照图5,在本说明书实施例中,当该第二测试样本信息集合包括多个按序排列的具有初始标识信息的第二测试样本信息时,在测试端向所述第三方服务器发送业务请求之前,所述方法还包括:

    S501:测试端将所述第二测试样本信息集合中目标测试样本信息的初始标识信息修改为所述测试标识信息。

    具体地,该目标测试样本信息为所述第二测试样本信息集合中按序排列的第一个未测试的测试样本信息。

    由于每次进行软件测试时需要安全传输服务器基于测试标识信息确定唯一的与所述第一测试样本信息对应的第二测试样本信息,因此当第二测试样本信息集合包括多个第二测试样本信息时,需要将第二测试样本信息集合中按序排列的第一个未测试的测试样本信息的初始标识信息修改为所述测试标识信息,再将该目标测试样本信息发送给安全传输服务器,以使该安全传输服务器基于测试标识信息确定与第一测试样本信息对应的第二测试样本信息。

    在实际应用中,以上述第一测试样本信息的文件名为“in_123456”为例,此时字符串“123456”即该测试标识信息,需要该安全传输服务器基于该测试标识信息确定出的第二测试样本信息的文件名应该为“out_123456”。此时可以将目标测试样本信息的初始标识信息修改为“123456”,即该目标测试样本信息此时的文件名为“out_123456”。

    在实际应用中,由于第三方服务器(例如银行系统)在本次订单失败时允许重试,但当该笔订单成功后,该第三方服务器再收到测试端携带有该测试标识信息的业务请求时,会检测到该订单已经完成,不允许再次修改信息进行验证,在上述的实施例中,该第二测试样本信息集合可以包括多个按序排列的具有初始标识信息的第二测试样本信息,这些第二测试样本信息在实际应用中可以根据下述规则进行设定:例如有10个需要测试的异常点,生成了11个第二测试样本信息,其中10个第二测试样本信息是错误的(需要利用这10个第二测试样本信息分别测试目标程序的10个异常点,例如格式错误的文件是否能够成功执行文件格式错误的业务处理流程),有1个第二测试样本信息是正确的,需要测试订单成功的处理流程,则将这1个正确的第二测试样本信息排列在这10个错误的第二测试样本信息之后,从而能够在这10个错误的第二测试样本信息测试完成后测试订单成功的流程,提升软件测试的严密性和可靠性。

    S503:测试端将具有所述测试标识信息的目标测试样本信息发送给所述安全传输服务器。

    相应的,请继续参照图5,在本说明书实施例中,当该第二测试样本信息集合包括多个按序排列的具有初始标识信息的第二测试样本信息时,在测试端基于上述对应的第二测试样本信息对目标程序进行测试之后,所述方法还包括:

    S505:测试端向安全传输服务器发送标识修改请求。

    具体地,该标识修改请求携带有所述目标测试样本信息的存档标识信息,该存档标识信息可以包括但不限于由字母、数字和特殊字符中的至少一种组成的字符串;利用该存档标识信息能够对测试完成的不同第二测试样本信息进行区分。

    S507:安全传输服务器基于所述存档标识信息将所述目标测试样本信息的测试标识信息修改为所述存档标识信息。

    由于每次进行软件测试时需要安全传输服务器基于测试标识信息确定唯一的与所述第一测试样本信息对应的第二测试样本信息,因此测试端通过将上述的第二测试样本信息集合中目标测试样本信息的初始标识信息修改为测试标识信息,将具有该测试标识信息的目标测试样本信息发送给所述安全传输服务器,有利于安全传输服务器通过该测试标识信息确定该目标测试样本信息为与上述的第一测试样本信息对应的第二测试样本信息,从而后续测试端能够利用该第二测试样本信息(此时即上述的目标测试样本信息)对目标程序进行相应的测试,而在测试端基于该第二测试样本信息(此时即上述的目标测试样本信息)对目标程序进行测试之后,需要将测试完成的这个目标测试样本信息的测试标识信息修改为上述的存档标识信息,且在下一次测试前将第二测试样本信息集合中按序排列的第一个未测试的测试样本信息的初始标识信息修改为所述测试标识信息,从而利用下一个未测试的测试样本信息进行软件测试,逐个测试,减少出错或漏掉部分测试数据的情况,提升软件测试的可靠性;并且通过将目标测试样本信息的测试标识信息修改为所述存档标识信息,能够对测试数据进行存档,有利于灵活地进行数据回溯。

    在实际应用中,上述例子中将目标测试样本信息的初始标识信息修改为“123456”,即该目标测试样本信息此时的文件名为“out_123456”,在测试端基于所述目标测试样本信息对目标程序进行测试之后,测试端向安全传输服务器发送的标识修改请求中携带的存档标识信息可以包括“test1”,即将该目标测试样本信息的测试标识信息修改为“test1”,此时该目标测试样本信息的文件名可以为“out_test1”。

    S209:安全传输服务器将所述对应的第二测试样本信息发送给所述第三方服务器。

    S211:第三方服务器向所述测试端发送所述对应的第二测试样本信息。

    在本说明书实施例中,在第三方服务器向所述测试端发送所述对应的第二测试样本信息之后,所述方法还可以包括:

    测试端利用预设的前置机对测试端发送的第二测试样本信息进行安全校验,当安全校验通过后,基于该对应的第二测试样本文件对目标程序进行测试。具体地,测试端利用预设的前置机对测试端发送的第二测试样本信息进行安全校验可以包括但不限于:测试端利用预设的前置机对该第二测试样本信息的文件名、密钥等进行校验。

    S213:测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本说明书实施例通过预先生成第二测试样本信息,无需第三方服务器配合构造第二测试样本信息,仅需第三方服务器利用测试标识信息确定安全传输服务器是否存在与所述第一测试样本信息对应的第二测试样本信息,并将第二测试样本信息返回以对目标程序进行测试,降低了对第三方服务器的依赖性;且仍然利用真实的第三方服务器配合完成整个软件测试业务流程,有利于还原真实的使用过程进行软件测试,有利于提升软件测试的真实性和可靠性,并且能够排查数据发送或前置机校验等中间过程中可能出现的问题;通过预先基于所述第一测试样本信息和预设测试规则生成第二测试样本信息,能够自动生成大量的测试数据,效率高,减少了资源浪费,且使得测试过程更加灵活可靠,且在整个测试过程中,可以通过配置数据获取获取路径,自动进行数据传输,提升软件测试效率。在实际应用中,为了数据的安全性可以在生成第一测试样本信息进行加密,此时在预先基于所述第一测试样本信息和预设测试规则生成第二测试样本信息之前,可以先对第一测试样本信息进行解密,且在基于所述第一测试样本信息和预设测试规则生成第二测试样本信息之后,可以对该第二测试样本信息进行加密,提升安全性和测试严密性。

    在本说明书实施例中,上述的预设测试规则可以包括至少一个测试规则信息,请参照图6,在测试端向第三方服务器发送业务请求之前,所述方法还包括:

    S601:测试端根据规则结果映射数据获取与所述至少一个测试规则信息对应的预期测试结果。

    其中,该规则结果映射数据是测试端基于至少一个测试规则信息与对应的预期测试结果间的映射关系生成的。

    S603:测试端确定所述至少一个测试规则信息和所述第二测试样本信息之间的映射关系。

    由于在本说明书实施例中,由于已经根据测试规则信息生成了至少一个第二测试样本信息,第二测试样本信息与测试规则信息之间具有映射关系,测试端可以确定所述至少一个测试规则信息和所述第二测试样本信息之间的映射关系。

    S605:测试端基于所述预期测试结果,以及所述映射关系确定与所述第二测试样本信息对应的预期测试结果。

    S607:测试端基于预设文件上传顺序确定预期测试结果队列。

    具体地,该预设文件上传顺序与所述第二测试样本信息集合中多个第二测试样本信息的排列顺序相同。

    在上述的本说明书实施例中,该第二测试样本信息集合可以包括多个按序排列的具有初始标识信息的第二测试样本信息;测试端可以基于预设文件上传顺序确定预期测试结果队列,该预设文件上传顺序与上述第二测试样本信息集合中多个第二测试样本信息的排列顺序相同,有利于后续进行测试结果比对,排查软件测试的异常情况。

    相应的,请继续参照图6,在本说明书实施例中,在测试端基于所述对应的第二测试样本信息对目标程序进行测试之后,所述方法还可以包括:

    S609:测试端基于所述预设文件上传顺序生成实际测试结果队列。

    S611:测试端基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,确定测试异常信息。

    在本说明书实施例中,测试端基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,确定测试异常信息可以包括:

    测试端将该预期测试结果队列与该实际测试结果队列进行比对,确定出该实际测试结果队列与该预期测试结果队列中不同的实际测试结果对应的第二测试样本信息;基于该对应的第二测试样本信息确定测试异常信息。例如,此时可以对该对应的第二测试样本信息进行检查,确定是该对应的第二测试样本信息出现异常,还是被测试的目标程序的这个异常点未通过测试,通过测试端基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,有利于高效准确地进行异常信息的定位,提升异常排查的自动化程度,大大提升测试效率和准确性,且有利于提升软件测试的严密性和可靠性。

    在本说明书实施例中,通过预先生成第二测试样本信息,无需第三方服务器配合构造第二测试样本信息,仅需第三方服务器利用测试标识信息确定是否存在与所述第一测试样本信息对应的第二测试样本信息,并将第二测试样本信息返回以对目标程序进行测试,降低了对第三方服务器的依赖性;且仍然利用真实的第三方服务器配合完成整个软件测试业务流程,有利于还原较真实的使用过程进行软件测试,有利于提升软件测试的真实性和可靠性,并且能够排查数据发送,或前置机校验等中间过程中可能出现的问题;通过预先基于所述第一测试样本信息和预设测试规则生成第二测试样本信息,能够自动生成大量的测试数据,效率高,减少了资源浪费,且使得测试过程更加灵活可靠。

    由于每次进行软件测试时需要安全传输服务器基于测试标识信息确定唯一的与所述第一测试样本信息对应的第二测试样本信息,因此在测试端基于对应的第二测试样本信息(此时即该目标测试样本信息)对目标程序进行测试之后,需要将测试完成的这个对应的第二测试样本信息的测试标识信息修改为该目标测试样本信息的存档标识信息,且在下一次测试前将第二测试样本信息集合中按序排列的第一个未测试的测试样本信息的初始标识信息修改为所述测试标识信息,从而利用下一个未测试的测试样本信息进行软件测试,逐个测试,减少出错或漏掉部分测试数据的情况,提升软件测试的可靠性;并且通过将目标测试样本信息的测试标识信息修改为所述存档标识信息,能够对测试数据进行存档,有利于灵活地进行数据回溯。通过测试端按照预设文件上传顺序生成实际测试结果队列,基于预设文件上传顺序确定预期测试结果队列,有利于测试端基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,从而有利于高效准确地进行异常信息的定位,提升异常排查的自动化程度,大大提升测试效率和准确性,且有利于提升软件测试的严密性和可靠性。

    本发明实施例还提供了一种自动测试系统的实施例,如图7所示,所述系统可以包括:

    测试端710、安全传输服务器720和第三方服务器730;

    测试端710用于向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息;以及基于对应的第二测试样本文件对目标程序进行测试;

    安全传输服务器720用于基于测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;以及将所述对应的第二测试样本信息发送给所述第三方服务器;

    第三方服务器730用于从所述第一测试样本信息中提取所述测试标识信息;向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;以及向所述测试端发送所述对应的第二测试样本信息。

    本发明实施例还提供了一种自动测试装置,如图8所示,所述装置可以包括:

    业务请求发送模块810,用于向第三方服务器发送业务请求,所述业务请求携带有第一测试样本信息,以使所述第三方服务器从所述第一测试样本信息中提取测试标识信息,以及向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息,以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,以及将所述对应的第二测试样本信息发送给所述第三方服务器;所述第二测试样本信息为预先基于所述第一测试样本信息和预设测试规则生成的;

    测试样本数据接收模块820,用于接收所述第三方服务器发送的所述对应的第二测试样本信息;

    程序测试模块830,用于基于所述对应的第二测试样本信息对目标程序进行测试。

    在一个实施例中,上述的自动测试装置还可以包括:

    生成信息获取模块,用于获取所述第一测试样本信息和所述预设测试规则;

    信息解析模块,用于对所述第一测试样本信息进行解析,得到所述第一测试样本信息的业务属性信息;

    样本集合生成模块,用于基于所述业务属性信息和所述预设测试规则生成第二测试样本信息集合。

    在一个实施例中,当所述第二测试样本信息集合包括多个按序排列的具有初始标识信息的第二测试样本信息时,上述的自动测试装置还可以包括:

    初始标识修改模块,用于在向所述第三方服务器发送业务请求之前,将所述第二测试样本信息集合中目标测试样本信息的初始标识信息修改为所述测试标识信息,所述目标测试样本信息为所述第二测试样本信息集合中按序排列的第一个未测试的测试样本信息;

    目标样本发送模块,用于将具有所述测试标识信息的目标测试样本信息发送给所述安全传输服务器;

    相应的,上述的自动测试装置还可以包括:

    标识修改请求发送模块,用于在基于所述对应的第二测试样本信息对目标程序进行测试之后,向所述安全传输服务器发送标识修改请求,所述标识修改请求携带有所述目标测试样本信息的存档标识信息;以使所述安全传输服务器基于所述存档标识信息将所述目标测试样本信息的测试标识信息修改为所述存档标识信息。

    在本说明书实施例中,所述预设测试规则包括至少一个测试规则信息,上述的自动测试装置还可以包括:

    预期结果获取模块,用于在向所述第三方服务器发送业务请求之前,根据规则结果映射数据获取与所述至少一个测试规则信息对应的预期测试结果;

    映射关系确定模块,用于确定所述至少一个测试规则信息和所述第二测试样本信息之间的映射关系;

    预期测试结果确定模块,用于基于所述预期测试结果,以及所述映射关系确定与所述第二测试样本信息对应的预期测试结果;

    预期测试结果队列确定模块,用于基于预设文件上传顺序确定预期测试结果队列。

    具体地,所述预设文件上传顺序与所述第二测试样本信息集合中多个第二测试样本信息的排列顺序相同;

    相应的,上述的自动测试装置还可以包括:

    实际测试结果队列确定模块,用于在基于所述对应的第二测试样本信息对目标程序进行测试之后,基于所述预设文件上传顺序生成实际测试结果队列;

    测试异常信息确定模块,用于基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,确定测试异常信息。

    在本说明书实施例中,所述自动测试装置还可以包括:

    安全校验模块,用于在向所述第三方服务器发送所述业务请求之前,利用预设的前置机对所述第一测试样本信息进行安全校验,当安全校验通过,向所述第三方服务器发送所述业务请求。

    本发明实施例还提供了另一种自动测试装置,所述装置可以包括:

    业务请求接收模块,用于接收测试端发送的业务请求,所述业务请求携带有第一测试样本信息;

    标识信息提取模块,用于从所述第一测试样本信息中提取测试标识信息;

    样本获取请求发送模块,用于向安全传输服务器发送测试样本获取请求,所述测试样本获取请求携带有所述测试标识信息;以使所述安全传输服务器基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    测试信息接收模块,用于接收所述安全传输服务器发送的所述对应的第二测试样本信息;

    测试信息发送模块,用于向所述测试端发送所述对应的第二测试样本信息,以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本发明实施例还提供了另一种自动测试装置,所述装置可以包括:

    样本获取请求接收模块,用于接收第三方服务器发送的测试样本获取请求,所述测试样本获取请求携带有测试标识信息,所述测试标识信息为所述第三方服务器从第一测试样本信息中提取的,所述第一测试样本信息为测试端向第三方服务器发送的业务请求携带的;

    测试样本信息确定模块,用于基于所述测试标识信息确定与所述第一测试样本信息对应的第二测试样本信息,所述第二测试样本信息为所述测试端预先基于所述第一测试样本信息和预设测试规则生成的;

    测试样本发送模块,用于将所述对应的第二测试样本信息发送给所述第三方服务器;以使所述第三方服务器向所述测试端发送所述对应的第二测试样本信息;以使所述测试端基于所述对应的第二测试样本文件对目标程序进行测试。

    本发明实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的自动测试方法。

    存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

    本发明实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。以运行在服务器上为例,图9是本发明实施例提供的一种自动测试方法的服务器的硬件结构框图。如图9所示,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在服务器900上执行存储介质920中的一系列指令操作。服务器900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

    输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

    本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。

    本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种自动测试方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的自动测试方法。

    可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

    本发明的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。

    由上述本发明提供的自动测试方法、系统、装置、计算机设备、存储介质或计算机程序的实施例可见,本发明通过预先生成第二测试样本信息,无需第三方服务器配合构造第二测试样本信息,仅需第三方服务器利用测试标识信息确定是否存在与所述第一测试样本信息对应的第二测试样本信息,并将第二测试样本信息返回以对目标程序进行测试,降低了对第三方服务器的依赖性;且仍然利用真实的第三方服务器配合完成整个软件测试业务流程,有利于还原较真实的使用过程进行软件测试,有利于提升软件测试的真实性和可靠性,并且能够排查数据发送,或前置机校验等中间过程中可能出现的问题;通过预先基于所述第一测试样本信息和预设测试规则生成第二测试样本信息,能够自动生成大量的测试数据,效率高,减少了资源浪费,且使得测试过程更加灵活可靠。

    由于每次进行软件测试时需要安全传输服务器基于测试标识信息确定唯一的与所述第一测试样本信息对应的第二测试样本信息,因此在测试端基于对应的第二测试样本信息(此时即该目标测试样本信息)对目标程序进行测试之后,需要将测试完成的这个对应的第二测试样本信息的测试标识信息修改为该目标测试样本信息的存档标识信息,且在下一次测试前将第二测试样本信息集合中按序排列的第一个未测试的测试样本信息的初始标识信息修改为所述测试标识信息,从而利用下一个未测试的测试样本信息进行软件测试,逐个测试,减少出错或漏掉部分测试数据的情况,提升软件测试的可靠性;并且通过将目标测试样本信息的测试标识信息修改为所述存档标识信息,能够对测试数据进行存档,有利于灵活地进行数据回溯。通过测试端按照预设文件上传顺序生成实际测试结果队列,基于预设文件上传顺序确定预期测试结果队列,有利于测试端基于所述预期测试结果队列与所述实际测试结果队列进行异常排查,从而有利于高效准确地进行异常信息的定位,提升异常排查的自动化程度,大大提升测试效率和准确性,且有利于提升软件测试的严密性和可靠性。

    需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

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

    本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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