一种软件测试方法、设备及系统的制作方法_3

文档序号:8528103阅读:来源:国知局
PC电话终端自动向被叫PC电话终端发起呼叫;在主叫PC电话终端侧,主叫PC电话终端若检测到被叫PC电话终端正处于通话中或未注册成功,则确定本次呼叫失败,根据对应的处理策略调度后续测试任务四,即:将主叫PC电话终端置为空闲状态,并加入空闲电话队列中,等待设定时长后,自动再次向另一个被叫PC电话终端发起呼叫,其中,设定时长可在一段数值范围内动态变化;主叫PC电话终端若检测到被叫PC电话终端接通,并在接通时间达到预设的时长时自动挂断,则确定本次呼叫正常结束,根据对应的处理策略调度后续测试任务五,即:将通话双方PC电话均重新置为空闲状态,并加入空闲电话队列中;主叫PC电话终端若检测到被叫PC电话终端拒绝接听,则根据对应的处理策略调度后续测试任务六,将主叫PC电话终端置为空闲状态,并加入空闲电话队列中;
[0089]在被叫PC电话终端侧,可以将对应的应答处理策略设置为被叫PC电话终端收到所述呼叫请求后自动接听,并在接通时间达到预设的时长时自动挂断,其中,预设的时长可在一段数值范围内动态变化;也可以将对应的应答处理策略设置为被叫PC电话终端收到呼叫请求后自动拒绝接听。
[0090]本发明实施例通过配置统一的测试任务调度信息,使运行在不同测试终端的多个或多组测试用例之间协同运作;因此,本发明实施例可以模拟真实用户的实际使用环境,通过长时间运行该软件测试系统,来实现分布式架构下全自动软件测试的目的。
[0091]如图2所示,本发明实施例提供的另一种软件测试方法,应用于测试代理服务器中,具体实现步骤包括:
[0092]步骤S200:接收到测试服务器发送的测试任务执行指令时,将所述测试任务执行指令处理后发送给测试终端。
[0093]这里,首先需要将测试代理服务器与测试服务器建立通信连接,具体采用如下方式:
[0094]将注册请求消息发送给所述测试服务器,由所述测试服务器根据所述注册请求消息与所述测试代理服务器建立通信连接,所述注册请求消息中携带所述测试代理服务器的编号、IP地址、端口号、进程名称、进程PID、窗口句柄、窗口标题、共享内存名称、共享内存地址、管道名称、信号对象等信息。
[0095]这里,将所述测试任务的执行指令转化为测试终端可以接收的外部输入后发送给测试终端,由所述测试终端根据所述执行指令执行所述测试任务;其中,外部输入既可以是通过鼠标键盘输入的指令,也可以通过由测试终端提供的测试接口,将所述执行指令转化为适合于所述测试接口的输入指令;
[0096]这里,用户可以将多个或多组测试用例运行在分布式系统中不同的测试终端上,即每一测试终端可以运行多个或多组测试用例,所述测试终端在接收到处理后的执行指令时,根据该处理后的执行指令调用对应的测试用例完成所述测试任务,本发明实施例通过配置统一的测试任务调度信息,实现运行在不同测试终端的多个或多组测试用例之间的协同运作。
[0097]这里,测试终端可以为具有智能化任务执行功能的设备,例如,智能手机、电脑PC、平板电脑等智能终端。
[0098]这里,所述测试终端调用测试用例可以采用如下方式:模拟用户通过鼠标或键盘输入指令的方式、与待调用的测试用例之间建立进程间通信的方式或使用命令行的方式。
[0099]步骤S201:接收到所述测试终端执行所述测试任务后发送的测试任务处理信息时,根据所述测试任务处理信息确定所述测试任务的执行结果,并将所述执行结果发送给所述测试服务器。
[0100]这里,根据所述测试任务处理信息确定所述测试任务执行结果具体可以采用如下方式:
[0101]对所述测试任务处理信息进行解析,确定所述测试任务的执行状态;
[0102]根据所述执行状态的变化,确定所述测试任务的执行结果。
[0103]本发明实施例还可以采用如下方式确定所述测试任务的执行结果:通过实时地监视测试终端执行所述测试任务后所述测试任务状态的变化,确定出所述测试任务的执行结果O
[0104]本发明的上述实施例中,能够将测试任务执行指令转化为测试终端可以接收的外部输入后发送给测试终端,从而使测试终端能够根据的处理后的执行指令来执行所述测试任务,提高系统的执行效率;接收到所述测试终端执行所述测试任务后发送的测试任务处理信息时,根据所述测试任务处理信息确定所述测试任务的执行结果,并将所述执行结果发送给所述测试服务器,能够实时地监控所述测试任务的执行结果,并实时地将所述执行结果发送给所述测试服务器,从而实时且高效地完成自动化软件测试过程。
[0105]为实现上述方法,本发明实施例还提供了一种测试服务器、测试代理服务器以及一种软件测试系统,由于该测试服务器、测试代理服务器、软件测试系统解决问题的原理与方法相似,因此,设备的实施可以参见方法的实施,重复之处不再赘述。
[0106]如图3所示,本发明实施例提供的测试服务器,包括:获取单元300、测试任务调度单元301、第一通信单元302 ;其中,
[0107]所述获取单元300,用于获取用于调度测试任务的测试任务调度信息;
[0108]所述测试任务调度单元301,用于在所述第一通信单元302接收到测试任务启动指令时,根据所述测试任务调度信息调度所述测试任务,并由所述第一通信单元302将所述测试任务的执行指令发送给测试代理服务器;在所述第一通信单元302接收到所述测试代理服务器反馈的所述测试任务的执行结果时,根据所述执行结果以及所述测试任务调度信息确定是否存在与所述测试任务关联的后续测试任务;确定存在与所述测试任务关联的后续测试任务时,调度所述关联的后续测试任务。
[0109]为了描述的方便,以上所述测试服务器的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。以上功能模块或单元的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块或单元的划分方式不构成对本发明的限制。
[0110]具体实施中,所述测试任务调度信息包括测试任务间的关联信息以及测试任务对应的测试代理服务器编号,所述测试任务调度单元具体用于:
[0111]根据所述测试任务的执行结果查询所述测试任务间的关联信息中对应的处理策略,确定是否存在与所述测试任务关联的后续测试任务。
[0112]具体实施中,所述第一通信单元302具体用于:
[0113]根据所述测试任务调度信息中所述测试任务对应的测试代理服务编号,将所述测试任务的执行指令发送给对应编号的测试代理服务器。
[0114]具体实施中,所述第一通信单元302还用于:
[0115]接收到所述测试代理服务器发送的注册请求消息时,根据所述注册请求消息与所述测试代理服务器建立通信连接,所述注册请求消息中携带所述测试代理服务器的编号、IP地址、端口号。
[0116]在实际应用中,所述获取单元300、测试任务调度单元301、第一通信单元302可由位于测试服务器中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
[0117]如图4所示,本发明实施例提供的测试代理服务器,包括:指令处理单元400、第二通信单元401、执行结果确定单元402 ;其中,
[0118]所述指令处理单元400,用于在所述第二通信单元401接收到测试服务器发送的测试任务的执行指令时,将所述执行指令处理后通过所述第二通信单元401将处理后的执行指令发送给测试终端;
[0119]执行结果确定单元402,用于在所述第二通信单元401接收到所述测试终端执行所述测试任务后发送的测试任务处理信息时,根据所述测试任务处理信息确定所述测试任务的执行结果,通过所述第二通信单元401将所述执行结果发送给所述测试服务器。
[0120]为了描述的方便,以上所述测试代理服务器的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。以上功能模块或单元的划分方式仅为本发明实施例给出的一种优选实现方式,功能模块或单元的划分方式不构成对本发明的限制。
[0121]具体实施中,所述执行结果确定单元402具体用于:
[0122]对所述测试任务处理信息进行解析,确定所述测试任务的执行状态;
[0123]根据所述执行状态的变化,确定所述测试任务的执行结果。
[0124]具体实施中,所述第二通信单元401具体用于:
[0125]将注册请求消息发送给所述测试服务器,由所述测试服务器根据所述注册请求消息与所述测试代理服务器建立通信连接,所述注册请求消息中携带所述测试代理服务器的编号、IP地址、端口号。
[0126]在实际应用中,所述指令处理单元400、第二通信单元401、执行结果确定单元402可由位于测试代理服务器中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1