CN113535594A - 业务场景测试用例的生成方法、装置、设备和存储介质 - Google Patents

业务场景测试用例的生成方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113535594A
CN113535594A CN202111089934.3A CN202111089934A CN113535594A CN 113535594 A CN113535594 A CN 113535594A CN 202111089934 A CN202111089934 A CN 202111089934A CN 113535594 A CN113535594 A CN 113535594A
Authority
CN
China
Prior art keywords
user behavior
path
test case
case data
tested
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.)
Granted
Application number
CN202111089934.3A
Other languages
English (en)
Other versions
CN113535594B (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.)
Guangzhou Yurui Information Technology Co ltd
Original Assignee
Guangzhou Yurui Information Technology Co ltd
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 Guangzhou Yurui Information Technology Co ltd filed Critical Guangzhou Yurui Information Technology Co ltd
Priority to CN202111089934.3A priority Critical patent/CN113535594B/zh
Publication of CN113535594A publication Critical patent/CN113535594A/zh
Application granted granted Critical
Publication of CN113535594B publication Critical patent/CN113535594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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)

Abstract

本申请提供了一种业务场景测试用例的生成方法、装置、设备和存储介质,方法包括获取与业务场景相关的用户行为路径和测试用例数据;用户行为路径和测试用例数据都标记有用户行为标签;然后采用扩展有限状态机模型对用户行为路径进行扩展,从而得到多个待测试路径;之后将具有相同的用户行为标签的测试用例数据和待测试路径进行组合,就可以形成多个测试用例。其中,具有相同的用户行为标签测试用例数据和待测试路径说明之间相关联。该方法通过对用户行为路径和测试用例数据进行分析生成待测试路径,将相关联的待测试路径和测试用例数据进行组合,就能得到多个测试用例。该方法能快速、智能化地形成多个测试用例,且能提高测试用例的精准性。

Description

业务场景测试用例的生成方法、装置、设备和存储介质
技术领域
本申请涉及软件测试技术领域,具体涉及一种业务场景测试用例的生成方法、装置、设备和存储介质。
背景技术
随着互联网技术的不断发展,软件开发越来越多,在快速迭代的节奏下,如何开展高效、有价值的测试,确保业务功能正常是测试的一大挑战。另外,软件规模与复杂度迅速增长,自动化测试的应用也越来越广泛。自动化测试是一种机器执行的测试行为,然而在自动化测试的过程中通常需要使用到大量的测试用例,并且不同的业务场景往往需要不同的测试用例。因此,对于测试用例的生成就显得尤为重要。
目前,更多是依赖人力根据迭代版本需求编写测试用例,这样不仅增加测试成本,而且测试效率低,对业务场景的覆盖度不够高。
发明内容
有鉴于此,本申请实施例中提供了一种业务场景测试用例的生成方法、装置、设备和存储介质。
第一方面,本申请实施例提供了一种业务场景测试用例的生成方法,该方法包括:
获取与业务场景相关的用户行为路径和测试用例数据;其中,所述用户行为路径和所述测试用例数据分别标记有用户行为标签,且所述测试用例数据为多个;
基于扩展有限状态机模型将所述用户行为路径进行扩展,以生成多个待测试路径;
将具有相同的所述用户行为标签的测试用例数据和所述待测试路径进行组合,以形成多个测试用例。
第二方面,本申请实施例提供了一种业务场景测试用例的生成装置,该装置包括:
信息获取模块,用于获取与业务场景相关的用户行为路径和测试用例数据;其中,所述用户行为路径和所述测试用例数据分别标记有用户行为标签,且所述测试用例数据为多个;
待测试路径生成模块,基于扩展有限状态机模型将所述用户行为路径进行扩展,以生成多个待测试路径;
测试用例形成模块,用于将具有相同的所述用户行为标签的测试用例数据和所述待测试路径进行组合,以形成多个测试用例。
第三方面,本申请实施例提供了一种终端设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的业务场景测试用例的生成方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的业务场景测试用例的生成方法。
本申请实施例提供的业务场景测试用例的生成方法、装置、设备和存储介质,首先,获取与业务场景相关的用户行为路径和测试用例数据;其中,用户行为路径能反映不同业务场景下软件运行时产生的主要事件(即能在一定程度上表示不同业务场景下软件的功能),测试用例数据是不同业务场景下软件运行时产生的主要事件所需要的相关数据。用户行为路径和测试用例数据都标记有用户行为标签;然后采用扩展有限状态机模型对用户行为路径进行扩展,从而得到多个待测试路径;之后将具有相同的用户行为标签的测试用例数据和待测试路径进行组合,就可以形成多个测试用例。其中,具有相同的用户行为标签测试用例数据和待测试路径说明之间相关联。
该方法通过对用户行为路径和测试用例数据进行分析生成待测试路径,将相关联的待测试路径和测试用例数据进行组合,就能得到多个测试用例。该方法能快速、智能化地形成多个测试用例,且能提高测试用例的精准性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的业务场景测试用例的生成方法的应用场景示意图;
图2为本申请一个实施例提供的业务场景测试用例的生成方法的流程示意图;
图3为本申请一个实施例提供的用户行为路径生成方法的流程示意图;
图4为本申请一个实施例提供的测试用例数据生成方法的流程示意图;
图5为本申请一个实施例提供的待测试路径生成过程的结构示意图;
图6为本申请一个实施例提供的业务场景测试用例的生成装置的结构图;
图7为本申请一个实施例中提供的终端设备的结构示意图;
图8为本申请一个实施例中提供的计算机可读存储介质的结构示意图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更详细说明本申请,下面结合附图对本申请提供的一种业务场景测试用例的生成方法、装置、终端设备和计算机存储介质,进行具体地描述。
请参考图1,图1示出了本申请实施例提供的业务场景测试用例的生成方法的应用场景的示意图,该应用场景包括本申请实施例提供的终端设备100,终端设备100可以是具有显示屏的各种电子设备(如102、104、106和108的结构图),包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。用户对终端设备100进行操作,发出业务场景测试用例的生成操作指示,终端设备100执行本申请的业务场景测试用例的生成方法,具体过程请参照业务场景测试用例的生成方法实施例。
其次,终端设备100可以泛指多个终端设备中的一个,本实施例仅以终端设备100来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为几个,或者上述终端设备为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和类型不加以限定。终端设备100可以用来执行本申请实施例中提供的一种业务场景测试用例的生成方法。
在一种可选的实施方式中,该应用场景包括本申请实施例提供的终端设备100之外,还可以包括服务器,其中服务器与终端设备之间设置有网络。网络用于在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器可以是多个服务器组成的服务器集群等。其中,终端设备通过网络与服务器交互,以接收或发送消息等。服务器可以是提供各种服务的服务器。其中服务器可以用来执行本申请实施例中提供的一种业务场景测试用例的生成方法的步骤。此外,终端设备在执行本申请实施例中提供的一种业务场景测试用例的生成方法时,可以将一部分步骤在终端设备执行,一部分步骤在服务器执行,在这里不进行限定。
基于此,本申请实施例中提供了一种业务场景测试用例的生成方法。请参阅图2,图2示出了本申请实施例提供的一种业务场景测试用例的生成方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
步骤S110,获取与业务场景相关的用户行为路径和测试用例数据。
其中,用户行为路径和测试用例数据分别标记有用户行为标签,且测试用例数据为多个。
业务场景通常是在企业和商家需要在用户某个特定的环节中,适时提供给消费者可能需要的以及关联的产品或服务。其中,不同的业务场景通常能反映不同软件的功能。
用户行为路径是指对用户在访问某软件中时产生的行为事件进行分析得到的,能反映用户在访问过程中某软件各模块的流转规律与特点,从而挖掘出用户访问模式。例如:用户在访问某一电商平台,形成的访问路径为:登录—查询—选择产品—购买—支付。
可选地,用户行为路径可以是通过对用户行为日志数据(埋点数据)进行分析得到的。
测试用例数据是不同业务场景下软件运行时产生的主要事件所需要的相关数据,包括但不限于软件运行的一些参数等。通常情况下,测试用例数据对接口过程日志进行分析得到的。测试用例数据可以为多个,一个用户行为路径可以使用一个或多个测试用例数据。另外,每一个测试用例数据中可以包括多个参数,例如测试用例数据A,可以包括参数b,c,d等。
用户行为标签是一种标记信息,用于对用户行为路径和测试用例数据进行标记,一方面用来区别不同的用户行为路径和测试用例数据,另一方面用来建立用户行为路径和测试用例数据之间的相关性或联系性,即具有相同的用户行为标签测试用例数据和待测试路径之间相关联。
进一步地,给出了一种获取与业务场景相关的用户行为路径的具体实施方式,描述如下:
在一个实施例中,请参照图3,在执行步骤S110,获取与业务场景相关的用户行为路径,包括:
步骤S112,获取用户行为日志数据。
其中,用户行为日志数据是一种埋点数据,通常是通过日志采集器或收集器采集或收集得到的。不同的业务场景通常具有不同的用户行为日志数据,用户或技术人员可以根据其需求进行采集或收集。在采集或收集的过程中,技术人员可以根据业务场景设置参数,然后启动日志收集器,根据业务需求输入参数,由日志收集器识别参数确定需要收集日志的业务场景并进行生产日志的收集。
步骤S114,根据用户行为日志数据拆分事件集。
具体地,按操作时间顺序将用户行为日志数据进行拆分获得获取用户有序的事件集 。例如可以按指定间隔时间来拆分事件集,如5分钟,每个5分钟拆分形成一个事件,多个事件一起构成事件集。另外,一般情况下超过间隔事件(例如5分钟)用户没有操作行为可认为该业务操作行为已结束。
在一种可选实施例方式中,在根据用户行为日志数据拆分事件集之前,还包括:对用户行为日志数据进行分析和预处理,其中具体过程为:(1)检查用户行为日志数据是否为设定的格式数据(json格式数据),过滤掉非设定的格式数据,例如过滤掉json格式的日志数据。(2)校验用户行为日志数据中时间戳(timestamp)、user_id(用户ID)、device_id(设备ID)、event(事件)是否为空,如果为空,该条用户行为日志数据会被过滤掉。(3)以user_id或device_id,timestamp作唯一约束,检查是否存在重复记录,如果存在的话,将重复的用户行为日志数据过滤掉。采用该方式可以过滤掉无效的用户行为日志数据,使得后续生成的用户行为路径更加准确。
步骤S116,对事件集进行分析,以得到用户行为路径。
在得到事件集后,对事件集进行分析即可得到用户行为路径。
步骤S110,当用户行为路径未标记用户行为标签时,对用户行为路径标记用户行为标签。
另外,在步骤S110,当用户行为路径未标记用户行为标签时,对用户行为路径标记用户行为标签之前,还可以包括步骤S118,判断用户行为路径是否有用户行为标签。
在得到用户行为路径后,判断用户行为路径是否含有(即是否标记)用户行为标签,如果未含有用户行为标签,则需要对用户行为路径标记用户行为标签。
在一个实施例中,在执行步骤S110,对用户行为路径标记用户行为标签,包括:采用K-近邻算法对用户行为路径标记用户行为标签。
其中,K-近邻算法(k-Nearest Neighbors,KNN)是有监督学习的经典算法,其原理为:给定测试样本,基于某种距离度量找出训练集中与其最近的k个样本,然后基于这:K个样本(邻居)的label信息来进行预测。在分类任务中,通常采用“投票法”,少数服从多数原则,即选择这K个样本中出现最多的类别作为预测结果。在本实施例中,K-近邻算法可以选择欧式距离作为参数K距离。
其次,在使用K-近邻算法对用户行为路径标记用户行为标签之前,需要对其进行预先训练,训练过程为以太平洋汽车报价为例,先从用户行为路径管理模块中获取部分用户行为路径作为样本训练集,获取的用户行为路径采用用户行为标签进行标记,例如:询底价、查看车型参配、车系对比等,参数K取出现埋点事件ID的次数;然后对标记后的用户行为路径对K-近邻算法进行训练,从而得到训练的K-近邻算法。采用上述的算法可以方便、准确地确定为用户行为路径标记用户行为标签。
另外,在一种可选的实施方式中,在对用户行为路径标记用户行为标签之后,还可以将标记后的用户行为路径保存到用户行为路径管理模块。采用上述用户行为路径管理模块可以方便地对用户行为路径进行管理存储。
进一步地,提供了一种获取与业务场景相关的测试用例数据的度实施方式,下面对该实施方式进行详细描述。
在一个实施例中,请参照图4,在执行步骤S110,获取与业务场景相关的测试用例数据,包括:
步骤S1112,获取接口请求日志。
其中,接口请求日志是指API请求log日志。API(应用程序编程接口)请求提供应用中每个API的调用情况,包括调用成功率、返回信息、调用成功或失败的平均耗时等。
步骤S1114,对接口请求日志进行分析,以提取接口标识和接口参数值。
具体地,接口请求日志通常包括但不限于有接口标识(例如接口URI)、接口参数值(又称为接口传参)。
其中,URI(Uniform Resource Identifier,URI),统一资源标识符,是一个用于标识某一互联网资源名称的字符串。在本实施例中,URI用于对接口进行标识,该接口标识通常包括有标签关键词,该标签关键词的作用通常与用户行为标签相同,因此标签关键词可以直接转化成用户行为标签。
在一个实施例中,根据接口标识的标签关键词生成用户行为标签,包括:当接口标识缺少标签关键词时,采用预先训练的决策树 CART分类算法生成接口标识的标签关键词。
具体而言,是接口请求日志中的接口标识通常有多个字段,并不仅仅包括标签关键词字段。当接口标识中标签关键词的字段为空时,可以采用预先训练的决策树 CART分类算法生成标签关键词(即对接口标识标记用户行为标签)。
CART(Classification And Regression Tree)算法既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree),是一种应用广泛的决策树学习算法。接口URI标记用户行为标签是基于CART算法来实现,先取部分接口URI标识标记用户行为标签作为训练样本集,梳理用户行为标签对应的英文关键词,例如“留资行为”中对应接口URI存在的英文单词有“order”,“clue”等,统计接口URI中,出现这些英文关键词的次数作为特征值,对CART算法模型做训练。在训练结束后,生成预先训练的决策树CART分类算法。采用上述方法在接口URI中缺少标签关键词时,采用决策树 CART分类算法生成其标签关键词,使得生成的用户行为标签更加精确,从而使得测试用例数据的用户行为标签非常精确。
步骤S1116,根据接口标识的标签关键词生成用户行为标签,并根据接口参数值生成测试用例数据。
步骤S1118,采用用户行为标签对测试用例数据进行标记。
此外,在采用用户行为标签对测试用例数据进行标记后,可以将标记后的测试用例数据保存至业务用例数据管理模块。采用上述用例数据管理模块可以方便地对测试用例数据进行管理存储。
步骤S120,基于扩展有限状态机模型将用户行为路径进行扩展,以生成多个待测试路径。
具体地,可以采用基于扩展有限状态机模型来对用户行为路径进扩展,从而生成多个待测试路径。
在一个实施例中,在执行步骤S120,基于扩展有限状态机模型将用户行为路径进行扩展,以生成多个待测试路径,包括:对用户行为路径进行分析,生成用户行为路径下的各行为状态和状态转换事件;采用有限状态机模型将各行为状态和各状态转换事件生成多个初始路径;去除多个初始路径中的无效初始路径,以生成多个有效初始路径;判断每一个有效初始路径是否标记有用户行为标签;当任意一个有效初始路径未标记用户行为标签时,对未标记用户行为标签的有效初始路径标记用户行为标签,以生成多个待测试路径。
具体过程为:对用户行为路径进行分析可以梳理出该路径下的各行为状态以及状态转换事件。例如,以电商购物为例,行为状态可以生成订单、订单待支付、订单待发货等,并以生成订单、订单待支付为例,梳理了这两个行为状态之间的转换事件有买家下单、买家超时未处理关闭等,具体请参照图5。
然后,基于扩展有限状态机模型对各行为状态和各状态转换事件进行分析,可以生成多个初始路径,具体如表1所示,其中多个初始路径可以形成测试路径候选集。其中,扩展有限状态机模型(Extended Finite State Machine)是由有限状态机模型(FiniteState Machine) 扩充而来。它在FSM模型的基础上增加了变量、操作以及状态迁移的前置条件,更加精确地刻画软件系统的动态行为。一个扩展有限状态机M是一个六元组<S, s0,V, I, O, T >。其中S是有限状态集合,如例子中的“生成订单”、”订单待支付”;s0∈S是初始状态;V是内部变量的有限集合;I是输入集合;O 是输出集合;T 是状态迁移的有限集合,T 的每个迁移 t也是一个六元组<si, sj, at, ot, Pt, At>,其中si是迁移 t 的起始状态,sj是迁移 t 的终止状态,at∈I 是输入符,ot∈O 是输出符,Pt 是对当前变量值的谓词判定条件,At 是输出或赋值等一系列操作语句(如 买家下单、买家手动关闭等)。
表1为基于扩展有限状态机模型生成的待测试路径
Figure 234810DEST_PATH_IMAGE002
在得到多个初始路径(或形成测试路径候选集)后,对多个初始路径进行分析,过滤掉无效的初始路径,然后形成待测试路径。过滤掉无效的初始路径,可以大大减少处理步骤提高效率,也能避免因误操作使根据无效路径生成测试用例,从而保证了生成的测试用例的精确性。
此外,当任意一个有效初始路径未标记用户行为标签时,对未标记用户行为标签的有效初始路径标记用户行为标签时可以采用K-近邻算法对未标记用户行为标签的有效初始路径标记用户行为标签。
步骤S130,将具有相同的用户行为标签的测试用例数据和待测试路径进行组合,以形成多个测试用例。
具体而言,将相同的用户行为标签对应的测试用例数据与“候选集的待测试路径做组合,结合业务场景用例模板(基于yaml文件定义)生成业务场景测试用例。
可选地,在根据用户行为日志数据确定用户行为路径的过程中,还包括对用户行为日志数据采用AI识别算法来识别出页面路径。其中,页面路径与用户行为路径有关,其可以用来判断用户行为路径是否准确。
本申请实施例提供的业务场景测试用例的生成方法,首先,获取与业务场景相关的用户行为路径和测试用例数据;其中,用户行为路径能反映不同业务场景下软件运行时产生的主要事件(即能在一定程度上表示不同业务场景下软件的功能),测试用例数据是不同业务场景下软件运行时产生的主要事件所需要的相关数据。用户行为路径和测试用例数据都标记有用户行为标签;然后采用扩展有限状态机模型对用户行为路径进行扩展,从而得到多个待测试路径;之后将具有相同的用户行为标签的测试用例数据和待测试路径进行组合,就可以形成多个测试用例。其中,具有相同的用户行为标签测试用例数据和待测试路径说明之间相关联。
该方法通过对用户行为路径和测试用例数据进行分析生成待测试路径,将相关联的待测试路径和测试用例数据进行组合,就能得到多个测试用例。该方法能快速、智能化地形成多个测试用例,且能提高测试用例的精准性。
接下来,还给出了确定测试用例优先级的实施方式,详细描述如下:
在一个实施例中,业务场景测试用例的生成方法还包括:对多个测试用例进行优先级标记。
具体地,在得到多个测试用例后,可以对多个测试用例进行优先级标记或排序。具体过程为:可以基于用户行为标签的热度值和测试用例的权重值来计算出测试用例的分数值,然后根据测试用例的分数值对测试用例做优先级标记。其中,用户行为标签的热度值反应的是该用户行为标签出现或重复的次数,没出现一下,对应的热度值可以加1。在得到用户行为标签的热度值后,可以计算预设时间内(例如7天)的热度分数,热度分数(Hot)=(用户行为标签的热度计数值/总热度计数值)*100。测试用例的分数值 Score = Hot +Weight,其中Weight是指测试用例权重分数。
在计算出测试用例的分数值后,可以根据分数值的取值范围来确定优先级。其中,优先级与分数值的取值范围(即分数值区间)的对应关系可参照表2。
表2为测试用例的优先级与分数值区间的对应关系
Figure 952230DEST_PATH_IMAGE003
采用该方式可以方便且准确对测试用例进行优先级标记,在后期软件测试时可以根据优先级来选择相应的测试用例,可以进一步提高测试准确性。
应该理解的是,虽然图2至图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图2至图4 中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
上述本申请公开的实施例中详细描述了一种业务场景测试用例的生成方法,对于本申请公开的上述方法可采用多种形式的设备实现,因此本申请还公开了对应上述方法的业务场景测试用例的生成装置,下面给出具体的实施例进行详细说明。
请参阅图6,为本申请实施例公开的一种业务场景测试用例的生成装置,主要包括:
信息获取模块610,用于获取与业务场景相关的用户行为路径和测试用例数据;其中,用户行为路径和测试用例数据分别标记有用户行为标签,且测试用例数据为多个。
待测试路径生成模块620,基于扩展有限状态机模型将用户行为路径进行扩展,以生成多个待测试路径。
测试用例形成模块630,用于将具有相同的用户行为标签的测试用例数据和待测试路径进行组合,以形成多个测试用例。
一个实施例中,信息获取模块610包括:
日志数据获取模块,用于获取用户行为日志数据。
事件拆分模块,用于根据用户行为日志数据拆分事件集。
行为路径获得模块,用于对事件集进行分析,以得到用户行为路径。
第一标记模块,用于当用户行为路径未标记用户行为标签时,对用户行为路径标记用户行为标签。
在一个实施例中,信息获取模块610包括:
请求日志获取模块,用于获取接口请求日志。
信息提取模块,用于对接口请求日志进行分析,以提取接口标识和接口参数值。
标签及数据生成模块,用于根据接口标识的标签关键词生成用户行为标签,并根据接口参数值生成测试用例数据。
第二标记模块,用于采用用户行为标签对测试用例数据进行标记。
在一个实施例中,第一标记模块,用于采用K-近邻算法对用户行为路径标记用户行为标签。
在一个实施例中,标签及数据生成模块,用于当所述接口标识缺少所述标签关键词时,采用预先训练的决策树 CART分类算法生成所述接口标识的标签关键词。
在一个实施例中,待测试路径生成模块620包括:
状态及事件生成模块,用于对用户行为路径进行分析,生成用户行为路径下的各行为状态和状态转换事件。
初始路径生成模块,用于采用有限状态机模型将各行为状态和各状态转换事件生成多个初始路径;
有效初始路径生成模块,用于去除多个初始路径中的无效初始路径,以生成多个有效初始路径。
标签判断模块,用于判断每一个有效初始路径是否标记有用户行为标签。
第三标记模块,用于当任意一个有效初始路径未标记用户行为标签时,对未标记用户行为标签的有效初始路径标记用户行为标签,以生成多个待测试路径。
在一个实施例中,业务场景测试用例的生成装置还包括:
第四标记模块,用于对多个测试用例进行优先级标记。
关于业务场景测试用例的生成装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参考图7,图7其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备70可以是计算机设备。本申请中的终端设备70可以包括一个或多个如下部件:处理器72、存储器74以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器74中并被配置为由一个或多个处理器72执行,一个或多个应用程序配置用于执行上述应用于终端设备的方法实施例中所描述的方法,也可以配置用于执行上述应用于业务场景测试用例的生成方法实施例中所描述的方法。
处理器72可以包括一个或者多个处理核。处理器72利用各种接口和线路连接整个终端设备70内的各个部分,通过运行或执行存储在存储器74内的指令、程序、代码集或指令集,以及调用存储在存储器74内的数据,执行终端设备70的各种功能和处理数据。可选地,处理器72可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器72可集成中央处理器(Cen tralProcessingUnit,CPU)、埋点数据的上报验证器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器72中,单独通过一块通信芯片进行实现。
存储器74可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器74可用于存储指令、程序、代码、代码集或指令集。存储器74可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备70在使用中所创建的数据等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
综上,本申请实施例提供的终端设备用于实现前述方法实施例中相应的业务场景测试用例的生成方法,并具有相应的方法实施例的有益效果,在此不再赘述。
请参阅图8,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质80中存储有程序代码,程序代码可被处理器调用执行上述业务场景测试用例的生成方法实施例中所描述的方法,也可以被处理器调用执行上述业务场景测试用例的生成方法实施例中所描述的方法。
计算机可读取存储介质80可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质80包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质80具有执行上述方法中的任何方法步骤的程序代码82的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码82可以例如以适当形式进行压缩。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种业务场景测试用例的生成方法,其特征在于,所述方法包括:
获取与业务场景相关的用户行为路径和测试用例数据;其中,所述用户行为路径和所述测试用例数据分别标记有用户行为标签,且所述测试用例数据为多个;
基于扩展有限状态机模型将所述用户行为路径进行扩展,以生成多个待测试路径;
将具有相同的所述用户行为标签的测试用例数据和所述待测试路径进行组合,以形成多个测试用例。
2.根据权利要求1所述的方法,其特征在于,所述获取与业务场景相关的用户行为路径,包括:
获取用户行为日志数据;
根据所述用户行为日志数据拆分事件集;
对所述事件集进行分析,以得到所述用户行为路径;
当所述用户行为路径未标记所述用户行为标签时,对所述用户行为路径标记所述用户行为标签。
3.根据权利要求1所述的方法,其特征在于,所述获取与业务场景相关的测试用例数据,包括:
获取接口请求日志;
对所述接口请求日志进行分析,以提取接口标识和接口参数值;
根据所述接口标识的标签关键词生成所述用户行为标签,并根据所述接口参数值生成所述测试用例数据;
采用所述用户行为标签对所述测试用例数据进行标记。
4.根据权利要求2所述的方法,其特征在于,所述对所述用户行为路径标记所述用户行为标签,包括:
采用K-近邻算法对所述用户行为路径标记所述用户行为标签。
5.根据权利要求3所述的方法,其特征在于,所述根据所述接口标识的标签关键词生成所述用户行为标签,包括:
当所述接口标识缺少所述标签关键词时,采用预先训练的决策树 CART分类算法生成所述接口标识的标签关键词。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于扩展有限状态机模型将所述用户行为路径进行扩展,以生成多个待测试路径,包括:
对所述用户行为路径进行分析,生成所述用户行为路径下的各行为状态和状态转换事件;
采用所述有限状态机模型将各所述行为状态和各所述状态转换事件生成多个初始路径;
去除多个所述初始路径中的无效初始路径,以生成多个有效初始路径;
判断每一个所述有效初始路径是否标记有用户行为标签;
当任意一个所述有效初始路径未标记所述用户行为标签时,对未标记所述用户行为标签的所述有效初始路径标记所述用户行为标签,以生成多个待测试路径。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
对多个所述测试用例进行优先级标记。
8.一种业务场景测试用例的生成装置,其特征在于,所述装置包括:
信息获取模块,用于获取与业务场景相关的用户行为路径和测试用例数据;其中,所述用户行为路径和所述测试用例数据分别标记有用户行为标签,且所述测试用例数据为多个;
待测试路径生成模块,基于扩展有限状态机模型将所述用户行为路径进行扩展,以生成多个待测试路径;
测试用例形成模块,用于将具有相同的所述用户行为标签的测试用例数据和所述待测试路径进行组合,以形成多个测试用例。
9.一种终端设备,其特征在于,包括:
存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。
CN202111089934.3A 2021-09-17 2021-09-17 业务场景测试用例的生成方法、装置、设备和存储介质 Active CN113535594B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111089934.3A CN113535594B (zh) 2021-09-17 2021-09-17 业务场景测试用例的生成方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111089934.3A CN113535594B (zh) 2021-09-17 2021-09-17 业务场景测试用例的生成方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113535594A true CN113535594A (zh) 2021-10-22
CN113535594B CN113535594B (zh) 2021-12-21

Family

ID=78093312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111089934.3A Active CN113535594B (zh) 2021-09-17 2021-09-17 业务场景测试用例的生成方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113535594B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079280A1 (en) * 2005-08-30 2007-04-05 Motorola, Inc. Method and apparatus for generating pairwise combinatorial tests from a graphic representation
CN101266571A (zh) * 2008-04-22 2008-09-17 中国科学院软件研究所 一种可信密码模块的测试用例生成方法及其测试系统
US20090282289A1 (en) * 2008-05-06 2009-11-12 Microsoft Corporation Generation and evaluation of test cases for software validation and proofs
CN102521376A (zh) * 2011-12-20 2012-06-27 上海电机学院 一种软件测试用例集的精简方法
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN112015639A (zh) * 2020-07-31 2020-12-01 北京轩宇信息技术有限公司 一种星载软件测试用例的生成方法及装置
CN112506766A (zh) * 2020-12-02 2021-03-16 华南理工大学 交互式测试用例的自动生成方法
CN112559343A (zh) * 2020-12-11 2021-03-26 腾讯科技(深圳)有限公司 测试路径生成方法及相关设备
CN112749074A (zh) * 2019-10-30 2021-05-04 腾讯科技(深圳)有限公司 一种测试用例推荐方法以及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079280A1 (en) * 2005-08-30 2007-04-05 Motorola, Inc. Method and apparatus for generating pairwise combinatorial tests from a graphic representation
CN101266571A (zh) * 2008-04-22 2008-09-17 中国科学院软件研究所 一种可信密码模块的测试用例生成方法及其测试系统
US20090282289A1 (en) * 2008-05-06 2009-11-12 Microsoft Corporation Generation and evaluation of test cases for software validation and proofs
CN102521376A (zh) * 2011-12-20 2012-06-27 上海电机学院 一种软件测试用例集的精简方法
CN109684209A (zh) * 2018-12-17 2019-04-26 北京奇虎科技有限公司 一种测试用例生成方法、装置及电子设备
CN112749074A (zh) * 2019-10-30 2021-05-04 腾讯科技(深圳)有限公司 一种测试用例推荐方法以及装置
CN112015639A (zh) * 2020-07-31 2020-12-01 北京轩宇信息技术有限公司 一种星载软件测试用例的生成方法及装置
CN112506766A (zh) * 2020-12-02 2021-03-16 华南理工大学 交互式测试用例的自动生成方法
CN112559343A (zh) * 2020-12-11 2021-03-26 腾讯科技(深圳)有限公司 测试路径生成方法及相关设备

Also Published As

Publication number Publication date
CN113535594B (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
US20180173808A1 (en) Intent and bot based query guidance
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN107276842B (zh) 接口测试方法、装置及电子设备
CN110688300A (zh) 兼容性测试方法、装置、设备及存储介质
CN110532056A (zh) 一种应用于用户界面中的控件识别方法及装置
CN117033249A (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
CN112181835A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN113778864A (zh) 一种测试用例的生成方法和装置、电子设备和存储介质
CN112416800A (zh) 智能合约的测试方法、装置、设备及存储介质
CN113592605A (zh) 基于相似产品的产品推荐方法、装置、设备及存储介质
CN114048816A (zh) 一种图神经网络数据采样方法、装置、设备及存储介质
CN112559343B (zh) 测试路径生成方法及相关设备
CN115994079A (zh) 测试方法、装置、电子设备、存储介质及程序产品
CN104580109A (zh) 生成点选验证码的方法及装置
CN110177006B (zh) 基于接口预测模型的节点测试方法及装置
CN113535594B (zh) 业务场景测试用例的生成方法、装置、设备和存储介质
CN116633804A (zh) 网络流量检测模型的建模方法、防护方法及相关设备
JP5206268B2 (ja) ルール作成プログラム、ルール作成方法及びルール作成装置
CN116257404A (zh) 一种日志解析方法及计算设备
CN112765022B (zh) 一种基于数据流的Webshell静态检测方法及电子设备
CN113312619A (zh) 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质
CN112882937A (zh) 测试用例的处理方法、装置、计算机设备及存储介质
CN112817782A (zh) 一种数据采集上报方法、装置、电子设备和存储介质
CN111461253A (zh) 一种自动化特征提取系统及方法
CN114648026B (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