CN112631945A - 一种测试用例生成方法、装置及存储介质 - Google Patents
一种测试用例生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112631945A CN112631945A CN202011642630.0A CN202011642630A CN112631945A CN 112631945 A CN112631945 A CN 112631945A CN 202011642630 A CN202011642630 A CN 202011642630A CN 112631945 A CN112631945 A CN 112631945A
- Authority
- CN
- China
- Prior art keywords
- user
- user behavior
- behavior
- test case
- sequence
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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)
Abstract
本申请实施例提供了一种测试用例生成方法及装置,其中,一种测试用例生成方法包括:获取用户会话集合,用户会话集合包括至少一个用户会话;根据用户会话集合,生成用户行为序列集合,用户行为序列集合包括至少一个用户行为序列;根据行为树算法对用户行为序列集合进行处理,生成行为树,行为树包括N条路径,一条路径由一个用户行为序列生成,N为正整数;从N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,测试用例用于测试应用程序。本申请实施例可以根据用户行为数据生成符合用户行为的测试用例,加强了测试用例的场景覆盖性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种测试用例生成、装置及存储介质。
背景技术
在前端测试中,需要大量的测试用例来对应用程序进行测试,以检验应用程序的性能并加以优化。当前,测试用例一般由测试人员根据个人经验设计,依赖于测试人员对需求文档的理解能力;或者也会基于生产日志来设计测试用例,但对生产日志的使用也局限于故障部分的修复。因此,最终设计出来的测试用例可能无法完全符合生产真实用户的行为习惯,很难完全覆盖大部分的用户场景,急需一种能够生成符合用户行为且场景覆盖性强的测试用例的方法。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种测试用例生成方法、装置及存储介质。
第一方面,本申请实施例提供了一种测试用例生成方法,可包括:
获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;
根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,所述用户行为序列包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中;
根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由一个所述用户行为序列生成,N为正整数;
从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
通过第一方面的方法,本申请实施例可以首先通过获取第一用户会话集合,再根据所述第一用户会话集合,生成用户行为序列集合,而后,根据行为树算法对所述用户行为序列集合进行处理,生成行为树,最后从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。所述第一用户会话集合可以由来自于多个用户的用户行为数据生成,具备了用户在使用应用程序时的行为习惯信息,因此基于所述第一用户会话集合生成的测试用例能够符合用户的行为习惯,且覆盖的应用场景多,能够对该应用程序进行合理、全面的测试,并且由于不需要测试人员手工设计测试用例,减少了大量的设计工作,提高了测试人员的效率。
在一种可能实现的方式中,所述获取第一用户会话集合包括:
接收用户行为数据集合,所述用户行为数据集合包括至少一条用户行为数据,所述用户行为数据包括用户行为以及所述用户行为的时间;
从所述用户行为数据集合中获得第二用户会话集合,所述第二会话集合包括多个待处理的用户会话;
对所述第二用户会话集合进行去重处理,得到第一用户会话集合,所述第一用户会话集合中的用户会话互不相同。
在一种可能实现的方式中,所述从所述用户行为数据集合中获得第二用户会话集合包括:
针对所述用户行为数据集合中的每一条所述用户行为数据,查找第一用户行为和第二用户行为之间的用户行为;
抽取每一条所述用户行为数据中的部分用户行为,生成所述第二用户会话集合,所述部分用户行为所述第一用户行为和所述第二用户行为之间的用户行为,所述第二用户会话集合包括多个待处理的用户会话,所述待处理的用户会话与所述用户行为数据一一对应。
在一种可能实现的方式中,所述根据所述第一用户会话集合,生成用户行为序列集合包括:
根据所述用户行为的时间,对所述第一用户会话集合中的每一个用户会话的的用户行为进行排序,得到用户行为序列集合。
在一种可能实现的方式中,所述根据行为树算法对所述用户行为序列集合进行处理,生成行为树包括:
从所述用户行为序列集合获取第i个用户行为序列;
从第i个用户行为序列获取第j个用户行为,i和j均为正整数,i不大于所述用户行为序列集合中的用户行为序列的总个数,j不大于第i个用户行为序列中用户行为的总个数;
若当前行为树中存在与所述第j个用户行为相同的节点,将与所述第j个用户行为相同的节点作为第j-1个用户行为的子节点,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
若当前行为树中不存在与所述第j个用户行为相同的节点,将所述第j个用户行为作为第j-1个用户行为的子节点添加至当前行为树中,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
在所述第j个用户行为是所述第i个用户行为序列中的最后一个用户行为时,令i=i+1,重复执行所述从用户行为序列集合获取第i个用户行为序列的步骤,直至所述第i个用户行为序列为所述用户行为序列集合的最后一个用户行为序列。
在一种可能实现的方式中,所述从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例包括:
从所述行为树中查找第一节点和第二节点之间的部分路径,所述第一节点为第三用户行为对应的子节点,所述第二节点为第四用户行为对应的子节点;
抽取所述部分路径,得到所述测试用例。
在一种可能实现的方式中,所述方法还包括:
获取待处理数据,所述待处理数据包括至少2个用户设备采集得到的第一会话集合,所述第一用户会话集合包括的用户会话由一个用户设备采集得到;
针对所述待处理数据中的每一个第一会话集合,执行如权利要求1所述的方法,得到测试用例集合,所述测试用例集合包括所述至少2个用户设备中每一个用户设备对应的测试用例;
统计所述测试用例集合中每一个测试用例的重复率;
将所述重复率最高的所述测试用例作为标准测试用例。
第二方面,本申请实施例提供了一种测试用例生成装置,
获取单元,用于获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;
生成单元,用于根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中
处理单元,用于根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由所一个所述用户行为序列生成,N为正整数;
选择单元,用于从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
第三方面,本申请实施例提供了一种测试用例生成装置,包括存储组件,处理组件和通信组件,存储组件,处理组件和通信组件相互连接,其中,存储组件用于存储计算机程序,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用计算机程序,执行第一方面所述的方法,此处不再赘述
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种测试用例生成***架构示意图;
图2A是本申请实施例提供的一种测试用例生成方法流程的示意图;
图2B是本申请实施例提供的一个行为树的示意图;
图2C是本申请实施例提供的另一个行为树的示意图;
图3是本申请实施例提供的一种测试用例生成装置的结构示意图;
图4是本申请实施例提供的另一种测试用例生成装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请中使用的术语“服务器”、“单元”、“***”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,服务器可以是但不限于,处理器,数据处理平台,计算设备,计算机,两个或更多个计算机等。
首先,对本申请实施例所基于的其中一种测试用例生成***架构进行描述。请参考附图1,图1是本申请实施例提供的一种测试用例生成***架构示意图,包括:测试用例生成装置101和用户设备102。其中:
测试用例生成装置101可以包括但不限于后台服务器、组件服务器、数据处理服务器等,当上述测试用例生成装置101位服务器时,所述服务器可以通过互联网与多个用户设备进行通信,服务器上也需要运行有相应的服务器端程序来提供相应的测试用例生成服务,如数据库服务、数据计算、决策执行等等。例如,服务器可以根据第一用户会话集合,生成用户行为序列集合,其中,用户行为序列集合包括至少一个用户行为序列,用户行为序列包括以时间排序的用户行为,一个用户行为序列中的用户行为来自于同一个用户会话中;根据行为树算法对用户行为序列集合进行处理,生成行为树,其中,该行为树包括N条路径,一条路径由一个用户行为序列生成,每一条路径包括至少一个节点,节点为用户行为序列中的用户行为,N为正整数;从N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,测试用例用于测试应用程序。
用户设备102可以安装并运行相关的应用。应用是指与服务器相对应,为客户提供本地服务的程序。这里,该本地服务可包括但不限于:采集用户行为数据集合,向测试用例生成装置101发送用户行为数据集合,以使测试用例生成装置101根据该用户行为数据集合获得第一用户会话集合。本方案实施例中的用户设备可以包括但不限于任何一种基于智能操作***的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。其中,智能操作***包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作***,诸如:安卓(AndroidTM)、iOSTM、Windows PhoneTM等。
还可以理解的是,图1的测试用例生成***架构只是本申请实施例中的部分示例性的实施方式。
在另一种情况下,***架构也可以是一个测试用例生成装置101,这个测试用例生成装置101可以为本地的一个终端,该终端可以安装并运行相关的应用。应用是指与服务器相对应,为客户提供本地服务的程序。例如,该终端可以采集用户行为数据集合,进行处理以获得用户会话集合,再根据行为树算法,生成行为树,该行为树包括多条路径,最后从多条路径中选择至少一条路径或至少一条路径中的部分作为测试用例。本方案实施例中的终端可以包括但不限于任何一种基于智能操作***的电子产品,其可与用户通过键盘、虚拟键盘、触摸板、触摸屏以及声控设备等输入设备来进行人机交互,诸如智能手机、平板电脑、个人电脑等。其中,智能操作***包括但不限于任何通过向移动设备提供各种移动应用来丰富设备功能的操作***,诸如安卓(AndroidTM)、iOSTM、Windows PhoneTM等。
本申请实施例中的测试用例生成***架构包括但不仅限于以上测试用例生成***架构。
参考附图2A,图2A是本申请实施例提供的一种测试用例生成方法流程的示意图。可应用于上述图1中的***,下面将结合图2A从测试用例生成装置101的单侧进行描述。该方法可以包括以下步骤S201-步骤S204。
步骤S201,获取第一用户会话集合。
具体的,测试用例生成装置101可以先从用户设备102获取用户行为数据集合,再根据该用户行为数据集合获取第二用户会话集合,该第二用户会话集合包括一个用户会话或多个待处理的用户会话,若为多个待处理的用户会话,则需要对多个待处理的用户会话进行去重,得到第一用户会话集合,可以理解的是,第一用户会话集合可以包括一个或多个用户会话,其中,用户会话包括至少一个用户行为以及用户行为的时间,用户行为包括用户访问应用程序的页面以及访问页面的用户操作。
具体的,测试用例生成装置101获取第一用户会话集合可以包括如下部分或全部步骤:
步骤S2011,接收用户行为数据集合。
其中,该用户行为数据包括至少一条用户行为数据,每一条用户行为数据包括用户行为以及用户行为的时间,用户行为包括用户访问应用程序的页面以及访问页面的用户操作,其中,每一条用户行为数据为用户访问该应用程序的一次记录,可以理解的是,若用户在用户设备上多次访问该应用程序,则该用户设备会存在留下多条用户行为数据。需要说明的是,该用户行为数据集合可以由一个或多个用户设备采集的,也可以是由测试用例生成装置101采集的,若该用户行为数据为用户设备采集的,则该用户行为数据还可以包括用户设备的标识。
具体的,测试用例生成装置101可以通过前端埋点和后端埋点获得用户行为数据集合,可选的,还可以将前端埋点采集到的数据和后端埋点采集到的数据分别存入不同的表格,再将两份表格存入数据库。其中,前端埋点是测试用例生成装置101对用户在使用期间的行为数据的采集,行为数据可以包括用户在操作应用时的动作以及进行操作时的相关数据,例如,点击按钮、页面滑动以及上下翻页等用户操作、以及该用户操作的时间、用户设备的标识、页面名称、页面元素以及页面链接等,后端埋点是测试用例生成装置101对服务端进行埋点,采集得到的是后台实时交互数据,例如,业务接口的名称、请求报文和相应报文等。
优选的,测试用例生成装置101可以对获取的用户行为数据集合进行数据清洗。具体的,测试用例生成装置101可以根据已设定好的过滤规则剔除具有噪声的数据,如错误数据、不需要的数据维度的数据等,也可以对缺失值和重复值进行处理。可以理解的是,对用户行为数据进行数据清洗,可以压缩用户行为数据的大小,也在一定程度上减少了噪声数据对后续用户行为数据处理带来的影响。
步骤S2012,从用户行为数据集合中获得第二用户会话集合。
具体的,测试用例生成装置101可以针对用户行为数据集合中的每一条用户行为数据,通过用户会话公式生成待处理的用户会话,所有待处理的用户会话的集合即为第二用户会话集合。其中,测试用例生成装置101可以对用户行为数据集合中的每一条用户行为数据进行处理,也可以先从该用户行为数据集合中选取部分的用户行为数据进行处理,还可以先选取用户行为数据的部分数据,再对该部分数据进行处理,以生成第二用户会话集合。
在一种可能实现的方式中,测试用例生成装置101接收多个用户设备发送的用户行为数据集合,其中,该用户行为数据集合中的用户行为数据还可以包括用户设备的标识,可以通过第一用户会话公式对该用户行为数据集合进行处理,生成带有用户设备的标识的用户会话,以使后续可根据该用户设备的标识选取特定的用户设备的用户会话以生成行为树,例如选取特定机型的用户设备以生成符合该机型的测试用例,或者选取每一个用户设备的用户会话以生成多个行为树而获得多个测试用例等。
其中,第一用户会话公式可以如下所示:
action=<actionID,{(P1a1,t1),...,(Pkak,tk),...,(Pnan,tn)}>
其中,action表示一个用户会话,actionID表示用户设备的标识,Pkak表示任一个用户行为,Pk表示用户的访问应用程序的页面,ak表示访问该页面的用户操作,例如,翻页进入、点击进入等,tk表示用户行为Pkak的时间,n为用户行为的个数,1<k<n,其中,Pkak为被访问页面的唯一标识,(P1a1,t1)表示用户在t1时刻对此次会话的第一个页面发出访问请求,则(Pnan,tn)表示用户在tn时刻对该会话的最后一个页面发出的访问请求。
在一种可能实现的方式中,测试用例生成装置101可以针对应用程序的某一功能获取针对该功能的用户会话集合以生成针对该功能的测试用例,可以理解的是,对于相同功能的不同数据进行聚类,能够进一步缩小原始数据体积,其中,该功能可以为股票代码搜索等,例如,将所有搜索股票代码的用户会话聚类成一个用户会话集合。
具体的,测试用例生成装置101可以获取来自于多个用户设备的用户行为数据集合,针对用户行为数据集合中的每一条用户行为数据,查找第一用户行为和第二用户行为之间的用户行为,例如,第一用户行为可以为访问股票搜索页面,第二用户行为可以为退出股票搜索页面,之后,再抽取每一条用户行为数据中的部分用户行为,该部分用户行为为第一用户行为和第二用户行为之间的用户行为,通过第二用户行为公式对每一条部分用户行为进行处理,生成待处理的用户会话,所有的待处理的用户会话的集合即为第二用户会话集合,可以理解的是,该第二用户会话集合包括多个待处理的用户会话,待处理用户会话与用户行为数据一一对应。
其中,第二用户行为公式可以如下所示:
action={(P1a1,t1),...,(Pkak,tk),...,(Pnan,tn))
其中,action、Pkak、、Pk、ak、tk以及n、k的含义与第一用户会话公式一致,此处不再赘述。
步骤S2013,对第二用户会话集合进行去重处理,得到第一用户会话集合,第一用户会话集合中的用户会话互不相同。
其中,第二用户会话集合包括一个或多个待处理的用户会话,若第二用户会话集合包括多个待处理的用户会话,则测试用例生成装置101可以对第二用户会话集合中的每一个用户会话进行检测,若出现多个相同的用户行为,则判定该用户行为为重复用户行为,只保留一个该用户行为,得到第一用户会话集合,第一用户会话集合中的用户会话互不相同。
步骤S202,根据第一用户会话集合,生成用户行为序列集合。
具体的,测试用例生成装置101可以针对第一用户会话集合中的每一个用户会话进行处理,具体的,可以根据用户行为的时间,对每一个用户会话中的用户行为进行排序,得到该用户会话对应的用户行为序列,所有的用户会话对应的用户行为序列的集合,即为该用户行为序列集合。其中,该用户行为序列集合包括至少一个用户行为序列,可以理解的是,第一会话集合中的每一个用户会话对应该用户行为序列集合中的用户行为序列集合。
步骤S203,根据行为树算法对用户行为序列集合进行处理,生成行为树,该行为树包括N条路径,N为正整数。
测试用例生成装置101对该用户行为序列集合中的每一个用户行为序列进行遍历,生成行为树,其中,行为树包括一条或多条路径,每一条路径包括至少一个节点,节点为用户行为序列中的用户行为,其中,一条路径由一个用户行为序列生成。具体的,请参考附图2B和附图2C,图2B是本申请实施例提供的一个行为树的示意图,图2C是本申请实施例提供的另一个行为树的示意图,附图2B和附图2C为首个用户行为不同的两个行为树,可以理解的是,在实际应用中,首个用户行为相对固定有限,通常多为股票登录、首页登录等,所以行为树个数有限。
具体的,测试用例生成装置101根据行为树算法对用户行为序列集合进行处理的过程可以包括:
测试用例生成装置101可以先从该用户行为序列中确定一个用户行为序列作为执行对象,例如,可以按照排列顺序,从第一个用户行为序列开始,即令i=1,从用户行为序列集合获取第i个用户行为序列,具体的,再按照该用户行为序列中用户行为的顺序,确定第一个用户行为为执行对象,即令j=1,从第i个用户行为序列获取第j个用户行为,其中,i和j均为正整数,i不大于用户行为序列集合中的用户行为序列的总个数,j不大于第i个用户行为序列中用户行为的总个数;
测试用例生成装置101在确定第i个用户行为序列的第j个用户行为为执行对象后,在当前行为树中查找是否存在与第j个用户行为相同的节点;
若当前行为树中存在与第j个用户行为相同的节点,则测试用例生成装置101不需要在当前行为树上新添一个子节点,可以将与第j个用户行为相同的节点作为第j-1个用户行为的子节点,具体的,可以在该子节点上增加访问次数加一的记录,然后将该用户行为序列的下一个用户行为确定为执行对象,即令j=j+1,重复执行从第i个用户行为序列获取第j个用户行为;
若当前行为树中不存在与第j个用户行为相同的节点,则测试用例生成装置101将第j个用户行为作为第j-1个用户行为的子节点添加至当前行为树中,并将该用户行为序列的下一个用户行为确定为执行对象,即令j=j+1,重复执行从第i个用户行为序列获取第j个用户行为;
若第j个用户行为是第i个用户行为序列中的最后一个用户行为,即测试用例生成装置101完成对第i个用户行为序列的处理,则令i=i+1,重复执行从用户行为序列集合获取第i个用户行为序列的步骤,也即是,对下一个用户行为序列进行遍历,直至所有的用户行为序列遍历结束。
步骤S204,从N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,该测试用例用于测试应用程序。
具体的,测试用例生成装置101可以根据不同的测试场景,从该生成的行为树中选取一条路径或至少一条路径中的部分作为测试用例。例如,若测试人员要对应用程序进行回归测试整体功能时,则测试用例生成装置101可以选取行为树中用户行为个数最多的路径作为测试用例,若测试人员要针对应用程序的某一功能或者某一块具体业务进行测试,则测试用例生成装置101可以先确定该功能的首尾两个用户行为,例如,首尾两个用户行为分别为第三用户行为和第四用户行为,测试用例生成装置101可以在行为树中查找第三用户行为和第四用户行为分别对应的用户行为,若第一节点为第三用户行为对应的子节点,第二节点为第四用户行为对应的子节点,则在行为树中查找第一节点和第二节点的部分路径,抽取该部分路径,得到测试用例。
可选的,测试用例生成装置101还可以根据每一个用户设备的数据生成一个行为树,从而得到多个测试用例,并且在多个测试用例的情况下选取最符合用户行为习惯的测试用例。具体的,测试用例生成装置101先获取待处理数据,其中国,待处理数据包括至少2个用户设备采集得到的第一会话集合,该第一用户会话集合包括的用户会话由一个用户设备采集得到,再针对待处理数据中的每一个第一会话集合,执行如权利要求1的方法,获得每一个第一会话集合对应的测试用例,所有测试用例的集合也即是测试用例集合最后统计测试用例集合中每一个测试用例的重复率,将重复率最高的测试用例作为标准测试用例。
本申请实施例可以首先通过获取第一用户会话集合,再根据所述第一用户会话集合,生成用户行为序列集合,而后,根据行为树算法对所述用户行为序列集合进行处理,生成行为树,最后从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。所述第一用户会话集合可以由来自于多个用户的用户行为数据生成,具备了用户在使用应用程序时的行为习惯信息,因此基于所述第一用户会话集合生成的测试用例能够符合用户的行为习惯,且覆盖的应用场景多,能够对该应用程序进行合理、全面的测试,并且由于不需要测试人员手工设计测试用例,减少了大量的设计工作,提高了测试人员的效率。
上述详细阐述了本申请实施例的方法,下面提供了与本申请实施例的相关测试用例生成装置。请参考附图3,图3是本申请实施例提供的一种测试用例生成装置的结构示意图。测试用例生成装置10可以包括获取单元301,生成单元302,处理单元303和选择单元304。
获取单元301,用于获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;
生成单元302,用于根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中
处理单元303,用于根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由所一个所述用户行为序列生成,N为正整数;
选择单元304,用于从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
在一种可能实现的方式中,所述获取单元301,具体用于:
接收用户行为数据集合,所述用户行为数据集合包括至少一条用户行为数据,所述用户行为数据包括用户行为以及所述用户行为的时间;
从所述用户行为数据集合中获得第二用户会话集合,所述第二会话集合包括多个待处理的用户会话;
对所述第二用户会话集合进行去重处理,得到第一用户会话集合,所述第一用户会话集合中的用户会话互不相同。
在一种可能实现的方式中,所述获取单元301,具体用于:
针对所述用户行为数据集合中的每一条所述用户行为数据,查找第一用户行为和第二用户行为之间的用户行为;
抽取每一条所述用户行为数据中的部分用户行为,生成所述第二用户会话集合,所述部分用户行为所述第一用户行为和所述第二用户行为之间的用户行为,所述第二用户会话集合包括多个待处理的用户会话,所述待处理的用户会话与所述用户行为数据一一对应。
在一种可能实现的方式中,所述生成单元302,具体用于:
根据所述用户行为的时间,对所述第一用户会话集合中的每一个用户会话的的用户行为进行排序,得到用户行为序列集合。
在一种可能实现的方式中,所述处理单元303,具体用于:
从所述用户行为序列集合获取第i个用户行为序列;
从第i个用户行为序列获取第j个用户行为,i和j均为正整数,i不大于所述用户行为序列集合中的用户行为序列的总个数,j不大于第i个用户行为序列中用户行为的总个数;
若当前行为树中存在与所述第j个用户行为相同的节点,将与所述第j个用户行为相同的节点作为第j-1个用户行为的子节点,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
若当前行为树中不存在与所述第j个用户行为相同的节点,将所述第j个用户行为作为第j-1个用户行为的子节点添加至当前行为树中,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
在所述第j个用户行为是所述第i个用户行为序列中的最后一个用户行为时,令i=i+1,重复执行所述从用户行为序列集合获取第i个用户行为序列的步骤,直至所述第i个用户行为序列为所述用户行为序列集合的最后一个用户行为序列。
在一种可能实现的方式中,所述选择单元304,具体用于:
从所述行为树中查找第一节点和第二节点之间的部分路径,所述第一节点为第三用户行为对应的子节点,所述第二节点为第四用户行为对应的子节点;
抽取所述部分路径,得到所述测试用例。
在一种可能实现的方式中,所述获取单元301,还用于,获取待处理数据,所述待处理数据包括至少2个用户设备采集得到的第一会话集合,所述第一用户会话集合包括的用户会话由一个用户设备采集得到;
所述生成单元302,所述处理单元303和所述选择单元304还用于,针对所述待处理数据中的每一个第一会话集合,执行如权利要求1所述的方法,得到测试用例集合,所述测试用例集合包括所述至少2个用户设备中每一个用户设备对应的测试用例;
所述选择单元304还用于,统计所述测试用例集合中每一个测试用例的重复率;
所述选择单元304还用于,将所述重复率最高的所述测试用例作为标准测试用例。
需要说明的是,各个操作的实现还可以对应参照图2A、图2B和图2C所示的方法实施例的相应描述,此处不再赘述。
如图4所示,图4是本申请实施例提供的另一种测试用例生成装置的结构示意图,该装置20包括至少一个处理器401,至少一个存储器402、至少一个通信接口403。此外,该设备还可以包括天线等通用部件,在此不再详述。
处理器401可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口403,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),核心网,无线局域网(Wireless Local Area Networks,WLAN)等。
存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器402用于存储执行以上方案的应用程序代码,并由处理器401来控制执行。所述处理器401用于执行所述存储器402中存储的应用程序代码。
存储器402存储的代码可执行以上图2A提供的测试用例生成方法,比如,当装置20为测试用例生成装置时,可以获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,所述用户行为序列包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中;根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由一个所述用户行为序列生成,N为正整数;从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
需要说明的是,本申请实施例中所描述的测试用例生成装置中各功能单元的功能可参照图2A所示的方法实施例的相应描述,此处不再赘述。
在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能组件可以集成在一个组件也可以是各个组件单独物理存在,也可以是两个或两个以上组件集成在一个组件中。上述集成的组件既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的组件如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。尽管在此结合各实施例对本申请进行了描述,然而,在实施例所要求保护的本申请过程中,本领域技术人员可理解并实现公开实施例的其他变化。
Claims (10)
1.一种测试用例生成方法,其特征在于,包括:
获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;
根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,所述用户行为序列包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中;
根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由一个所述用户行为序列生成,N为正整数;
从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
2.根据权利要求1所述方法,其特征在于,所述获取第一用户会话集合包括:
接收用户行为数据集合,所述用户行为数据集合包括至少一条用户行为数据,所述用户行为数据包括用户行为以及所述用户行为的时间;
从所述用户行为数据集合中获得第二用户会话集合,所述第二会话集合包括多个待处理的用户会话;
对所述第二用户会话集合进行去重处理,得到第一用户会话集合,所述第一用户会话集合中的用户会话互不相同。
3.根据权利要求2所述方法,其特征在于,所述从所述用户行为数据集合中获得第二用户会话集合包括:
针对所述用户行为数据集合中的每一条所述用户行为数据,查找第一用户行为和第二用户行为之间的用户行为;
抽取每一条所述用户行为数据中的部分用户行为,生成所述第二用户会话集合,所述部分用户行为所述第一用户行为和所述第二用户行为之间的用户行为,所述第二用户会话集合包括多个待处理的用户会话,所述待处理的用户会话与所述用户行为数据一一对应。
4.根据权利要求1所述方法,其特征在于,所述根据所述第一用户会话集合,生成用户行为序列集合包括:
根据所述用户行为的时间,对所述第一用户会话集合中的每一个用户会话的的用户行为进行排序,得到用户行为序列集合。
5.根据权利要求1所述方法,其特征在于,所述根据行为树算法对所述用户行为序列集合进行处理,生成行为树包括:
从所述用户行为序列集合获取第i个用户行为序列;
从第i个用户行为序列获取第j个用户行为,i和j均为正整数,i不大于所述用户行为序列集合中的用户行为序列的总个数,j不大于第i个用户行为序列中用户行为的总个数;
若当前行为树中存在与所述第j个用户行为相同的节点,将与所述第j个用户行为相同的节点作为第j-1个用户行为的子节点,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
若当前行为树中不存在与所述第j个用户行为相同的节点,将所述第j个用户行为作为第j-1个用户行为的子节点添加至当前行为树中,并令j=j+1,重复执行所述从第i个用户行为序列获取第j个用户行为;
在所述第j个用户行为是所述第i个用户行为序列中的最后一个用户行为时,令i=i+1,重复执行所述从用户行为序列集合获取第i个用户行为序列的步骤,直至所述第i个用户行为序列为所述用户行为序列集合的最后一个用户行为序列。
6.根据权利要求1所述方法,其特征在于,所述从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例包括:
从所述行为树中查找第一节点和第二节点之间的部分路径,所述第一节点为第三用户行为对应的子节点,所述第二节点为第四用户行为对应的子节点;
抽取所述部分路径,得到所述测试用例。
7.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取待处理数据,所述待处理数据包括至少2个用户设备采集得到的第一会话集合,所述第一用户会话集合包括的用户会话由一个用户设备采集得到;
针对所述待处理数据中的每一个第一会话集合,执行如权利要求1所述的方法,得到测试用例集合,所述测试用例集合包括所述至少2个用户设备中每一个用户设备对应的测试用例;
统计所述测试用例集合中每一个测试用例的重复率;
将所述重复率最高的所述测试用例作为标准测试用例。
8.一种测试用例生成装置,其特征在于,包括:
获取单元,用于获取第一用户会话集合,所述第一用户会话集合包括至少一个用户会话,所述用户会话包括至少一个用户行为以及所述用户行为的时间,所述用户行为包括用户访问应用程序的页面以及访问所述页面的用户操作;
生成单元,用于根据所述第一用户会话集合,生成用户行为序列集合,所述用户行为序列集合包括至少一个用户行为序列,包括以时间排序的用户行为,一个所述用户行为序列中的用户行为来自于同一个用户会话中
处理单元,用于根据行为树算法对所述用户行为序列集合进行处理,生成行为树,所述行为树包括N条路径,所述路径包括至少一个节点,所述节点为所述用户行为序列中的用户行为,一条所述路径由所一个所述用户行为序列生成,N为正整数;
选择单元,用于从所述N条路径中选择至少一条路径或至少一条路径中的部分作为测试用例,所述测试用例用于测试所述应用程序。
9.一种测试用例生成装置,其特征在于,包括处理组件、存储组件和通信模组件,处理组件、存储组件和通信组件相互连接,其中,存储组件用于存储计算机程序,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用计算机程序,执行如权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642630.0A CN112631945A (zh) | 2020-12-30 | 2020-12-30 | 一种测试用例生成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011642630.0A CN112631945A (zh) | 2020-12-30 | 2020-12-30 | 一种测试用例生成方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631945A true CN112631945A (zh) | 2021-04-09 |
Family
ID=75290529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011642630.0A Pending CN112631945A (zh) | 2020-12-30 | 2020-12-30 | 一种测试用例生成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631945A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568833A (zh) * | 2021-07-28 | 2021-10-29 | 深圳Tcl新技术有限公司 | 测试用例确定方法、装置、计算机设备及可读存储介质 |
CN113672518A (zh) * | 2021-09-07 | 2021-11-19 | 京东科技控股股份有限公司 | 一种测试用例构建方法及相关设备 |
-
2020
- 2020-12-30 CN CN202011642630.0A patent/CN112631945A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568833A (zh) * | 2021-07-28 | 2021-10-29 | 深圳Tcl新技术有限公司 | 测试用例确定方法、装置、计算机设备及可读存储介质 |
CN113672518A (zh) * | 2021-09-07 | 2021-11-19 | 京东科技控股股份有限公司 | 一种测试用例构建方法及相关设备 |
CN113672518B (zh) * | 2021-09-07 | 2024-06-18 | 京东科技控股股份有限公司 | 一种测试用例构建方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609186B (zh) | 信息处理方法及装置、终端设备及计算机可读存储介质 | |
JP6438135B2 (ja) | ソーシャルプラットフォームに基づくデータマイニング方法及び装置 | |
CN107230475B (zh) | 一种语音关键词识别方法、装置、终端及服务器 | |
CN107797984B (zh) | 智能交互方法、设备及存储介质 | |
CN111145737B (zh) | 语音测试方法、装置和电子设备 | |
CN106469376B (zh) | 一种风险控制方法和设备 | |
CN108334758B (zh) | 一种用户越权行为的检测方法、装置及设备 | |
CN111260220B (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN105005593A (zh) | 多用户共用设备的场景识别方法和装置 | |
CN112631945A (zh) | 一种测试用例生成方法、装置及存储介质 | |
CN106469555B (zh) | 一种语音识别方法及终端 | |
CN108038398B (zh) | 一种二维码解析能力测试方法、装置及电子设备 | |
CN107885716B (zh) | 文本识别方法及装置 | |
CN109859747B (zh) | 语音交互方法、设备以及存储介质 | |
CN110209809B (zh) | 文本聚类方法和装置、存储介质及电子装置 | |
CN105512156B (zh) | 点击模型生成方法和装置 | |
CN113505272B (zh) | 基于行为习惯的控制方法和装置、电子设备和存储介质 | |
CN110222790B (zh) | 用户身份识别方法、装置及服务器 | |
CN115830649A (zh) | 一种网络资产指纹特征的识别方法、装置及电子设备 | |
CN110598109A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN110415044A (zh) | 作弊检测方法、装置、设备及存储介质 | |
CN110460617A (zh) | 机考考试***及相关产品 | |
CN115470318A (zh) | 客服问题处理方法及装置 | |
CN110209780B (zh) | 一种问题模板生成方法、装置、服务器及存储介质 | |
CN110688319A (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 |