CN110413530B - 一种行为执行方法及装置 - Google Patents

一种行为执行方法及装置 Download PDF

Info

Publication number
CN110413530B
CN110413530B CN201910710311.XA CN201910710311A CN110413530B CN 110413530 B CN110413530 B CN 110413530B CN 201910710311 A CN201910710311 A CN 201910710311A CN 110413530 B CN110413530 B CN 110413530B
Authority
CN
China
Prior art keywords
tested
flow control
program
control code
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910710311.XA
Other languages
English (en)
Other versions
CN110413530A (zh
Inventor
黄震人
徐俊超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910710311.XA priority Critical patent/CN110413530B/zh
Publication of CN110413530A publication Critical patent/CN110413530A/zh
Application granted granted Critical
Publication of CN110413530B publication Critical patent/CN110413530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本说明书实施例提供一种行为执行方法及装置。所述方法包括:接收系统测试请求;所述系统测试请求中包括流程控制代码;将所述流程控制代码添加至待测试系统;启动所述待测试系统并获取系统的执行结果;若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为。通过上述方法,实现了在测试过程中将流程控制代码添加至待测试系统,从而能够针对特征情况进行模拟并测试,此外,通过流程控制代码模拟未开发完毕的模块的功能,也使得在系统未全部开发完毕时就能进行测试,不仅保障了测试过程的全面性,也加快了系统的开发进度。

Description

一种行为执行方法及装置
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种行为执行方法及装置。
背景技术
在高速发展的互联网业务时代,能够快速地实现业务需求,响应市场变化往往成为一款产品成败的关键。为了缩短产品交付周期,在产品的测试阶段使用高效的测试方法实现快速有效的产品测试也是至关重要的。尤其是在软件开发项目中,对于所开发的程序及系统进行全面的测试往往是必不可少的。
但是在现有技术中,在对系统进行测试的过程中,不仅需要关注系统的正常功能,同时也需要考虑系统在执行过程中所出现的内部异常、执行超时等异常情况。但是上述异常情况在不对系统的源代码进行修改的情况下很难针对性地进行测试。此外,在大规模的软件开发过程中,可能会涉及多个模块或者多个系统的同时开发,但各个模块或系统之间的开发进度也是不完全相同的,若等到所有模块或系统均开发完毕之后再进行测试,可能会延长系统的开发周期,从而影响软件的交付时限。如何使得在针对系统的测试过程中,各个模块或程序能够执行适应当前测试所需要的行为是当前需要考虑的问题。因此,目前亟需一种能够解决上述技术问题的方法。
发明内容
本说明书实施例的目的是提供一种行为执行方法及装置,以解决现有技术中在对系统进行测试时难以调整系统源代码进行较为全面的测试的问题。
为了解决上述技术问题,本说明书实施例提供一种行为执行方法及装置是这样实现的:
一种行为执行方法,包括:
接收系统测试请求;所述系统测试请求中包括流程控制代码;
将所述流程控制代码添加至待测试系统;
启动所述待测试系统并获取系统的执行结果;
若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为。
一种行为执行装置,包括:
请求接收模块,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;
代码添加模块,用于将所述流程控制代码添加至待测试系统;
执行结果获取模块,用于启动所述待测试系统并获取系统的执行结果;
系统控制行为执行模块,用于在所述待测试系统的执行结果满足预设控制条件时,执行系统控制行为。
一种行为执行方法,包括:
接收系统测试请求;所述系统测试请求中包括流程控制代码;
将所述流程控制代码添加至待测试系统;
启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码;
若所述流程控制代码的第一执行结果满足预设控制条件,执行系统控制行为。
一种行为执行装置,包括:
测试请求接收模块,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;
流程控制代码添加模块,用于将所述流程控制代码添加至待测试系统;
流程控制代码执行模块,用于启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码;
系统控制行为执行模块,用于在所述流程控制代码的执行结果满足预设控制条件时,执行系统控制行为。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过将测试请求中的流程控制代码添加至待测试系统中,在所述待测试系统的执行结果满足相应条件的情况下能够执行相应的系统控制行为,从而能够控制系统在测试过程中实现预先所需要的技术效果。此外,也可以直接执行添加的流程控制代码,并根据执行结果判断是否执行相应的控制行为,从而使得在系统并未开发完毕时同样能够针对该系统进行必要的测试。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种行为执行方法的流程图;
图2为本说明书实施例一种行为执行方法的流程图;
图3为本说明书实施例一种行为执行装置的模块图;
图4为本说明书实施例一种行为执行装置的模块图;
图5为本说明书实施例一种行为执行方法的示意图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
下面结合附图1对所述行为执行方法进行介绍,所述系统测试方法的执行主体为计算机设备,所述计算机设备包括:服务器、工控机、PC机、一体机等。所述方法具体包括:
S110:接收系统测试请求。
系统测试请求即为针对待测试系统所发出的测试请求。所述测试请求可以由系统测试人员发送至执行所述系统测试方法的设备,也可以由其他服务器在需要对系统进行测试时将相应的请求发送至该设备。
所述系统测试请求中可以包括流程控制代码。流程控制代码即为需要额外添加至待测试系统中的代码。通过将流程控制代码添加至系统的程序中,可以控制程序的逻辑执行顺序,改变程序的执行流程,从而获得本次测试所需要取得的效果。在实际应用中,直接对系统进行测试可能并不能得到全面的检测结果。通过添加流程控制代码,控制待测试系统产生相应的系统控制行为,能够实现在较为全面的测试条件下对待测试系统进行测试。
S120:将所述流程控制代码添加至待测试系统。
待测试系统即为本次行为执行方法中需要添加流程控制代码的系统。所述待测试系统中可以包含有多个模块或程序,这些模块或程序在测试的过程中可能需要根据实际的需求调整自身的执行流程已取得符合本次针对系统测试的所得到的执行结果。
为了能够获取添加了流程控制代码后的待测试系统的执行效果,需要将所述流程控制代码添加至待测试系统。添加至所述待测试系统的方式可以是预先在各个系统中设置有注入流程控制代码的位置。获取到流程控制代码之后直接将所述流程控制代码添加至该位置。
在另一个实施方式中,所述待测试系统中可以包含有至少一个待测试程序。将所述流程控制代码添加至待测试系统中,也可以是将所述流程控制代码添加至待测试系统中的待测试程序。由于任何一个程序都可以抽象为程序输入参数、程序内部逻辑代码和返回参数三个部分。将所述流程控制代码添加至待测试程序可以是根据流程控制代码的格式直接对这三个部分进行相应的修改,在实际应用的过程中能够更好地进行实现。
在一个实施方式中,所接受到的测试请求中还可以包含有测试程序标识。测试程序标识用于标识本次测试所针对的测试程序。获取到所述测试程序标识后,获取对应的测试程序并在所述测试程序中注入相应的流程控制代码。
同时,为了减少本次测试的干扰,若此时系统中存在已经添加了流程控制代码但存在对应的测试程序标识的程序,将该类程序中的流程控制代码直接删除。这类程序可能是在之前的测试过程中被注入了流程控制代码,但本次测试并不针对该类程序进行测试,因此,需要将该类程序恢复至添加流程控制代码之前的状态,从而减小测试过程中的干扰。
在一个实施方式中,可以利用动态字节码技术将所述流程控制代码添加至待测试系统中。对于一些静态语言,在程序的执行过程中,会预先生成编译后的字节码文件。在对原有的程序进行修改时,针对所述编译生成的字节码进行修改即可动态生成字节码文件,从而实现对原有程序的添加、修改或删除。
利用一个具体的示例进行说明,添加流程控制代码之前的待测试程序基本可以表示为以下伪代码所展示的形式:
Public返回类型待测试程序方法(程序入参){
程序内部逻辑代码
return返回参数
}
将所述流程控制代码添加至所述待测试程序后可以将所述待测试程序修改为以下形式:
Public返回类型待测试程序方法(程序入参){
流程控制代码
try{
程序内部逻辑代码
Return流程控制代码处理返回参数(返回参数)
}catch(异常){
流程控制代码处理程序异常
}
}
通过上述示例可以看出,在添加所述流程控制代码之后,并不影响原程序的正常执行。同时,若添加流程控制代码之后程序执行异常,也能够即时捕获到对应的异常处理结果。实际应用中,所述流程控制代码添加的位置并不局限于上述示例中将流程控制代码添加至待测试程序的入口处,可以根据实际需要进行添加。
S130:启动所述待测试系统并获取系统的执行结果。
在添加流程控制代码完毕后,即可执行所述待测试系统并获取系统的执行结果。在所述流程控制代码是添加至相应的待测试程序中的情况下,可以针对不同的待测试程序,分别获取对应的执行结果。
系统在执行时可能会出现正常执行和执行异常等情况。同时,在待测试系统中添加了流程控制代码之后,可能针对待测试系统中的流程控制代码也会出现不同的执行结果。因此,不仅要获取系统的执行结果,结合实际需求可能也需要获取流程控制代码的执行结果。
S140:若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为。
预设控制条件即为预先设置的用于判断针对所述待测试系统是否执行系统控制行为的条件。例如,修改前的程序输出参数为参数A,添加流程控制代码后的输出参数应当为参数B,则预设控制条件可以是输出参数为参数B,在实际的测试过程中,针对输出参数为参数B的情况,执行相应的系统控制行为。
在一个实施方式中,所述待测试系统可以预先设置可控制状态或不可控制状态。可控制状态表示该系统在执行结果满足预设控制条件时可以执行系统控制行为;而不可控制状态表示即使系统的执行结果满足预设控制条件,也不能执行该系统控制行为。所述可控制状态或不可控制状态也可以针对系统中的模块或程序进行设置。通过设置可控制状态或不可控制状态,针对某些不希望被轻易改动的系统或程序,可以确保这类系统或程序不被轻易修改,避免造成不必要的损失。
系统控制行为可以是在触发上述控制条件之后,控制系统或程序所执行的满足当前测试需求的行为。所述系统控制行为可以包括强制返回结果、强制抛出异常、延时等待、异常捕获等。系统控制行为可以使得程序直接执行出特定的行为,从而用于模拟异常情况或直接输出系统中的模块或程序应当输出的结果。
系统控制行为可以预先进行设定,在所述待测试系统的执行结果满足预设控制条件时,直接执行预设的系统控制行为。系统控制行为也可以包含在测试请求中,当满足执行条件后,执行所述测试请求中对应的系统控制行为。
在另一个实施方式中,在所述待测试系统的执行结果满足预设控制条件时,获取所述待测试系统的输入参数,并根据所述输入参数获取对应的系统控制行为。例如,所述输入参数是针对业务A的输入参数,对于业务A所设定的系统控制行为为行为B,则可以直接执行行为B,从而满足对应于业务A的需求。
上述系统控制行为可以是模拟出的不同的特殊情况,从而用于测试系统或程序在出现特定的异常情况时能否正常执行;或者用于在系统中的某个模块或某个程序并未开发完全的情况下,通过直接设定的系统控制行为,直接模拟出该模块或程序应当输出的结果,保证在系统中的某一部分并未开发完全时也能对其他部分进行测试。
在实际执行过程中,可能会出现所述待测试系统的执行结果不满足预设控制条件的情况,在这种情况下,判断所述待测试系统的执行过程中是否出现异常数据。所述异常数据,可以是执行过程中出现的异常结果,也可以是执行过程出错的报错数据。若出现所述异常数据,将所述异常数据进行反馈。通过反馈异常数据,可以判断程序本身是否存在错误,或者判断流程控制代码是否出错,利用反馈机制更好地调整所述系统测试方法。
通过上述方法可以看出,通过在所述待测试系统中添加流程控制代码,用于控制所述待测试系统执行相应的系统控制行为,不仅可以在不对源代码进行修改的情况下模拟出不同的异常情况,也可以在系统中的某一模块并未开发完毕时利用相应的系统控制行为模拟出该模块的输出参数等,保证了对系统中其他模块的测试的正常进行,从而实现了在不对系统的源代码进行调整的情况下针对系统的全面有效的测试。
在实际应用的过程中,可能并不需要执行系统,或者针对系统进行执行并不能够获得相应的执行结果,在这种情况下可能只需要针对待测试系统中的流程控制代码进行执行。为了实现上述效果,如图2所示,本说明书实施例还提供一种系统测试方法,所述方法的执行主体为计算机设备,所述计算机设备包括:服务器、工控机(工业控制计算机)、PC机、一体机。所述方法具体包括:
S210:接收系统测试请求。
对于该步骤的描述可以参考步骤S110中的叙述,在此不再赘述。
S220:将所述流程控制代码添加至待测试系统。
对于该步骤的描述可以参考步骤S120中的叙述,在此不再赘述。
S230:启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码。
在本实施例中,可以直接将所述流程控制代码添加至执行程序的入口处,使得在执行时能够预先执行所述待测试系统中的流程控制代码,不必再执行所述待测试系统中的其他程序,从而简化了相应的步骤。
S240:若所述流程控制代码的第一执行结果满足预设控制条件,执行系统控制行为。
当获取到所述流程控制代码的第一执行结果,且所述第一执行结果满足预设控制条件时,可以直接系统控制行为。在该实施例中,不需要将系统中的全部模块或程序执行完毕再判断是否执行系统控制行为,而只需要对其中的流程控制代码进行执行即可。对于某些并未开发完毕的程序,若期望上利用该程序获得参数A,可以在执行所述流程控制代码时返回参数A并结束该程序的运行,而无需对程序中的其他部分进行执行,从而避免了执行错误的情况。
若所述流程控制代码的第一执行结果不满足预设控制条件的情况下,可以继续系统中的其他程序。若执行这些程序能够获得第二执行结果,且所述第二执行结果满足预设控制条件,可以执行系统控制行为。第二执行结果即为执行该整体所产生的执行结果。对该步骤的具体描述可以参考步骤S140中的叙述,在此不再赘述。
为了实现更为全面的系统测试方法,在一个实施例中,可以整合上述两个实施例中的系统测试方法,得到另一种系统测试方法。所述方法的执行主体包括计算机设备,所述计算机设备包括服务器、工控机(工业控制计算机)、PC机、一体机。如图5所示,所述方法的具体步骤如下所示:
510:接收系统测试请求。
520:将所述流程控制代码添加至待测试系统。
530:启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码。
540:获取所述流程控制代码的第一执行结果
550:判断第一执行结果是否满足预设控制条件。
570:若满足,获取系统的第二执行结果。
580:判断第二执行结果是否满足预设控制条件。
5100:若满足,判断系统执行过程中是否存在异常数据。
5110:若存在,反馈所述异常数据。
通过上述步骤可以看出,在将流程控制代码添加至待测试系统中后,可以预先执行流程控制代码,在流程控制代码的执行结果不满足预设控制条件的情况下,继续对系统进行执行,若获取到的关于系统的第二执行结果同样不满足预设控制条件的情况下,判断系统中在执行过程中是否出现执行异常的情况,若出现,将所述异常数据进行反馈。通过上述执行步骤,使得在测试过程中能够逐步对是否需要执行系统控制行为进行判断,保证了系统测试过程中的全面性。
若经过步骤550的判断后,确定所述第一执行结果满足预设控制条件,可以执行步骤560:执行系统控制行为。这样一来,无需对其他部分继续执行,在其他模块并未开发完毕时能够避免后续过程执行错误,也节省了相应的时间。
若经过步骤580的判断后,确定所述第二执行结果满足预设控制条件,可以执行步骤590:执行系统控制行为。若此时系统的第二执行结果满足了预设控制条件,执行对应的系统控制行为。例如,在需要获取系统在添加所述流程控制代码的情况下得到的数据,设定执行行为为强制抛出数据,从而获取相应的测试数据。
若经过步骤5100的判断后,确定所述系统执行过程中不存在异常数据,可以执行步骤5120:反馈所述第二执行结果。若此时系统中的流程控制代码并未触发相应的执行行为,也没有在执行过程中出现异常,直接将所述第二执行结果进行反馈。例如,在添加了流程控制代码的情况下,需要判断对于该系统的执行结果的具体情况,即可将所述第二执行结果进行反馈,便于测试的进行。
利用一个具体的场景示例进行说明。测试人员需要针对即将上线的系统进行测试,针对系统中的程序A,测试人员需要判断该程序在延时执行的情况下能否正常运行;此外,系统中的程序B并未开发完毕,但该程序需要向其他程序提供业务处理参数。测试人员将包含程序A和程序B的测试程序集合以及对应的流程控制代码添加至测试请求中发送至所述系统测试服务器中。该服务器利用动态字节码技术分别将对应于程序A和程序B的流程控制代码添加至所述程序A和程序B中。程序A中的流程控制代码所实现的效果为延时等待,使得程序A需要在间隔一定时间后再次执行;程序B中的流程控制代码所实现的效果为返回预先设置的模拟业务处理参数。通过程序中的流程控制代码的执行,使得程序A和程序B均能够执行相应的系统控制行为,从而判断程序A在延时执行的情况下能够正常响应,并且利用流程控制代码代替程序B向其他模块提供参数数据,确保了测试过程的正常进行。通过上述方法实施例的介绍可以看出,所述行为执行方法保证了测试的有效进行,确保了测试过程的全面性。
为了好地对实现上述系统测试方法,如图3所示,本说明书实施例还提供一种行为执行装置,所述装置集成于所述计算机设备,所述装置具体包括:
请求接收模块310,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;
代码添加模块320,用于将所述流程控制代码添加至待测试系统;
执行结果获取模块330,用于启动所述待测试系统并获取系统的执行结果;
系统控制行为执行模块340,用于在所述待测试系统的执行结果满足预设控制条件时,执行系统控制行为。
为了更好地实现上述系统测试方法,如图4所示,本说明书实施例还提供一种行为执行装置,所述装置集成于所述计算机设备,所述装置具体包括:
测试请求接收模块410,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;
流程控制代码添加模块420,用于将所述流程控制代码添加至待测试系统;
流程控制代码执行模块430,用于启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码;
系统控制行为执行模块440,用于在所述流程控制代码的执行结果满足预设控制条件时,执行系统控制行为。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (12)

1.一种行为执行方法,其特征在于,包括:
接收系统测试请求;所述系统测试请求中包括流程控制代码;所述流程控制代码用于控制系统的程序的逻辑执行顺序以获得测试所需的效果;
将所述流程控制代码添加至待测试系统;所述待测试系统中包含有至少一个待测试程序;所述将所述流程控制代码添加至待测试系,包括:基于所述流程控制代码的格式对所述待测试程序的程序输入参数、程序内部逻辑代码和返回参数进行修改;
启动所述待测试系统并获取系统的执行结果;
若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为;所述系统控制行为用于模拟异常情况或直接输出系统中的模块或程序输出结果。
2.如权利要求1所述的方法,其特征在于,所述将所述流程控制代码添加至待测试系统,包括:
利用动态字节码技术将所述流程控制代码添加至待测试系统。
3.如权利要求1所述的方法,其特征在于,所述待测试系统中包括至少一个待测试程序;所述系统测试请求中还包括测试程序标识;所述将所述流程控制代码添加至待测试系统,包括:
根据测试程序标识,在所述待测试程序中获取测试程序;
将所述流程控制代码添加至所述测试程序中。
4.如权利要求3所述的方法,其特征在于,所述启动所述待测试系统并获取系统的执行结果之前,还包括:
检测所述待测试系统中是否存在已添加流程控制代码但不在所述测试程序标识中的程序;
若存在,删除所述已添加流程控制代码的程序中的流程控制代码。
5.如权利要求1所述的方法,其特征在于,所述系统控制行为,包括以下至少一种:强制返回结果、强制抛出异常、延时等待、异常捕获。
6.如权利要求1所述的方法,其特征在于,所述待测试系统对应有可控制状态和不可控制状态;所述若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为,包括:
在所述待测试系统为可控制状态的情况下,若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为。
7.如权利要求1所述的方法,其特征在于,所述若所述待测试系统的执行结果满足预设控制条件,执行系统控制行为,包括:
若所述待测试系统的执行结果满足预设控制条件,获取所述待测试系统的输入参数;
执行对应于所述输入参数的系统控制行为。
8.如权利要求1所述的方法,其特征在于,所述启动所述待测试系统并获取系统的执行结果之后,还包括:
若所述待测试系统的执行结果不满足预设控制条件,判断所述待测试系统的执行过程中是否出现异常数据;
若出现,反馈所述异常数据。
9.一种行为执行装置,其特征在于,包括:
请求接收模块,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;所述流程控制代码用于控制系统的程序的逻辑执行顺序以获得测试所需的效果;
代码添加模块,用于将所述流程控制代码添加至待测试系统;所述待测试系统中包含有至少一个待测试程序;所述将所述流程控制代码添加至待测试系,包括:基于所述流程控制代码的格式对所述待测试程序的程序输入参数、程序内部逻辑代码和返回参数进行修改;
执行结果获取模块,用于启动所述待测试系统并获取系统的执行结果;
系统控制行为执行模块,用于在所述待测试系统的执行结果满足预设控制条件时,执行系统控制行为;所述系统控制行为用于模拟异常情况或直接输出系统中的模块或程序输出结果。
10.一种行为执行方法,其特征在于,包括:
接收系统测试请求;所述系统测试请求中包括流程控制代码;所述流程控制代码用于控制系统的程序的逻辑执行顺序以获得测试所需的效果;
将所述流程控制代码添加至待测试系统;所述待测试系统中包含有至少一个待测试程序;所述将所述流程控制代码添加至待测试系,包括:基于所述流程控制代码的格式对所述待测试程序的程序输入参数、程序内部逻辑代码和返回参数进行修改;
预先执行所述待测试系统中的流程控制代码;
若所述流程控制代码的第一执行结果满足预设控制条件,执行系统控制行为;所述系统控制行为用于模拟异常情况或直接输出系统中的模块或程序输出结果。
11.如权利要求10所述的方法,其特征在于,所述若所述流程控制代码的第一执行结果满足预设控制条件,执行系统控制行为之后,还包括:
若所述流程控制代码的执行结果不满足预设控制条件,获取系统的第二执行结果;
若所述第二执行结果满足预设控制条件,执行系统控制行为。
12.一种行为执行装置,其特征在于,包括:
测试请求接收模块,用于接收系统测试请求;所述系统测试请求中包括流程控制代码;所述流程控制代码用于控制系统的程序的逻辑执行顺序以获得测试所需的效果;
流程控制代码添加模块,用于将所述流程控制代码添加至待测试系统;所述待测试系统中包含有至少一个待测试程序;所述将所述流程控制代码添加至待测试系,包括:基于所述流程控制代码的格式对所述待测试程序的程序输入参数、程序内部逻辑代码和返回参数进行修改;
流程控制代码执行模块,用于启动所述待测试系统,并预先执行所述待测试系统中的流程控制代码;
系统控制行为执行模块,用于在所述流程控制代码的执行结果满足预设控制条件时,执行系统控制行为;所述系统控制行为用于模拟异常情况或直接输出系统中的模块或程序输出结果。
CN201910710311.XA 2019-08-02 2019-08-02 一种行为执行方法及装置 Active CN110413530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910710311.XA CN110413530B (zh) 2019-08-02 2019-08-02 一种行为执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910710311.XA CN110413530B (zh) 2019-08-02 2019-08-02 一种行为执行方法及装置

Publications (2)

Publication Number Publication Date
CN110413530A CN110413530A (zh) 2019-11-05
CN110413530B true CN110413530B (zh) 2024-01-05

Family

ID=68365404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910710311.XA Active CN110413530B (zh) 2019-08-02 2019-08-02 一种行为执行方法及装置

Country Status (1)

Country Link
CN (1) CN110413530B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377759A (zh) * 2008-08-26 2009-03-04 中国工商银行股份有限公司 自动化界面测试系统
CN102279750A (zh) * 2011-08-30 2011-12-14 浙江大学 一种基于领域知识共享的迭代式代码生成方法
CN102567838A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种协同开发系统及协同开发方法
CN104133421A (zh) * 2014-08-01 2014-11-05 南京埃斯顿自动化股份有限公司 一种基于流程控制的运动控制代码解析方法
CN104391686A (zh) * 2014-10-14 2015-03-04 深圳怡化电脑股份有限公司 流程控制方法及装置
CN104993961A (zh) * 2015-06-30 2015-10-21 广州华多网络科技有限公司 设备控制方法、装置和系统
CN107102939A (zh) * 2016-11-09 2017-08-29 中国矿业大学 一种回归测试用例自动分类方法
CN108846630A (zh) * 2018-05-25 2018-11-20 广州衡昊数据科技有限公司 一种资源控制系统及方法
CN109165170A (zh) * 2018-10-16 2019-01-08 杭州安恒信息技术股份有限公司 一种自动化请求测试的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762781B2 (en) * 2010-11-16 2014-06-24 International Business Machines Corporation Method and apparatus useful in manufacturing test case operations

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377759A (zh) * 2008-08-26 2009-03-04 中国工商银行股份有限公司 自动化界面测试系统
CN102567838A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种协同开发系统及协同开发方法
CN102279750A (zh) * 2011-08-30 2011-12-14 浙江大学 一种基于领域知识共享的迭代式代码生成方法
CN104133421A (zh) * 2014-08-01 2014-11-05 南京埃斯顿自动化股份有限公司 一种基于流程控制的运动控制代码解析方法
CN104391686A (zh) * 2014-10-14 2015-03-04 深圳怡化电脑股份有限公司 流程控制方法及装置
CN104993961A (zh) * 2015-06-30 2015-10-21 广州华多网络科技有限公司 设备控制方法、装置和系统
CN107102939A (zh) * 2016-11-09 2017-08-29 中国矿业大学 一种回归测试用例自动分类方法
CN108846630A (zh) * 2018-05-25 2018-11-20 广州衡昊数据科技有限公司 一种资源控制系统及方法
CN109165170A (zh) * 2018-10-16 2019-01-08 杭州安恒信息技术股份有限公司 一种自动化请求测试的方法及系统

Also Published As

Publication number Publication date
CN110413530A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN109800159B (zh) 程序调试方法、程序调试装置、终端设备及存储介质
CN111090536B (zh) 一种获取内存泄露信息的方法、装置、介质和电子设备
US9519495B2 (en) Timed API rules for runtime verification
US9898396B2 (en) Automated software testing and validation via graphical user interface
CN108228444B (zh) 一种测试方法和装置
CN111752843A (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
CN112015665B (zh) 测试验证的回溯方法、装置、电子设备及存储介质
CN105159832A (zh) 一种在应用测试中收集应用异常信息的方法、装置和系统
CN110727581B (zh) 崩溃定位方法与电子设备
CN111782519A (zh) 测试方法、装置和电子设备
CN108595319B (zh) 函数选取方法和服务器
CN110895503B (zh) 一种应用的性能监控方法及客户端
US11055416B2 (en) Detecting vulnerabilities in applications during execution
CN106294036A (zh) 一种硬件故障验证方法、装置及客户端
CN110990179B (zh) 一种任务处理方法、装置及设备
CN110413530B (zh) 一种行为执行方法及装置
CN113127329B (zh) 脚本调试方法、装置及计算机存储介质
CN111782520A (zh) 测试方法、装置和电子设备
CN111782518A (zh) 测试方法、装置和电子设备
CN108959070B (zh) 一种基于代码对象的Python钩子函数方法和装置
CN110908882A (zh) 一种应用程序的性能分析方法、装置、终端设备及介质
US20150026523A1 (en) Debugging method and computer program product
CN109508193B (zh) 一种应用部署运行方法、装置、终端设备和介质
CN110515834B (zh) 接口测试方法、装置、移动终端及存储介质
CN108255667B (zh) 一种业务监测方法、装置以及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant