基于用户行为的测试方法、装置、电子设备和存储介质与流程

文档序号:30083888发布日期:2022-05-18 05:07阅读:115来源:国知局
基于用户行为的测试方法、装置、电子设备和存储介质与流程

1.本发明实施例涉及通信技术领域,更具体涉及web应用的接口测试领域,尤其涉及基于用户行为的测试方法、装置、电子设备和存储介质。


背景技术:

2.随着网络技术的不断发展,web应用领域的使用日益广泛,web应用的质量问题随之产生,测试是保证web应用的高质量、高可靠的一种有效手段,其中如何有效的生成测试用例以及应用到实际测试工作中是一个关键的问题。
3.目前对于web应用的接口测试,主要以人工手写接口测试脚本为主,辅助以fiddlder和jmeter等类似接口代理应用程序来进行接口测试。web测试用例生成方法有:捕捉-回放法、模型法、基于用户会话的方法,基于动态搜索的方法。捕捉-回放法是界面普遍采用的web应用自动化测试方法,该方法首先人工记录用户的操作过程并生成测试脚本,通过回放、模拟用户操作的方式自动运行web应用,模型法是通过分析服务端源代码或者需求说明创建应用模型,再根据模型设计测试用例。基于会话的方法是通过从用户日志中提取测试用例有关信息生成测试用例,会话反映了用户的使用方法和习惯,利用历史会话记录,测试人员可以针对用户行为习惯涉及测试用例,应用到web应用测试。
4.根据接口文档生成测试用例,测试测试场景比较单一,比如捕捉-回放法需要人工录制脚本,测试用例单一,成本高。


技术实现要素:

5.本发明提供一种基于用户行为的测试方法、装置、电子设备和存储介质,用于web应用测试工作中的接口测试用例编写,并应用于不同的测试场景中。
6.根据本发明实施例的一方面,本发明实施例提供了基于用户行为的测试方法,所述方法包括:
7.根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据;
8.根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径;
9.为经修正的会话访问路径确定测试优先级。
10.根据本发明实施例的另一方面,本发明实施例提供了基于用户行为的测试装置,包括:
11.日志分析模块,用于根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据;
12.路径修正模块,用于根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径;
13.优先级确定模块,用于为经修正的会话访问路径确定测试优先级。
14.根据本发明实施例的另一方面,提供了一种电子设备,所述电子设备包括:
15.一个或多个处理器;
16.存储装置,用于存储一个或多个程序,
17.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的基于用户行为的测试方法。
18.根据本发明实施例的另一方面,提供了一种包含计算机可执行指令的存储介质,其中,所述计算机可执行指令在由计算机处理器执行时用于执行本发明任意实施例提供的基于用户行为的测试方法。
19.本发明能够有效地统计用户实际操作对应的访问路径,将实际访问路径应用到实际的web应用接口报文测试工作中,提高了测试工作与用户实际行为的关联度,满足了测试工作人员的不同测试需求。
附图说明
20.图1为本发明实施例一提供的基于用户行为的测试方法的流程示意图;
21.图2是本发明实施例二提供的基于用户行为的测试方法的流程示意图;
22.图3是本发明实施例三提供的基于用户行为的测试装置的结构示意图;
23.图4是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
24.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
25.实施例一
26.web应用一种可以通过web访问的应用程序,用户只需有浏览器即可实现对该web应用的访问,不需安装其他软件。目前,web应用技术应用广泛,大多数的网站都使用了web应用,例如,银行网站、qq空间和gmail邮箱等。生成有效的测试用例应用到实际测试工作中是保证web应用的高质量、高可靠的一种有效手段。
27.图1为本发明实施例一提供的基于用户行为的测试方法的流程示意图,本实施例可适用于web应用的接口场景设计等情况,该方法可以由基于用户行为的测试装置来执行,该装置可以采用软件和/或硬件的方式来实现。该装置可配置于服务器中,该方法具体包括:
28.s110、根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据。
29.其中,所述web应用的访问日志是web在运行时产生的事件记录,记载着日期、时间、使用者及动作等相关操作的描述;所述用户会话可以是指用户打开浏览器,访问某web应用直到关闭浏览器、自动退出web应用或会话超时退出web应用的过程;所述会话访问路径可以是指用户访问web应用所有请求接口的url路径;用户行为数据可以是用户在所有会话中行为的集合,所述访问请求的用户行为数据包括如下至少一项:用户标识、访问请求时间、访问请求方式、当前访问资源路径、上一访问资源路径和请求访问状态。从所述访问日
志中可以获取用户在会话中访问请求的url路径和会话中访问请求的用户行为数据。
30.具体的,将用户行为定义为一个六维元素,例如,b=(i,t,m,u,r,s),其中b表示用户行为,i表示某一用户,即用户标识,t表示用户行为发生的时间,即访问请求时间,m表示用户请求方式,即访问请求方式,u表示被访问的资源路径,即当前访问资源路径,r表示引用,即用户浏览的上一个资源路径,s表示系统对用户行为的响应状态,即请求访问状态。示例的,获取web应用服务器的访问日志,对用户行为进行分析,记录用户行为b=(i,t,m,u,r,s),例如,可以将用户主机ip表示某一用户i,日志记录时间记录为时间t,http的请求方式(get或者post)对应为m,被访问的资源url路径(例如,startup.do)对应为u,用户浏览的上一个资源url路径referer对应为r,http状态码(例如,200、404、500等)表示为s。
31.具体的,若两条或多条日志记录中的ip地址相同,即i相同,此时可以判断该两条或多条用户行为由同一用户访问。为了避免系统资源浪费,web应用通常会设置超时时间,用户在规定时间内没有回复会被强制退出会话。本发明实施例根据web应用会话超时时间的特性来识别用户会话,根据同一用户相邻日志记录的日志时间差δt=t
j+1-tj(j≥1),可以推算出用户在页面停留时间,当同一用户相邻日志记录的日志时间差δt大于超时时间,则认为同一用户的不同会话。示例的,所述超时时间可以设置为5分钟,此时,当δt大于5分钟,则认为是同一用户的不同会话。具体的,一个用户在某一个会话中的行为可以表示为bj=(i,tj,mj,uj,rj,s),一个用户的在多个会话中的所有行为可以表示为
32.具体的,将会话访问路径定义为一个集合,集合中的元素为用户访问的url路径,示例的,集合中元素根据日志记录事件排序,例如,u=[ua,ub,uc,ud,ue]。
[0033]
s120、根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径。
[0034]
用户访问页面的行为存在通过返回或者后退按钮进行,即用户在实际操作web应用时,存在返回或者后退的行为,在返回时,服务器不会记录返回页面的日志信息,不能准确识别用户的行为,此时,从日志信息中是识别的用户会话访问路径不能准确表示用户的每一步操作行为。本实施例根据步骤110中定义的用户行为对步骤110中确定的会话访问路径进行修正,得到经修正的会话访问路径。
[0035]
具体的,从所述访问请求的用户行为数据中提取所述访问请求的当前访问资源路径和上一访问资源路径;所述上一访问资源路径即用户行为中的引用信息r,从所述会话访问路径中提取顺序在所述当前访问资源路径之前的前一url;若所述上一访问资源路径和所述前一url不同,则采用所述上一访问资源路径对所述会话访问路径中的url进行拆分。即如果某一用户同一会话中某一行为记录的r不是上一行为访问资源,则认为该用户使用返回按钮,则需要来进行路径确认及补充。
[0036]
示例的,某一用户同一会话中访问的url路径为u=[ua,ub,uc,ud,ue],其中,用户存在回退行为,例如用户从uc回退到ua,日志中不会记录uc到ua的url路径,若从用户行为记录中查询到的ud的referer不等于uc,此时可以判断用户具有回退或返回行为;进一步的,依次判断ud与ub、ua的关系,假设ud的referer不等于uc和ub,而等于ua,此时可以确定该用户会话实际是两个会话,其会话路径分别为[ua,ub,uc]和[ua,ud,ue]。
[0037]
根据上述方法将缺失的路径补充完整得到用户的实际行为集,可以表示为用户的实际访问路径信息可以表示为
[0038]
s130、为经修正的会话访问路径确定测试优先级。
[0039]
具体的,根据修正的会话访问路径可以确定用户在web应用上的实际操作,进而可以经过数据分析重构用户的使用场景,确定用户的是特别习惯和使用方法或者习惯,测试工作人员定义修正的会话访问路径的测试优先级,以根据用户行为做出针对性的测试。
[0040]
本实施例的技术方案,根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据;根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径;为经修正的会话访问路径确定测试优先级。本技术基于用户行为进行测试用例的编写,提高了测试工作与用户实际行为的关联度,实现了不同测试场景的应用,测试工作人员可以根据用户实际的访问路径确定测试优先级,满足了测试工作人员的不同测试需求。
[0041]
在上述技术方案的基础上,对上述步骤110进一步优化,某一日志记录的全部用户的会话行为可以表示为全部用户的会话访问路径集表示为提取全部用户的会话行为和会话访问路径,按照上述步骤120的方法修正会话访问路径,得到全部用户的修正的会话访问路径。
[0042]
在一个具体实例中,上述步骤120还包括:若所述会话访问路径中任一用户行为数据中的请求访问状态为访问异常,则将所述会话访问路径中位于该用户行为数据中当前访问资源路径之后的url从所述会话路径中删除。
[0043]
具体的,用户访问页面的行为存在响应失败再次发出请求的情况,这种情况可以根据http状态码进行判断,即可以根据用户中的s进行判断。示例的,某一用户同一会话中访问的url路径中存在http返回码不是200,此时可以判断用户在访问该url路径时存在错误,那么可以将该url路径作为一个测试用例进行测试,此时url路径将从该节点分隔结束,即从用户会话中舍弃当前访问资源路径之后的url。这样设置的好处在于可以及时发现用户会话中的异常行为,可以针对异常行为进行针对性的重点测试。
[0044]
实施例二
[0045]
图2是本发明实施例二提供的基于用户行为的测试方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选的方案,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。参见图2,本实施例提供的基于用户行为的测试方法包括:
[0046]
步骤210:根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据。
[0047]
步骤220:根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径。
[0048]
步骤230:确定经修正的会话访问路径与其他会话访问路径的最大公共前缀url数量和经修正的会话访问路径中的总url数量。
[0049]
其中,所述用户会话访问路径可以是全部用户或者单个用户的所有会话访问记录,为了提高测试用例的数量,进行更加全面的测试,本实施例优先为全部用户的所有会话访问记录。所述前缀指任意两条会话访问路径um和un,当路径um为路径un的子序列且这两条路径的起点相同时,此时url路径um被称为路径un的前缀;所述公共前缀可以是指若一条会话访问路径同时是多条会话访问路径的前缀,那么这条会话访问路径就被称为多条会话访问路径的公共前缀;所述最大公共前缀可以是指任意两条会话访问路径的所有公共前缀中最长的那个前缀。
[0050]
具体的,确定修正的会话访问路径,从其中确定任意一条会话访问路径的url数量,以及任意两条会话访问路径的最大公共前缀。其中,所述公共前缀可以被看作是一个url的序列,例如任意两条修正的会话访问路径um=[ua,ub,uc]和un=[ua,ub,]的公共前缀有ua和ua,ub,其中ua,ub是最大公共前缀,其url数量的是2。修正的会话访问路径um的url的数量是3,un的url数量是2。
[0051]
步骤240、根据所述最大公共前缀url数量和总url数量,为经修正的会话访问路径确定测试优先级。
[0052]
其中,可以根据最大公共前缀的url数量,设置多个阈值ζ1,ζ2,
···
,ζi(ζi≥2,1≤i≤l),根据所述阈值将全部用户的会话访问路径μ进行分组。
[0053]
具体的,根据前缀url数量阈值,确定至少两个会话路径组和所述会话路径组关联的前缀url数量区间;根据所述最大公共前缀url
[0054]
数量,从所述至少两个会话路径组中确定经修正的会话访问路径所属的目标会话路径组。例如,预设了2个阈值ζ1=3,ζ2=5,将会话访问路径集μ划分为3组s1,s2,s3,其中,最大公共前缀url数量小于等于3的用户会话访问路径可以放入s1,最大公共前缀url数量大于3小于等于5的用户会话访问路径可以放入s2,最大公共前缀url数量大于等于5的用户会话访问路径可以放入s3。
[0055]
具体的,根据所述总url数量,确定经修正的会话访问路径在目标会话路径组中的组内位置。其中,所述总url数量是指任一修正的会话访问路径中的总url数量。示例的,对于划分入目标会话路径组的会话路径,根据url路径长度从大到小排序,得到最终的分组序列。
[0056]
具体的,根据所述目标会话路径组和所述组内位置,为经修正的会话访问路径确定测试优先级。将最终分组排序结果应用到web应用接口报文测试中,根据不同目标会话路径组中会话访问路径的特性,确定测试优先级。
[0057]
例如,s1中最大公共前缀长度最小,其表明各个用户会话访问路径相似程度低,通常包含特别的请求,是主要错误的来源。因此,s1集合中的会话访问路径放入项目接口优先重点进行测试。s3中最大公共前缀长度最大,最大公共前缀长度越大说明用户具有相同或者相似行为,也是大多数用户的使用方法或者习惯,因此将此集合中的url路径放入到每日或者每周接口回归测试中。s2中的url路径用户行为相似性低于s3,将测试用例放入接口测试平台并发执行,模拟实际web应用中多用户多会话的场景。
[0058]
本发明实施例在上述实施例的基础上将为经修正的会话访问路径确定测试优先
级优化为:确定经修正的会话访问路径与其他会话访问路径的最大公共前缀url数量和经修正的会话访问路径中的总url数量;根据所述最大公共前缀url数量和总url数量,为经修正的会话访问路径确定测试优先级。本技术实施例将得到的用户访问会话集,根据用户行为相似程度进行场景分类以及优先级确认,提高了测试工作与用户实际行为的关联度,实现了不同测试场景的应用,测试工作人员可以根据用户实际的访问路径确定测试优先级,满足了测试工作人员的不同测试需求。
[0059]
在一个具体实例中,本发明申请的基于用户行为的测试方法还包括:若第一会话访问路径为第二会话访问路径的子集,则将所述第一会话访问路径删除。具体的,判断一个用户在一个会话中的会话访问路径um是否为别的用户的会话请求访问路径un的前缀,若是,则um的用户会话被删掉,可以通过该方法,获得日志记录最新的全部用户的会话访问路径集μ'代替原会话访问路径集μ。这样设置的好处在于简约用户会话访问路径,避免进行重复的测试。
[0060]
实施例三
[0061]
图3是本发明实施例三提供的基于用户行为的测试装置的结构示意图,所述装置300具体包括:日志分析模块310、路径修正模块320和优先级确定模块330。其中,
[0062]
所述日志分析模块,用于根据web应用的访问日志,确定web应用会话的会话访问路径,以及所述web应用会话中访问请求的用户行为数据;
[0063]
所述路径修正模块,用于根据所述访问请求的用户行为数据,对所述会话访问路径进行修正,得到经修正的会话访问路径;
[0064]
所述优先级确定模块,用于为经修正的会话访问路径确定测试优先级。
[0065]
本发明基于用户行为分析及统计,对用户行为进行路径确认及补充,能够有效地统计用户实际的访问路径,应用到实际的web应用接口报文测试工作中,提高了测试工作与用户实际行为的关联度,测试工作人员可以根据用户实际的访问路径确定测试优先级,满足了测试工作人员的不同测试需求,实现了不同测试场景的应用。
[0066]
所述访问请求的用户行为数据包括如下至少一项:用户标识、访问请求时间、访问请求方式、当前访问资源路径、上一访问资源路径和请求访问状态。
[0067]
所述路径修正模块,具体用于从所述访问请求的用户行为数据中提取所述访问请求的当前访问资源路径和上一访问资源路径;
[0068]
从所述会话访问路径中提取顺序在所述当前访问资源路径之前的前一url;
[0069]
若所述上一访问资源路径和所述前一url不同,则采用所述上一访问资源路径对所述会话访问路径中的url进行拆分。
[0070]
所述路径修正模块,还用于若所述会话访问路径中任一用户行为数据中的请求访问状态为访问异常,则将所述会话访问路径中位于该用户行为数据中当前访问资源路径之后的url从所述会话路径中删除。
[0071]
所述装置还包括路径简约模块,用于若第一会话访问路径为第二会话访问路径的子集,则将所述第一会话访问路径删除。
[0072]
所述优先级确定模块,包括url确定单元和优先级确定单元,其中,
[0073]
所述url确定单元,用于确定经修正的会话访问路径与其他会话访问路径的最大公共前缀url数量和经修正的会话访问路径中的总url数量;
[0074]
所述优先级确定单元,用于根据所述最大公共前缀url数量和总url数量,为经修正的会话访问路径确定测试优先级。
[0075]
所述优先级确定单元,具体用于根据前缀url数量阈值,确定至少两个会话路径组和所述会话路径组关联的前缀url数量区间;
[0076]
根据所述最大公共前缀url数量,从所述至少两个会话路径组中确定经修正的会话访问路径所属的目标会话路径组;
[0077]
根据所述总url数量,确定经修正的会话访问路径在目标会话路径组中的组内位置;
[0078]
根据所述目标会话路径组和所述组内位置,为经修正的会话访问路径确定测试优先级。
[0079]
上述集群的升级装置可用于实现上文任一所述的基于用户行为的测试方法,具备执行所述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的基于用户行为的测试方法。
[0080]
本技术的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
[0081]
实施例四
[0082]
图4是本发明实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备400包括处理器410、存储器420、输入装置430和输出装置440;电子设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;电子设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
[0083]
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的仿冒应用链接的检测算法对应的程序指令/模块(例如,日志分析模块310、路径修正模块320和优先级确定模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的仿冒应用链接的检测方法。
[0084]
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0085]
输入装置430可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
[0086]
实施例五
[0087]
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种仿冒应用链接的检测算法,该算法包括:
[0088]
若原始链接涉及应用下载,则确定待识别链接;
[0089]
根据待识别链接进行处理得到待识别应用,并确定待识别应用的待识别属性信息
和待识别特征信息;
[0090]
根据待识别属性信息,确定待识别链接的相似标准应用;
[0091]
根据待识别特征信息和相似标准应用的标准特征信息,确定所述待识别链接是否属于仿冒应用链接。
[0092]
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的仿冒应用链接的检测算法中的相关操作。
[0093]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0094]
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0095]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1