首页> 中国专利> 应用程序用户会话超时测试方法、后台、前台及系统

应用程序用户会话超时测试方法、后台、前台及系统

摘要

本申请实施例提供一种应用程序用户会话超时测试方法、后台、前台及系统,可用于金融技术领域,方法包括:在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的目标应用程序对应的用户会话标识,用户会话标识与预存储的用户会话最新创建时间相对应,用户会话最新创建时间为服务器自行检测目标应用程序当前的用户会话是否超时的依据;自服务器中删除用户会话标识,使得服务器在接收到针对目标应用程序的操作请求后,若未在本地查找到该用户会话标识,则控制目标应用程序处于超时状态以进行超时测试。本申请能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的效率并降低超时测试成本。

著录项

  • 公开/公告号CN112732566A

    专利类型发明专利

  • 公开/公告日2021-04-30

    原文格式PDF

  • 申请/专利权人 中国工商银行股份有限公司;

    申请/专利号CN202011638651.5

  • 发明设计人 张立伟;郑荣廷;邢昀;谷丽雅;

    申请日2020-12-31

  • 分类号G06F11/36(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人任默闻;孙乳笋

  • 地址 100140 北京市西城区复兴门内大街55号

  • 入库时间 2023-06-19 10:48:02

说明书

技术领域

本申请涉及数据处理技术领域,特别涉及金融技术领域,具体涉及应用程序用户会话超时测试方法、后台、前台及系统。

背景技术

应用程序APP(Application)作为移动互联网时代的重要载体,在我们日常生活中的应用日益广泛。在应用程序的开发和设计过程中,一般使用用户会话Session等技术进行用户身份认证与会话控制。且应用程序的超时机制一般是通过设置服务端的用户会话超时参数实现,而为了保证超时机制的应用有效性,则需要验证应用程序的用户会话超时后,应用程序中不应对超时用户开放的功能是否确实不可用,因此需要针对应用程序超时机制的进行测试。

目前,针对用户会话超时机制的测试方式可以为被动等待用户会话超时后,再进行后续相关验证,但由于这种方式等待时间过长,会大大降低测试效率并提高测试成本,因此测试人员还会采用修改用户会话超时参数的方式来缩短等待时间,以在较短的时间内完成对应用程序超时机制的超时测试。

然而,修改用户会话超时参数的方式虽然能够通过人工设置将超时参数缩短,但由于用户会话超时参数对于单个应用程序是唯一的,应用程序中的所有功能公用该参数,因此,若某测试人员频繁使用此方法验证超时业务场景,会对同一时间验证正常功能的其他测试人员形成干扰;同时,该种方式人为地造成了超时参数在测试环境与生产环境配置的不一致,也加大了测试风险和投产隐患。

发明内容

针对现有技术中的问题,本申请提供一种应用程序用户会话超时测试方法、后台、前台及系统,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,并能够有效降低超时测试成本。

为解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种应用程序用户会话超时测试方法,

在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据;

自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于超时状态以对该目标应用程序进行超时测试。

进一步地,在所述在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识之前,还包括:

若获知所述服务器已与所述目标应用程序建立连接且已在所述服务器本地存储所述目标应用程序对应的用户会话标识和对应的用户会话最新创建时间,则确定所述服务器当前已针对所述目标应用程序启动用户会话超时检测。

进一步地,所述服务器本地设有多个第一分布式存储单元;

所述第一分布式存储单元用于存储所述用户会话标识和第二分布式存储单元之间的对应关系;所述第二分布式存储单元用于存储所述目标应用程序对应的登录用户账号与所述用户会话最新创建时间之间的对应关系;

其中,所述用户账号为所述服务器在接收自所述目标应用程序的登录请求后,自该登录请求中的用户登录信息中获取的,其中,该用户登录信息中还包括登录密码;

所述用户会话标识为所述服务器在根据所述用户账号和登录密码确定对应用户为所述目标应用程序的合法用户后,创建与该所述目标应用程序的用户会话时生成的。

进一步地,所述在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,包括:

自所述服务器向所述目标应用程序发送的用户登录成功告知消息中,或者,自预获取的所述服务器的当前登录用户名单中,提取所述目标应用程序对应的用户会话标识,其中,该用户会话标识为所述服务器在根据预获取的所述目标应用程序的登录用户账号和登录密码确定对应用户为所述目标应用程序的合法用户后生成的,所述当前登录用户名单中包含有当前登录所述服务器的各个登录用户分别对应的用户会话标识;

在所述服务器中的各个所述第一分布式存储单元中查找所述目标应用程序对应的用户会话标识。

进一步地,所述在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,包括:

在确定服务器当前已针对目标应用程序启动用户会话超时检测之时或之后,自所述服务器中的各个所述第二分布式存储单元中查找所述目标应用程序对应的登录用户账号;

自存有所述登录用户账号的第二分布式存储单元对应的第一分布式存储单元中,获取所述目标应用程序的用户会话标识。

第二方面,本申请提供一种用户会话管理后台,包括:

标识获取模块,用于在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据;

超时测试模块,用于自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于用户会话超时状态以对该目标应用程序进行超时测试。

第三方面,本申请提供一种用户会话管理前台,所述用户会话管理前台用于向一用户会话管理后台发送标识删除指令,以使该用户会话管理后台在接收到该标识删除指令之时或之后,执行所述应用程序用户会话超时测试方法。

第四方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的应用程序用户会话超时测试方法,或者,所述处理器执行所述程序时实现所述用户会话管理前台的功能。

第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述应用程序用户会话超时测试方法,或者,该计算机程序被处理器执行时实现所述用户会话管理前台的功能。

第六方面,本申请提供一种应用程序用户会话超时测试系统,包括:客户端设备、服务器、用户会话管理后台以及所述用户会话管理前台;

所述用户会话管理后台用于实现所述应用程序用户会话超时测试方法;

所述客户端设备内设有所述目标应用程序,且该客户端设备与所述服务器之间通信连接以使所述服务器与所述目标应用程序建立连接并针对该目标应用程序启动用户会话超时检测;

所述用户会话管理后台分别与所述服务器和所述用户会话管理前台之间通信连接。

由上述技术方案可知,本申请提供的一种应用程序用户会话超时测试方法、后台、前台及系统,方法包括:在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据;自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于超时状态以对该目标应用程序进行超时测试;通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

附图说明

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

图1是本申请实施例中的应用程序用户会话超时测试方法的第一种流程示意图。

图2是本申请实施例中的应用程序用户会话超时测试方法的第二种流程示意图。

图3是本申请实施例中的应用程序用户会话超时测试方法中步骤100的第一种流程示意图。

图4是本申请实施例中的应用程序用户会话超时测试方法中步骤100的第二种流程示意图。

图5是本申请实施例中的用户会话管理后台的结构示意图。

图6是本申请实施例中的用户会话管理前台与用户会话管理后台之间的关系示意图。

图7是本申请实施例中的应用程序用户会话超时测试系统的结构示意图。

图8是本申请应用实例中的应用程序用户会话超时测试系统的参与方之间的关系示意图。

图9是本申请应用实例中的APP客户端与APP服务端的交互流程示意图。

图10是本申请应用实例中的Session管理后台与APP服务端交互流程示意图。

图11是本申请应用实例中的Session管理前台与Session管理后台交互流程示意图。

图12是本申请实施例中的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请公开的应用程序用户会话超时测试方法和装置可用于金融技术领域,也可用于除金融技术领域之外的任意领域,本申请公开的应用程序用户会话超时测试方法和装置的应用领域不做限定。

应用程序客户端与服务端的交互通常采用HTTP方式,因为HTTP本身是一种无状态协议,所以在应用程序的开发和设计过程中,一般使用用户会话Session等技术进行用户身份认证与会话控制。在具体开发工作中,每个应用程序会根据各自业务需要设计用户会话的生命周期,即超时机制。

应用程序的超时机制一般是通过设置服务端的用户会话超时参数实现,除少数即时通讯类应用程序软件因为业务场景需要,将用户会话超时参数设置为永久外,大部分应用程序一般将该参数设置为固定时间,例如15分钟。由于用户会话本身与用户身份直接相关,且涉及服务端对用户身份的安全校验,因此超时测试这种针对应用程序超时机制的测试是一种重要的异常测试场景,即验证在用户会话超时后,应用程序是否能控制各项不应对超时用户开放的功能不可用。

而现有的针对用户会话超时机制的测试方式主要有以下两种方法:

1、被动等待用户会话超时:用户登录成功后,到达待测试页面或功能,在该页面或功能实际等待超时(如15分钟)后,再进行后续相关验证;

2、修改用户会话超时参数:测试时在服务端将待测应用程序的超时参数缩短,例如将原15分钟缩短为1分钟,后续再进行相关验证操作。

其中,第1种测试方法较为落后,尤其是当待测应用程序的功能或页面较多,或者当测试人员需要频繁复现超时类问题时,往往只能反复被动等待用户会话超时时间浪费严重,测试方法成本过高且测试效率较低。而第2种测试方法虽然能够通过人工设置将超时参数缩短,但用户会话超时参数对于单个应用程序是唯一的,应用程序中的所有功能公用该参数;如果某测试人员频繁使用此方法验证超时业务场景,会对同一时间验证正常功能的其他测试人员形成干扰;同时,第2种测试方法人为造成了超时参数在测试环境与生产环境配置的不一致,加大了测试风险和投产隐患。

基于此,本申请实施例分别提供一种应用程序用户会话超时测试方法、用户会话管理后台、用户会话管理前台、电子设备、计算机可读存储介质及应用程序用户会话超时测试系统,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

具体通过下述各个实施例及应用实例分别进行详细说明。

在本申请的一个或多个实施例中,应用程序App(Application)是指安装在智能手机上的软件,也可以被称之为手机软件。

在本申请的一个或多个实施例中,用户会话Session在计算机中,尤其是在网络应用中,也可以被称之为会话控制。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

在本申请的一个或多个实施例中,超时测试是指在应用程序处于超时状态时,测试人员测试应用程序中不应对超时用户开放的功能是否确实不可用,例如,在在应用程序客户端展示超时页面后,测试人员确定其已进入超时状态,而后测试人员即可以在应用程序客户端对应用程序进行后续超时后业务场景的验证。

为了解决现有的应用程序用户会话超时测试方式无法同时满足提高测试效率要求和不修改超时参数要求的问题,本申请提供一种应用程序用户会话超时测试方法的实施例,参见图1,所述应用程序用户会话超时测试方法具体包含有如下内容:

步骤100:在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据。

可以理解的是,当前已针对目标应用程序启动用户会话超时检测的服务器是指在与目标应用程序的客户端设备建立连接后,针对该目标应用程序启动用户会话超时检测,具体方式可以为周期性检测所述目标应用程序与服务器直接的最新的用户会话是否已超时。

在一种举例中,测试人员手工或通过自动化测试工具操作目标应用程序的客户端,输入账号(或手机号、身份证号等用户标识符)和密码,向所述服务器发起登录请求;服务器校验账号和密码无误后,会调用内部用户会话生成功能为该用户创建一个用户会话,用户会话创建并存储完毕后,服务器将该用户会话Session对应的用户会话标识SessionId以及登录成功后的功能页面信息以cookie的形式返回给APP客户端;目标应用程序的客户端获取从服务器返回的SessionId信息,同时在向测试人员展示登录成功后的功能页面。

在步骤100和步骤200的执行期间,服务器一直在周期性的根据用户会话最新创建时间和预设的超时参数之间的时间差来自行判断本地存储的各个用户会话是否超时,举例来说:服务器的用户会话定期检查线程周期性启动(比如每10秒),线程程序每次启动会将当前应用服务器时间与内存中保存的每个SessionId对应的创建时间逐个进行比较,若当前应用服务器时间减去某SessionId创建时间的差值大于或等于APP服务端设置的超时参数,则线程会自动将该SessionId在内存HashMap1中清除;若当前应用服务器时间减去某SessionId创建时间的差值小于APP服务端设置的超时参数,则不做任何操作。

步骤200:自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于超时状态以对该目标应用程序进行超时测试。

在步骤200中,用户会话管理后台可以向服务器发送标识删除指令,以使该服务器自行在本地删除所述目标应用程序对应的用户会话标识;或者,用户会话管理后台接收用户会话管理前台发送的标识删除指令,而后由用户会话管理后台自行在所述服务器中删除所述目标应用程序对应的用户会话标识。而后,测试人员在目标应用程序的客户端使用该Sessionid(已被清除)再次发起请求;服务器接收到带SessionId的请求后,会以该SessionId为查询条件,调用本地的用户会话查询功能,在内存中进行查询;因无法查到,所以用户会话校验失败,即用户会话超时,并将“校验失败”信息返回目标应用程序的客户端;目标应用程序的客户端接收服务器的返回信息,在客户端展示超时页面,使得测试人员在客户端进行后续超时后业务场景的验证。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试方法,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的应用程序用户会话超时测试方法的一个实施例中,参见图2,所述应用程序用户会话超时测试方法的步骤100之前还具体包含有如下内容:

步骤010:若获知所述服务器已与所述目标应用程序建立连接且已在所述服务器本地存储所述目标应用程序对应的用户会话标识和对应的用户会话最新创建时间,则确定所述服务器当前已针对所述目标应用程序启动用户会话超时检测。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试方法,通过主动确定服务器当前已针对APP启动用户会话超时机制,能够有效提高应用程序用户会话超时测试的可靠性,并进一步提高应用程序用户会话超时测试的测试效率。

为了提高用户会话标识与用户会话最新创建时间的存储可靠性,在本申请提供的应用程序用户会话超时测试方法的一个实施例中,所述应用程序用户会话超时测试方法中的所述服务器本地设有多个第一分布式存储单元;所述第一分布式存储单元用于存储所述用户会话标识和第二分布式存储单元之间的对应关系;所述第二分布式存储单元用于存储所述目标应用程序对应的登录用户账号与所述用户会话最新创建时间之间的对应关系;其中,所述用户账号为所述服务器在接收自所述目标应用程序的登录请求后,自该登录请求中的用户登录信息中获取的,其中,该用户登录信息中还包括登录密码;所述用户会话标识为所述服务器在根据所述用户账号和登录密码确定对应用户为所述目标应用程序的合法用户后,创建与该所述目标应用程序的用户会话时生成的。

具体来说,所述第一分布式存储单元和第二分布式存储单元均可以为哈希映射对象,第一分布式存储单元可以写作HashMap1,第二分布式存储单元可以写作HashMap2。具体来说,用户会话以元素的形式存储在内存的一个哈希映射HashMap对象中,定义为HashMap1,其中HashMap1的key键为SessionId(用户会话Session的唯一标识符),value值也为一个HashMap对象,定义为HashMap2,HashMap2的key键为用户刚刚登录的账号值,HashMap2的value值为该用户会话Session的创建时间(当前目标应用程序APP应用服务器时间)。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试方法,能够有效提高用户会话标识与用户会话最新创建时间的存储可靠性,进而能够为查找预存储的所述目标应用程序对应的用户会话标识提供有效且可靠性的数据基础。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的应用程序用户会话超时测试方法的一个实施例中,参见图3,所述应用程序用户会话超时测试方法的步骤100具体包含有如下内容:

步骤111:自所述服务器向所述目标应用程序发送的用户登录成功告知消息中,或者,自预获取的所述服务器的当前登录用户名单中,提取所述目标应用程序对应的用户会话标识,其中,该用户会话标识为所述服务器在根据预获取的所述目标应用程序的登录用户账号和登录密码确定对应用户为所述目标应用程序的合法用户后生成的,所述当前登录用户名单中包含有当前登录所述服务器的各个登录用户分别对应的用户会话标识。

具体来说,在用户会话管理前台与用户会话管理后台之间的交互中用户会话管理前台是直接面向测试人员,主要提供三个功能:

A、已登录用户查询功能:测试人员手工在页面发起查询已登录用户请求,支持按账号查询或查询全部;

用户会话管理前台接收到查询请求后,调用用户会话管理后台功能获取HashMap1对象,并根据测试人员选择查询方式的不同,对HashMap1对象进行不同程序处理:

A-1、若测试人员选择按账号查询,并已输入待查询的账号:

(1)第一层:轮询HashMap1,依次获取HashMap1中每一个key(SessionID),记为key1,及其对应的value值(即HashMap2),记为value1;

(2)第二层:轮询每一个HashMap2,将测试人员输入的账号值与HashMap2中的key(账号,记为key2)进行比较:

如匹配一致,将key1(SessionID)、key2、以及key2对应的value值(Session的“创建时间”)在前台展示给测试人员;

如匹配不一致,则回到第一层继续轮询HashMap1,HashMap1轮询完毕后仍未匹配成功,则前台返回“查询失败”提示测试人员;

A-2、若测试人员选择查询全部:

(1)第一层:轮询HashMap1,依次获取HashMap1中每一个key(SessionID),记为key1,及其对应的value值(即HashMap2);

(2)第二层:轮询每一个HashMap2,将key1,以及HashMap2的key(账号,记为key2)及key2对应的value值(Session的“创建时间”)在前台展示给测试人员;

B、清除已登录用户功能:该功能为“已登录用户查询功能”的后置功能,测试人员手工在该功能页面选择已登录用户的SessionId,并将SessionId信息上送到用户会话管理后台,用户会话管理后台(清除已登录用户功能)通过与APP服务端交互,将APP服务端内存中存储的SessionId清除,并返回清除结果给用户会话管理后台,用户会话管理后台将清除结果返回用户会话管理前台后向测试人员展示;

C、清除已登录用户API接口:该接口为用户会话管理前台对外的API接口,支持用户在自动化测试工具中调用该接口清除已登录用户的SessionId;该接口输入字段为用户登录应用程序客户端使用的账号,返回结果为“0”(成功)或“1”(失败),接口内部处理逻辑与清除已登录用户功能相同;当自动化脚本中需要测试应用程序超时场景时,脚本直接通过代码调用该接口并上送已登录用户的账号信息,并根据接口返回结果进行后续的脚本执行。

步骤112:在所述服务器中的各个所述第一分布式存储单元中查找所述目标应用程序对应的用户会话标识。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试方法,通过先获取目标应用程序对应的用户会话标识,再在服务器中查找该用户会话标识的方式,能够有效提高在服务器中查找该用户会话标识的效率及针对性,进而能够进一步提高应用程序用户会话超时测试的测试效率。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的应用程序用户会话超时测试方法的一个实施例中,参见图4,所述应用程序用户会话超时测试方法的步骤100还可以具体包含有如下内容:

步骤121:在确定服务器当前已针对目标应用程序启动用户会话超时检测之时或之后,自所述服务器中的各个所述第二分布式存储单元中查找所述目标应用程序对应的登录用户账号。

步骤122:自存有所述登录用户账号的第二分布式存储单元对应的第一分布式存储单元中,获取所述目标应用程序的用户会话标识。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试方法,通过用目标应用程序对应的登录用户账号间接查询到目标应用程序的用户会话标识,无需提前获知目标应用程序的用户会话标识,因此能够有效提高在服务器中查找该用户会话标识的便捷性及效率,进而能够进一步提高应用程序用户会话超时测试的测试效率。

为了解决现有的应用程序用户会话超时测试方式无法同时满足提高测试效率要求和不修改超时参数要求的问题,本申请提供一种用于执行所述应用程序用户会话超时测试方法中全部或部分内容的用户会话管理后台的实施例,参见图5,所述用户会话管理后台1具体包含有如下内容:

标识获取模块10,用于在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据。

可以理解的是,当前已针对目标应用程序启动用户会话超时检测的服务器是指在与目标应用程序的客户端设备建立连接后,针对该目标应用程序启动用户会话超时检测,具体方式可以为周期性检测所述目标应用程序与服务器直接的最新的用户会话是否已超时。

在一种举例中,测试人员手工或通过自动化测试工具操作目标应用程序的客户端,输入账号(或手机号、身份证号等用户标识符)和密码,向所述服务器发起登录请求;服务器校验账号和密码无误后,会调用内部用户会话生成功能为该用户创建一个用户会话,用户会话创建并存储完毕后,服务器将该用户会话Session对应的用户会话标识SessionId以及登录成功后的功能页面信息以cookie的形式返回给APP客户端;目标应用程序的客户端获取从服务器返回的SessionId信息,同时在向测试人员展示登录成功后的功能页面。

在标识获取模块10和超时测试模块20的执行期间,服务器一直在周期性的根据用户会话最新创建时间和预设的超时参数之间的时间差来自行判断本地存储的各个用户会话是否超时,举例来说:服务器的用户会话定期检查线程周期性启动(比如每10秒),线程程序每次启动会将当前应用服务器时间与内存中保存的每个SessionId对应的创建时间逐个进行比较,若当前应用服务器时间减去某SessionId创建时间的差值大于或等于APP服务端设置的超时参数,则线程会自动将该SessionId在内存HashMap1中清除;若当前应用服务器时间减去某SessionId创建时间的差值小于APP服务端设置的超时参数,则不做任何操作。

超时测试模块20,用于自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于用户会话超时状态以对该目标应用程序进行超时测试。

在超时测试模块20中,超时测试模块20可以向服务器发送标识删除指令,以使该服务器自行在本地删除所述目标应用程序对应的用户会话标识;或者,用超时测试模块20接收用户会话管理前台发送的标识删除指令,而后由超时测试模块20自行在所述服务器中删除所述目标应用程序对应的用户会话标识。而后,测试人员在目标应用程序的客户端使用该Sessionid(已被清除)再次发起请求;服务器接收到带SessionId的请求后,会以该SessionId为查询条件,调用本地的用户会话查询功能,在内存中进行查询;因无法查到,所以用户会话校验失败,即用户会话超时,并将“校验失败”信息返回目标应用程序的客户端;目标应用程序的客户端接收服务器的返回信息,在客户端展示超时页面,使得测试人员在客户端进行后续超时后业务场景的验证。

本申请提供的用户会话管理后台1的实施例具体可以用于执行上述实施例中的应用程序用户会话超时测试方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本申请实施例提供的用户会话管理后台1,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的用户会话管理后台1的一个实施例中,所述用户会话管理后台1还具体用于执行如下内容:

步骤010:若获知所述服务器已与所述目标应用程序建立连接且已在所述服务器本地存储所述目标应用程序对应的用户会话标识和对应的用户会话最新创建时间,则确定所述服务器当前已针对所述目标应用程序启动用户会话超时检测。

从上述描述可知,本申请实施例提供的用户会话管理后台1,通过主动确定服务器当前已针对APP启动用户会话超时机制,能够有效提高应用程序用户会话超时测试的可靠性,并进一步提高应用程序用户会话超时测试的测试效率。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的用户会话管理后台1的一个实施例中,所述用户会话管理后台1中的标识获取模块10具体用于执行下述内容:

步骤111:自所述服务器向所述目标应用程序发送的用户登录成功告知消息中,或者,自预获取的所述服务器的当前登录用户名单中,提取所述目标应用程序对应的用户会话标识,其中,该用户会话标识为所述服务器在根据预获取的所述目标应用程序的登录用户账号和登录密码确定对应用户为所述目标应用程序的合法用户后生成的,所述当前登录用户名单中包含有当前登录所述服务器的各个登录用户分别对应的用户会话标识。

步骤112:在所述服务器中的各个所述第一分布式存储单元中查找所述目标应用程序对应的用户会话标识。

从上述描述可知,本申请实施例提供的用户会话管理后台1,通过先获取目标应用程序对应的用户会话标识,再在服务器中查找该用户会话标识的方式,能够有效提高在服务器中查找该用户会话标识的效率及针对性,进而能够进一步提高应用程序用户会话超时测试的测试效率。

为了提高应用程序用户会话超时测试的可靠性,在本申请提供的用户会话管理后台1的一个实施例中,所述用户会话管理后台1中的标识获取模块10还具体用于执行下述内容:

步骤121:在确定服务器当前已针对目标应用程序启动用户会话超时检测之时或之后,自所述服务器中的各个所述第二分布式存储单元中查找所述目标应用程序对应的登录用户账号。

步骤122:自存有所述登录用户账号的第二分布式存储单元对应的第一分布式存储单元中,获取所述目标应用程序的用户会话标识。

从上述描述可知,本申请实施例提供的用户会话管理后台1,通过用目标应用程序对应的登录用户账号间接查询到目标应用程序的用户会话标识,无需提前获知目标应用程序的用户会话标识,因此能够有效提高在服务器中查找该用户会话标识的便捷性及效率,进而能够进一步提高应用程序用户会话超时测试的测试效率。

基于上述用户会话管理后台1,参见图6,本申请还提供一种与该用户会话管理前台1通信连接的用户会话管理前台2,所述用户会话管理前台2用于向一用户会话管理后台发送标识删除指令,以使该用户会话管理后台在接收到该标识删除指令之时或之后,执行如前述实施例提及的所述应用程序用户会话超时测试方法。

从上述描述可知,本申请实施例提供的用户会话管理前台2,通过根据测试人员的信息录入向用户会话管理后台发送标识删除指令,能够有效提高用户会话管理后台执行所述应用程序用户会话超时测试方法的应用可靠性,并能够有效提高测试人员的操作便捷性。

基于上述用户会话管理后台1和用户会话管理前台2,参见图7,本申请还提供一种应用程序用户会话超时测试系统,包括:客户端设备3、服务器4、前述实施例提及的用户会话管理后台1以及用户会话管理前台2;所述用户会话管理后台1用于实现所述的应用程序用户会话超时测试方法;所述客户端设备3内设有所述目标应用程序,且该客户端设备3与所述服务器4之间通信连接以使所述服务器4与所述目标应用程序建立连接并针对该目标应用程序启动用户会话超时检测;所述用户会话管理后台1分别与所述服务器4和所述用户会话管理前台2之间通信连接。

从上述描述可知,本申请实施例提供的应用程序用户会话超时测试系统,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

为进一步说明本方案,本申请还提供一种应用所述应用程序用户会话超时测试系统实现的应用程序用户会话超时测试方法的具体应用实例,能够在不对应用程序APP正常测试流程及超时参数进行干扰的情况下,实现了对应用程序APP超时机制的高效测试,可显著降低测试成本,在该应用实例中,客户端设备3为APP客户端,服务器4为APP服务端、前述实施例提及的用户会话管理后台1为Session管理后台,以及用户会话管理前台2为Session管理前台。

(一)所述应用程序用户会话超时测试系统主要解决现有应用程序APP超时机制测试方法的低效率、高成本、对正常测试工作干扰大且存在一定测试风险的技术问题,参见图8,具体包含有如下内容:

(1)APP客户端:测试环境下的待测APP客户端,是测试人员手工或自动化测试的测试对象;

(2)APP服务端:测试环境下的APP服务端,处理APP客户端发起的请求;

(3)Session管理前台:接收测试人员手工或自动化工具发起的Session操作需求,生成操作指令发给Session管理后台;

(4)Session管理后台:是本应用实例设计的一个非侵入式工具,和APP服务端部署在同一台服务器,负责与APP服务端交互获取或操作用户Session信息。

(二)APP客户端与APP服务端的交互流程

参见图9,为APP客户端与APP服务端的交互流程图,具体步骤如下:

Step1,测试人员手工或通过自动化测试工具操作APP客户端,输入账号(或手机号、身份证号等用户标识符)和密码,向APP服务端发起登录请求;

Step2,APP服务端校验账号和密码无误后,会调用内部Session生成功能为该用户创建一个Session,Session以元素的形式存储在内存的一个HashMap对象中,定义为HashMap1,其中HashMap1的key键为SessionId(Session的唯一标识符),value值也为一个HashMap对象,定义为HashMap2,HashMap2的key键为用户刚刚登录的账号值,HashMap2的value值为该Session的创建时间(当前APP应用服务器时间);Session创建并存储完毕后,APP服务端将该Session对应的SessionId以及登录成功后的功能页面信息以cookie的形式返回给APP客户端;

Step3,APP客户端获取从APP服务端返回的SessionId信息,同时在向测试人员展示登录成功后的功能页面;

Step4,测试人员在APP客户端再次发起交易请求,请求中会携带SessionId信息;

Step5,APP服务端接收到带SessionId的请求后,会以SessionId为查询条件,调用服务端的Session查询功能,在内存存储的HashMap1中进行查询;

若无法查到,则Session校验失败,即Session超时,并将“校验失败”信息返回APP客户端;

若可以查到,则Session校验成功,同时在HashMap1中将SessionId对应“创建时间”更新为当前APP应用服务器时间),并将“校验成功”及请求应答信息返回给APP客户端;

Step6,APP客户端接收APP服务端的返回信息,若“校验失败”则在客户端展示超时功能页面提示客户,如“校验成功”,则根据APP服务端的返回应答信息展示正常业务功能页面;

Step7,APP服务端的Session定期检查线程周期性启动(比如每10秒),线程程序每次启动会将当前应用服务器时间与内存中保存的每个SessionId对应的“创建时间”逐个进行比较,若“当前应用服务器时间减去某SessionId“创建时间”的差值大于或等于APP服务端设置的超时参数,则线程会自动将该SessionId在内存HashMap1中清除;若“当前应用服务器时间减去某SessionId“创建时间”的差值小于APP服务端设置的超时参数,则不做任何操作;

Step8,测试人员在APP客户端使用该Sessionid(已被清除)再次发起请求;

Step9,APP服务端接收到带SessionId的请求后,会以该SessionId为查询条件,调用服务端Session查询功能,在内存存储的HashMap1中进行查询;因无法查到,所以Session校验失败,即Session超时,并将“校验失败”信息返回APP客户端;

Step10,APP客户端接收APP服务端的返回信息,在客户端展示超时页面,测试人员在客户端进行后续超时后业务场景的验证。

(三)APP服务端与Session管理后台的交互流程

参见图10,为本应用实例中APP服务端与Session管理后台的交互流程图,其中“Session管理后台”为本应用实例的核心设计之一,是一个独立于APP服务端的非侵入式工具,和APP服务端部署在同一台服务器,负责与APP服务端交互获取或操作用户Session信息,具体步骤如下:

Step1,APP客户端发起登录请求后,APP服务端校验登录信息无误,调用内部Session生成功能,生成Session对象存储在内存中;

Step2,Session管理后台收到来自Session管理前台“查询已登录用户”的请求后,会调用APP服务端的Session查询功能,获取整个HashMap1对象,并返回给Session管理前台;

Step3,若Session管理后台收到来自Session管理前台“清除已登录用户”的请求,会调用APP服务端的Session清除功能,并上送要清除的SessionId信息;APP服务端的Session清除功能会根据上送的SessionId信息,与存储Session的HashMap1中的所有key进行匹配,匹配成功即删除对应的Session记录。

四)Session管理前台与Session管理后台交互流程

参见图11,为本应用实例Session管理前台与Session管理后台之间的交互流程图,其中Session管理前台是直接面向测试人员,主要提供三个功能:

A、已登录用户查询功能:测试人员手工在页面发起“查询已登录用户”,支持按账号查询或查询全部;

Session管理前台接收到查询请求后,调用Session管理后台功能获取HashMap1对象,并根据测试人员选择查询方式的不同,对HashMap1对象进行不同程序处理:

1、若测试人员选择按账号查询,并已输入待查询的账号:

(1)第一层:轮询HashMap1,依次获取HashMap1中每一个key(SessionID),记为key1,及其对应的value值(即HashMap2),记为value1;

(2)第二层:轮询每一个HashMap2,将测试人员输入的账号值与HashMap2中的key(账号,记为key2)进行比较:

如匹配一致,将key1(SessionID)、key2、以及key2对应的value值(Session的“创建时间”)在前台展示给测试人员;

如匹配不一致,则回到第一层继续轮询HashMap1,HashMap1轮询完毕后仍未匹配成功,则前台返回“查询失败”提示测试人员;

2、若测试人员选择查询全部:

(1)第一层:轮询HashMap1,依次获取HashMap1中每一个key(SessionID),记为key1,及其对应的value值(即HashMap2);

(2)第二层:轮询每一个HashMap2,将key1,以及HashMap2的key(账号,记为key2)及key2对应的value值(Session的“创建时间”)在前台展示给测试人员;

B、清除已登录用户功能:该功能为“已登录用户查询功能”的后置功能,测试人员手工在该功能页面选择已登录用户的SessionId,并将SessionId信息上送到Session管理后台,Session管理后台(清除已登录用户功能)通过与APP服务端交互(见附图3),将APP服务端内存中存储的SessionId清除,并返回清除结果给Session管理后台,Session管理后台将清除结果返回Session管理前台后向测试人员展示;

C、清除已登录用户API接口:该接口为“Session管理前台”对外的API接口,支持用户在自动化测试工具中调用该接口清除已登录用户的SessionId;该接口输入字段为用户登录移动APP客户端使用的账号,返回结果为“0”(成功)或“1”(失败),接口内部处理逻辑与“B、清除已登录用户功能”相同;当自动化脚本中需要测试APP超时场景时,脚本直接通过代码调用该接口并上送已登录用户的账号信息,并根据接口返回结果进行后续的脚本执行。

基于上述内容,应用所述应用程序用户会话超时测试系统实现的应用程序用户会话超时测试方法具体包含有如下内容:

Step1,选定待测试的移动APP客户端,测试人员操作APP客户端,选择登录功能,输入账号和密码,向APP服务端发起登录请求;

Step2,APP服务端校验账号和密码无误后,通知客户端,客户端向测试人员展示登录成功页面,测试人员进入APP客户端登录内功能;

Step3,测试人员在移动APP客户端内进行操作,达到要测试超时机制的功能页面;

Step4,测试人员通过浏览器访问“Session管理前台”,进入“已登录用户查询功能”,输入刚刚在移动APP登录时使用的账号进行查询,查询成功得到该账号对应的SeesionId;测试人员继续使用“清除已登录用户”功能,对该账号对应的SeesionId发起清除请求,请求经“Session管理前台”-“Session管理后台”,达到APP服务端,APP服务端在内存中匹配到该SeesionId后进行清除,并返回清除成功结果,成功结果经“Session管理后台”-“Session管理前台”后展示给测试人员;

Step5,测试人员收到清除成功结果后,回到Step3,在待测试功能页面即可进行超时后业务场景的测试,无需像以往自然等待超时参数设置的时间(如15分钟,甚至更长),从而实现提升测试效率的目的。

从上述描述可知,本申请应用实例提供的应用程序用户会话超时测试方法及相关系统,通过设计Session操作前/后台完成与移动APP服务端之间的Session交互,从而解决了现有移动APP超时机制测试方法的低效率、高成本、对正常测试工作干扰大且存在一定测试风险的技术难题;该方法在不对移动APP正常测试流程及超时参数进行干扰及修改的情况下,实现了对移动APP超时机制的高效测试,可显著降低测试工作的时间成本。该方法及对应系统目前已投入生产,应用效果良好,相关超时机制测试场景的测试耗时缩减90%以上,测试效率提升明显;该测试方法及系统既支持测试人员手工测试使用,也支持自动化测试工具使用,可满足测试人员多维度的应用需求。

从硬件层面来说,为了解决现有的应用程序用户会话超时测试方式无法同时满足提高测试效率要求和不修改超时参数要求的问题,本申请提供一种用于实现所述应用程序用户会话超时测试方法或者所述用户会话管理前台的功能中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

图12为本申请实施例的电子设备9600的系统构成的示意框图。如图12所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图12是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

在一实施例中,应用程序用户会话超时测试功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:

步骤100:在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据。

可以理解的是,当前已针对目标应用程序启动用户会话超时检测的服务器是指在与目标应用程序的客户端设备建立连接后,针对该目标应用程序启动用户会话超时检测,具体方式可以为周期性检测所述目标应用程序与服务器直接的最新的用户会话是否已超时。

在一种举例中,测试人员手工或通过自动化测试工具操作目标应用程序的客户端,输入账号(或手机号、身份证号等用户标识符)和密码,向所述服务器发起登录请求;服务器校验账号和密码无误后,会调用内部用户会话生成功能为该用户创建一个用户会话,用户会话创建并存储完毕后,服务器将该用户会话Session对应的用户会话标识SessionId以及登录成功后的功能页面信息以cookie的形式返回给APP客户端;目标应用程序的客户端获取从服务器返回的SessionId信息,同时在向测试人员展示登录成功后的功能页面。

在步骤100和步骤200的执行期间,服务器一直在周期性的根据用户会话最新创建时间和预设的超时参数之间的时间差来自行判断本地存储的各个用户会话是否超时,举例来说:服务器的用户会话定期检查线程周期性启动(比如每10秒),线程程序每次启动会将当前应用服务器时间与内存中保存的每个SessionId对应的创建时间逐个进行比较,若当前应用服务器时间减去某SessionId创建时间的差值大于或等于APP服务端设置的超时参数,则线程会自动将该SessionId在内存HashMap1中清除;若当前应用服务器时间减去某SessionId创建时间的差值小于APP服务端设置的超时参数,则不做任何操作。

步骤200:自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于超时状态以对该目标应用程序进行超时测试。

在步骤200中,用户会话管理后台可以向服务器发送标识删除指令,以使该服务器自行在本地删除所述目标应用程序对应的用户会话标识;或者,用户会话管理后台接收用户会话管理前台发送的标识删除指令,而后由用户会话管理后台自行在所述服务器中删除所述目标应用程序对应的用户会话标识。而后,测试人员在目标应用程序的客户端使用该Sessionid(已被清除)再次发起请求;服务器接收到带SessionId的请求后,会以该SessionId为查询条件,调用本地的用户会话查询功能,在内存中进行查询;因无法查到,所以用户会话校验失败,即用户会话超时,并将“校验失败”信息返回目标应用程序的客户端;目标应用程序的客户端接收服务器的返回信息,在客户端展示超时页面,使得测试人员在客户端进行后续超时后业务场景的验证。

从上述描述可知,本申请实施例提供的电子设备,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

又例如,中央处理器可以被配置为进行如下控制:

向一用户会话管理后台发送标识删除指令,以使该用户会话管理后台在接收到该标识删除指令之时或之后,执行如前述实施例提及的所述应用程序用户会话超时测试方法。

从上述描述可知,本申请实施例提供的电子设备,通过根据测试人员的信息录入向用户会话管理后台发送标识删除指令,能够有效提高用户会话管理后台执行所述应用程序用户会话超时测试方法的应用可靠性,并能够有效提高测试人员的操作便捷性。

在另一个实施方式中,用户会话管理后台可以与中央处理器9100分开配置,例如可以将用户会话管理后台配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现应用程序用户会话超时测试功能。

如图12所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图12中所示的所有部件;此外,电子设备9600还可以包括图12中没有示出的部件,可以参考现有技术。

如图12所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的应用程序用户会话超时测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的应用程序用户会话超时测试方法或者所述用户会话管理前台的功能的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤100:在当前已针对目标应用程序启动用户会话超时检测的服务器中,查找预存储的所述目标应用程序对应的用户会话标识,其中,所述用户会话标识与预存储的用户会话最新创建时间相对应,该用户会话最新创建时间为所述服务器自行检测所述目标应用程序当前的用户会话是否超时的依据。

可以理解的是,当前已针对目标应用程序启动用户会话超时检测的服务器是指在与目标应用程序的客户端设备建立连接后,针对该目标应用程序启动用户会话超时检测,具体方式可以为周期性检测所述目标应用程序与服务器直接的最新的用户会话是否已超时。

在一种举例中,测试人员手工或通过自动化测试工具操作目标应用程序的客户端,输入账号(或手机号、身份证号等用户标识符)和密码,向所述服务器发起登录请求;服务器校验账号和密码无误后,会调用内部用户会话生成功能为该用户创建一个用户会话,用户会话创建并存储完毕后,服务器将该用户会话Session对应的用户会话标识SessionId以及登录成功后的功能页面信息以cookie的形式返回给APP客户端;目标应用程序的客户端获取从服务器返回的SessionId信息,同时在向测试人员展示登录成功后的功能页面。

在步骤100和步骤200的执行期间,服务器一直在周期性的根据用户会话最新创建时间和预设的超时参数之间的时间差来自行判断本地存储的各个用户会话是否超时,举例来说:服务器的用户会话定期检查线程周期性启动(比如每10秒),线程程序每次启动会将当前应用服务器时间与内存中保存的每个SessionId对应的创建时间逐个进行比较,若当前应用服务器时间减去某SessionId创建时间的差值大于或等于APP服务端设置的超时参数,则线程会自动将该SessionId在内存HashMap1中清除;若当前应用服务器时间减去某SessionId创建时间的差值小于APP服务端设置的超时参数,则不做任何操作。

步骤200:自所述服务器中删除所述目标应用程序对应的用户会话标识,使得所述服务器在接收到针对所述目标应用程序的操作请求后,若未在本地查找到所述目标应用程序对应的用户会话标识,则控制所述目标应用程序处于超时状态以对该目标应用程序进行超时测试。

在步骤200中,用户会话管理后台可以向服务器发送标识删除指令,以使该服务器自行在本地删除所述目标应用程序对应的用户会话标识;或者,用户会话管理后台接收用户会话管理前台发送的标识删除指令,而后由用户会话管理后台自行在所述服务器中删除所述目标应用程序对应的用户会话标识。而后,测试人员在目标应用程序的客户端使用该Sessionid(已被清除)再次发起请求;服务器接收到带SessionId的请求后,会以该SessionId为查询条件,调用本地的用户会话查询功能,在内存中进行查询;因无法查到,所以用户会话校验失败,即用户会话超时,并将“校验失败”信息返回目标应用程序的客户端;目标应用程序的客户端接收服务器的返回信息,在客户端展示超时页面,使得测试人员在客户端进行后续超时后业务场景的验证。

从上述描述可知,本申请实施例提供的计算机可读存储介质,通过在当前已针对目标应用程序启动用户会话超时检测的服务器中主动删除目标应用程序的会话标识,能够主动模拟应用程序的超时环境,以对处于用户会话超时状态的应用程序进行超时测试,能够在不影响应用程序的正常测试流程及超时参数等的基础上,有效提高应用程序用户会话超时测试的测试效率,避免人为造成的超时参数在测试环境与生产环境配置的不一致的情形出现,能够有效降低测试风险和投产隐患,并能够有效降低超时测试成本,节省人力及时间成本,提高用户会话超时测试人员的用户体验。

又例如,所述处理器执行所述计算机程序时实现下述步骤:

向一用户会话管理后台发送标识删除指令,以使该用户会话管理后台在接收到该标识删除指令之时或之后,执行如前述实施例提及的所述应用程序用户会话超时测试方法。

从上述描述可知,本申请实施例提供的计算机可读存储介质,通过根据测试人员的信息录入向用户会话管理后台发送标识删除指令,能够有效提高用户会话管理后台执行所述应用程序用户会话超时测试方法的应用可靠性,并能够有效提高测试人员的操作便捷性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号