CN111708712A - 用户行为测试用例的生成方法、流量回放方法及电子设备 - Google Patents
用户行为测试用例的生成方法、流量回放方法及电子设备 Download PDFInfo
- Publication number
- CN111708712A CN111708712A CN202010590493.4A CN202010590493A CN111708712A CN 111708712 A CN111708712 A CN 111708712A CN 202010590493 A CN202010590493 A CN 202010590493A CN 111708712 A CN111708712 A CN 111708712A
- Authority
- CN
- China
- Prior art keywords
- user behavior
- user
- link
- test case
- behavior test
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件测试技术领域,具体涉及用户行为测试用例的生成方法、流量回放方法及电子设备。生成方法包括通过目标业务系统中的埋点收集用户行为以及用户整体链路点;记录对应于用户行为的链路点执行的参数信息;参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种;基于用户整体链路点以及用户行为的链路点执行的参数信息,对用户行为的链路点进行串联以生成全链路的用户行为测试用例。通过埋点对用户行为以及用户整体链路点进行收集,不依赖于人工梳理底层逻辑,且通过对用户行为的链路点执行的参数信息的记录,能够在保证所生成的测试用例贴近实际使用环境的基础上,自动化生成用户行为测试用例,提高了该测试用例的生成效率。
Description
技术领域
本发明涉及软件测试技术领域,具体涉及用户行为测试用例的生成方法、流量回放方法及电子设备。
背景技术
随着互联网行业日新月异的发展,越来越多复杂的业务都已经被线上实现,那对于各种用户数据、用户行为、基于各种复杂应用场景的共性或者个性的软件操作的数据收集是用于后续对业务系统进行调试的重要测试用例的来源。
为了实现测试用例的收集,即复杂业务场景的复现,一般是通过增加多接口串联的功能来模拟用户操作行为的。但是,录入多接口串联场景的前提是必须清楚底层逻辑,并梳理出来才能串联成一个代码层面的自动化业务场景,而且一旦代码发生变更,就需要重新调整脚本,效率低下。
发明内容
有鉴于此,本发明实施例提供了一种用户行为测试用例的生成方法、流量回放方法及电子设备,以解决用户行为测试用例的生成效率较低的问题。
根据第一方面,本发明实施例提供了一种用户行为测试用例的生成方法,包括:
通过目标业务系统中的埋点收集用户行为以及用户整体链路点;
记录对应于所述用户行为的链路点执行的参数信息;其中,所述参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种;
基于所述用户整体链路点以及所述用户行为的链路点执行的参数信息,对所述用户行为的链路点进行串联,以生成全链路的用户行为测试用例。
本发明实施例提供的用户行为测试用例的生成方法,通过在目标业务系统中埋点对用户行为以及用户整体链路点进行收集,不依赖于人工梳理底层逻辑,且通过对用户行为的链路点执行的参数信息的记录,能够在保证所生成的测试用例贴近实际使用环境的基础上,自动化生成用户行为测试用例,提高了用户行为测试用例的生成效率。
结合第一方面,在第一方面第一实施方式中,所述基于所述用户整体链路点以及所述用户行为的链路点执行的参数信息,对所述用户行为的链路点进行串联,以得到全链路的用户行为测试用例,包括:
利用所述用户整体链路点对所述用户行为的链路点进行串联,得到全链路用户行为;
将各个所述用户行为的链路点执行的参数信息对应到所述全链路用户行为的各个链路点,得到全链路用户行为数据;
对所述全链路用户行为数据进行脱敏处理,生成所述全链路的用户行为测试用例。
本发明实施例提供的用户行为测试用例的生成方法,通过用户行为的链路点的串联拼接以及参数信息的对应即可得到全链路用户行为数据,可以提高全链路用户行为数据获取的效率,且在生成全链路的用户行为测试用例之前对全链路用户行为数据还进行脱敏处理,去除掉敏感信息,保护了用户隐私。
结合第一方面,在第一方面第二实施方式中,所述收集用户整体链路点,包括:
收集对应于用户行为的链路点;
基于测试规则对所述用户行为的链路点进行筛选,得到所述用户整体链路点。
本发明实施例提供的用户行为测试用例的生成方法,在生成全链路用户行为测试用例之前还基于测试规则对用户行为的链路点进行筛选,以去除与后续测试不相关的数据,减少了数据处理量,可以提高后续流量回放的效率。
结合第一方面,或第一方面第一实施方式,或第一方面第二实施方式,在第一方面第三实施方式中,所述方法还包括:
展示所述全链路的用户行为测试用例中的用户行为以及与其对应的各个用户行为的链路点执行的参数信息。
本发明实施例提供的用户行为测试用例的生成方法,在生成全链路用户行为测试用例之后,还在界面上展示相应的参数信息,使得测试用户能够直观化的展示出来。
根据第二方面,本发明实施例还提供了一种用户行为测试用例的流量回放方法,包括:
获取用户行为测试用例;其中,所述用户行为测试用例是根据本发明第一方面或第一方面任一项实施方式中所述的用户行为测试用例的生成方法生成的;
响应于目标回放环境的确定;
基于所述目标回放环境,对所述用户行为测试用例进行流量回放。
本发明实施例提供的用户行为测试用例的流量回放方法,将用户行为测试用例在不同的目标回放环境中进行回放,可以实现对多种目标回放环境进行测试。
结合第二方面,在第二方面第一实施方式中,所述基于所述目标回放环境,对所述用户行为测试用例进行流量回放,包括:
在所述目标回放环境中回放所述用户行为测试用例,以校验所述目标回放环境中的各个接口是否测试通过;
当所述接口测试通过时,展示所述用户行为测试用例中对应于所述接口的用户行为以及与对应于所述用户行为的链路点执行的参数信息。
结合第二方面,或第二方面第一实施方式,在第二方面第二实施方式中,所述基于所述目标回放环境,对所述用户行为测试用例进行流量回放,还包括:
当所述接口测试不通过时,响应于数据模拟开关的开启;
基于所述数据模拟开关,继续对所述目标回放环境的其余接口进行测试。
本发明实施例提供的用户行为测试用例的流量回放方法,在回放过程中通过开启数据模拟开关,可以解决环境依赖的问题,保证了回放的稳定性。
结合第二方面,在第二方面第三实施方式中,所述基于所述目标测试环境,对所述用户行为测试用例进行流量回放,包括:
响应于回放起始节点的确定;
基于所述目标回放环境以及所述回放起始节点,对所述用户行为测试用例进行流量回放。
本发明实施例提供的用户行为测试用例的流量回放方法,通过回放起始节点的确定,使得该回放方法能够支持全部回放以及部分回放,以满足不同的需求。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的用户行为测试用例的生成方法,或执行第二方面或者第二方面的任意一种实施方式中所述的用户行为测试用例流量回放方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的用户行为测试用例的生成方法,或执行第二方面或者第二方面的任意一种实施方式中所述的用户行为测试用例流量回放方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用户行为测试用例的生成方法的流程图;
图2是根据本发明实施例的用户行为测试用例的生成方法的流程图;
图3是根据本发明实施例的全链路的用户行为测试用例的示意图;
图4是根据本发明实施例的用户轨迹详情的示意图;
图5是根据本发明实施例的用户行为测试用例的流量回放方法的流程图;
图6是根据本发明实施例的用户行为测试用例的流量回放方法的流程图;
图7是根据本发明实施例的用户轨迹流量回放的示意图;
图8是根据本发明实施例的用户行为测试用例的生成装置的结构框图;
图9是根据本发明实施例的用户行为测试用例的流量回放装置的结构框图;
图10是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例提供的用户行为测试用例的生成方法,是通过在业务系统中埋点,对各个链路点的用户行为、用户行为的链路点执行的参数信息以及整个链路点进行收集,在收集之后,基于整个链路点对用户行为的链路点进行串联拼接,形成全链路的用户行为,及其对应的各个用户行为的链路点执行的参数信息,从而可以生成全链路的用户行为测试用例。具体将在下文中对该方法进行详细描述。
进一步地,本发明实施例还提供了一种用户行为测试用例的流量回放方法,通过上述的用户行为测试用例在不同的回放环境中进行流量回放,可以实现对不同回放环境的校验。具体将在下文中对该方法进行详细描述。
根据本发明实施例,提供了一种用户行为测试用例的生成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种用户行为测试用例的生成方法,可用于电子设备,如电脑、手机、平板电脑等,图1是根据本发明实施例的用户行为测试用例的生成方法的流程图,如图1所示,该流程包括如下步骤:
S11,通过目标业务系统中的埋点收集用户行为以及用户整体链路点。
在业务系统中预先进行埋点,例如,埋点可以设置在各个用户行为的链路点上,也可以按照实际需求进行相应的设置,在此对埋点的具体设置位置并不做任何限制。
业务系统中设置埋点之后,电子设备就可以利用埋点收集用户行为以及用户整体链路点。其中,所述的用户行为可以理解为用户在该业务系统中所执行的相关操作,例如,登录、浏览、对比、下单等等。所述的用户整体链路点可以理解为用户在操作该业务系统的过程中,所涉及到的所有用户行为的链路点。
具体地,在业务系统中进行埋点,同时日志中打印全链路唯一标识traceID,该标识用于表示用户身份。当使用该业务系统的用户不同时,其对应的标识traceID也就不同。用户在对业务系统进行操作时,大数据自动整理并分析所有相关业务系统,并使用唯一标识traceID进行用户行为归类,也即收集用户整体链路点。
S12,记录对应于用户行为的链路点执行的参数信息。
其中,所述参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种。
电子设备利用埋点记录对应于用户行为的链路点执行的参数信息。具体记录内容细化到:每个用户行为的链路点执行的SQL命令、接口的出入参数以及消息队列等等,以便于后续的流量回放。
通过对各个用户行为的链路点执行的参数信息的收集,便于后续在不同环境中对用户行为进行回放。具体地,后续在生成用户行为测试用例之后,在不同的回放环境中对其进行回放,由于在用户行为测试用例中已经对应存储有对应于用户行为的链路点执行的参数信息,那么不同回放环境下,当运行到各个用户行为的节点时,只需要调用该用户行为的链路点执行的参数信息,即可实现用户行为的真实回放。
S13,基于用户整体链路点以及用户行为的链路点执行的参数信息,对用户行为的链路点进行串联,以生成全链路的用户行为测试用例。
电子设备在记录用户行为的链路点执行的参数信息之后,利用用户整体链路点对用户行为的链路点进行线性顺序串联并保存下来,生成全链路的用户行为测试用例。
其中,所述的串联即为按照用户操作业务系统的各个节点的顺序对相应的各个用户行为的链路点进行顺序连接,形成全链路的用户行为测试用例。例如,用户整体链路点分别为:用户行为的链路点1、用户行为的链路点2、用户行为的链路点3以及用户行为的链路点4;对应地,所形成的全链路也可以理解为:用户行为的链路点1-用户行为的链路点2-用户行为的链路点3-用户行为的链路点4。各个用户行为的链路点均对应有其执行的参数信息。
本实施例提供的用户行为测试用例的生成方法,通过在目标业务系统中埋点对用户行为以及用户整体链路点进行收集,不依赖于人工梳理底层逻辑,且通过对用户行为的链路点执行的参数信息的记录,能够在保证所生成的测试用例贴近实际使用环境的基础上,自动化生成用户行为测试用例,提高了用户行为测试用例的生成效率。
在本实施例中提供了一种用户行为测试用例的生成方法,可用于电子设备,如电脑、手机、平板电脑等,图2是根据本发明实施例的用户行为测试用例的生成方法的流程图,如图2所示,该流程包括如下步骤:
S21,通过目标业务系统中的埋点收集用户行为以及用户整体链路点。
具体地,上述S21包括如下步骤:
S211,收集对应于用户行为的链路点。
如上文所示,每个用户都有一个唯一标识traceID,所有的业务操作中都增加了traceID记录,以区分不同的用户。通过在业务系统中埋点,收集对应于用户行为的链路点。
S212,基于测试规则对用户行为的链路点进行筛选,得到用户整体链路点。
所述的测试规则即与后续的测试相关的规则,例如,后续是对“租房”这一功能的校验,那么对应的测试规则就可以认为是与“租房”相关的内容,例如,浏览、对比、下单等等。
对应于不同的测试规则,可以在电子设备中维护一个数据表,对应于多个用户行为的链路点。电子设备在收集得到对应于用户行为的链路点之后,可以查找该数据表找到与测试规则对应的链路点,从而对S211中收集到的用户行为的链路点进行筛选,得到用户整体链路点。
在生成全链路用户行为测试用例之前还基于测试规则对用户行为的链路点进行筛选,以去除与后续测试不相关的数据,减少了数据处理量,可以提高后续流量回放的效率。
S22,记录对应于用户行为的链路点执行的参数信息。
其中,所述参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种。
详细请参见图1所示实施例的S12,在此不再赘述。
S23,基于用户整体链路点以及用户行为的链路点执行的参数信息,对用户行为的链路点进行串联,以生成全链路的用户行为测试用例。
具体地,上述S23包括如下步骤:
S231,利用用户整体链路点对用户行为的链路点进行串联,得到全链路用户行为。
电子设备在S21中收集得到用户整体链路点之后,利用用户整体链路点对用户行为的链路点进行串联,得到全链路用户行为。即,业务系统进行埋点,大数据系统通过分析日执,将这些线性的用户行为的链路点作顺序记录并保存下来,得到全链路用户行为。
S232,将各个用户行为的链路点执行的参数信息对应到全链路用户行为的各个链路点,得到全链路用户行为数据。
电子设备在得到全链路用户行为之后,将S22记录的对应于各个用户行为的链路点执行的参数信息对应到全链路用户行为的各个链路点,从而可以得到全链路用户行为数据。
S233,对全链路用户行为数据进行脱敏处理,生成全链路的用户行为测试用例。
电子设备在得到全链路用户行为数据之后,对其进行脱敏处理,以去除用户隐私,例如:姓名、联系方式等等。在脱敏处理之后,就可以生成全链路的用户行为测试用例,将其保存在电子设备中。
S24,展示全链路的用户行为测试用例中的用户行为以及与其对应的各个链路点执行的参数信息。
电子设备在生成全链路的用户行为测试用例之后,在展示界面上展示全链路的用户行为测试用例中的用户行为及其对应的各个链路点执行的参数信息。如图3所示,展示了用户行为分析的展示界面,在该展示界面上设置有用户轨迹以及房屋轨迹两个标签。其中,用户轨迹以及房屋轨迹均是与用户的唯一标识traceID对应的。
具体地,在用户轨迹的标签下,就显示对应于各个用户ID的用户操作轨迹。以第一个用户为例,其操作轨迹为:注册-登录-定位-合租-搜索-浏览-对比-预定/预签;当点击该用户ID对应的详情时,就显示各个用户行为的链路点对应的参数信息,例如,如图4所示。在图4中显示除了对应于“注册”这一用户行为的链路点执行的参数信息,具体为:注册界面接口以及用户表新增数据等等。
进一步地,如图3所示的展示界面,还可以让使用用户配置自己的筛选即过滤条件,筛选出自己的重点人群,并一键生成基于时间序列的该用户的全链路用户行为。例如,可以在用户id的输入框中输入用户对应的traceID对感兴趣的用户轨迹进行展示。
作为本实施例的一种可选实施方式,在大数据分析完成并进行输出时,使用频次排序算法,将频次较高的用户行为展示在最上层,能够让用户直观的看到所有用户聚焦的一些用户行为,能进一步知道各个环境下的数据验证。
本实施例提供的用户行为测试用例的生成方法,通过用户行为的链路点的串联拼接以及参数信息的对应即可得到全链路用户行为数据,可以提高全链路用户行为数据获取的效率,且在生成全链路的用户行为测试用例之前对全链路用户行为数据还进行脱敏处理,去除掉敏感信息,保护了用户隐私。同时,不用再去捋清楚所有代码逻辑就可以轻松模拟所有的用户场景,后续可以将场景复制到多个环境中方便调试及测试验证;即使代码再变化,也不需要维护自动化脚本,而实直接自动生成测试用户场景。
根据本发明实施例,提供了一种用户行为测试用例的流量回放方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种用户行为测试用例的流量回放方法,可用于电子设备,如电脑、手机、平板电脑等,图5是根据本发明实施例的用户行为测试用例的流量回放方法的流程图,如图5所示,该流程包括如下步骤:
S31,获取用户行为测试用例。
其中,所述用户行为测试用例是根据上述实施例中所述的用户行为测试用例的生成方法生成的。
关于用户行为测试用例的具体生成方式请参见上文所述实施例的详细描述,在此不再赘述。
S32,响应于目标回放环境的确定。
电子设备提供回放环境选择界面,以便于用户确定目标回放环境。如图7所示,在回放环境选择界面上提供的回放环境有:线上环境、准生产环境、测试环境以及研发环境。
S33,基于目标回放环境,对用户行为测试用例进行流量回放。
电子设备在获取到用户行为测试用例之后,用户确定出目标回放环境,就可以在确定出的目标回放环境中对用户行为测试用例进行流量回放。
具体地,在软件研发过程中,会有各种不同的环境,例如研发环境(开发开发代码时本地电脑环境),测试环境(测试进行功能验证时的环境),预发布环境(类似于线上环境,又不同于线上环境的环境,一般做双重保障用),生产环境(线上环境)。本实施例可以支持在获取到用户行为测试用例之后,只需要在配置界面(或者代码写死)配置好域名对应的各个回放环境的地址,在进行流量回放时选择回放环境,即可调用到指定域名下的环境。
例如:
线上环境:demo.ziroom.com;
研发环境:localhost:8080;
测试环境:demo.t.ziroom.com;
预发布环境:demo.q.ziroom.com。
在确定出目标回放环境之后,代码在执行过程中涉及到各个用户行为的链路点执行的参数信息时,就可以从用户行为测试用例中复制相应的数据即可完成相应的流量回放。
本发明实施例提供的用户行为测试用例的流量回放方法,将用户行为测试用例在不同的目标回放环境中进行回放,可以实现对多种目标回放环境进行测试。
在本实施例中提供了一种用户行为测试用例的流量回放方法,可用于电子设备,如电脑、手机、平板电脑等,图6是根据本发明实施例的用户行为测试用例的流量回放方法的流程图,如图6所示,该流程包括如下步骤:
S41,获取用户行为测试用例。
其中,所述用户行为测试用例是根据上述实施例中所述的用户行为测试用例的生成方法生成的。
详细请参见图5所示实施例的S31,在此不再赘述。
S42,响应于目标回放环境的确定。
详细请参见图5所示实施例的S32,在此不再赘述。
S43,基于目标回放环境,对用户行为测试用例进行流量回放。
具体地,上述S43包括如下步骤:
S431,在目标回放环境中回放用户行为测试用例,以校验所述目标回放环境中的各个接口是否测试通过。
在目标回放环境中回放用户行为测试用例,电子设备在相应的接口会调用该对应于该接口的用户行为的链路点执行的参数信息,以校验目标回放环境中的各个接口是否测试通过。
当接口测试通过时,执行S432;否则,执行S433。
S432,展示用户行为测试用例中对应于接口的用户行为以及与对应于用户行为的链路点执行的参数信息。
电子在测试通过时,可以对用户行为测试用例中的用户行为进行回放展示。如图7所示,展示了用户行为回放的详情,对应于每个操作节点(即,用户行为的链路点)还对应展示有用户行为的链路点执行的参数信息。
S433,响应于数据模拟开关的开启。
电子设备在某个接口测试不通过时,可以向用户提供数据模拟开关(即,mock开关)开启选择界面,以响应于用户对应数据模拟开关的开启。
具体地,各个场景在线上执行时,所有依赖的接口都是正常的,但是在测试或者预发布/准生产环境执行时,很难保证依赖的接口都是正常的,所以此处引入接口mock技术。如果某个接口需要mock,只要打开mock开关,即可实现不调用该环境中真实应用的这个接口,而实现指定的接口数据的返回,从而保证整个链路进行回放时更稳定更健壮。
S434,基于数据模拟开关,继续对目标回放环境的其余接口进行测试。
电子设备在响应于mock开关的开启之后,基于该mock开关继续对目标回放环境的其余接口进行测试。
例如,A应用调用B应用提供的接口,B这个时候出现异常或者程序有bug,那A调用B的接口就会失败,A接下来的处理流程都会受阻。那如果开启了mock,并且mockserver上配置了B应用提供接口的入参C及出参D;A应用调用B应用时,会先访问mockserver,当入参匹配到配置好的C,则返回D给A,则A调用B调用成功,并拿到返回值D,可以继续做自己接下来的逻辑。如果入参没有匹配到C,则继续调用真实的B应用,拿到真实的返回数据。这样的话也保证了其他调用的真实有效。
总而言之,mockserver的开启只影响想影响的接口调用,从而也就实现了环境之间的不互相干扰及依赖。
本发明实施例提供的用户行为测试用例的流量回放方法,在回放过程中通过开启数据模拟开关,可以解决环境依赖的问题,保证了回放的稳定性。
作为本实施例的一种可选实施方式,上述S43还可以包括如下步骤:
(1)响应于回放起始节点的确定。
本实施例提供的用户行为测试用例的流量回放方法,通过响应于回放起始节点的确定,支持全部回放和部分回放。
(2)基于目标回放环境以及回放起始节点,对用户行为测试用例进行流量回放。
如果选择的回放起始节点为用户行为测试用例的起始节点,那么对应的回放方式即为全部回放。如果选择全部回放到不同的环境,则所有的链路都会顺序按照之前记忆并存储的操作复制出来。
如果选择的回放起始节点为用户行为测试用例的中间节点,那么对应的回放方式即为部分回放。如果选择部分回放,例如该节点已经被使用过,则将所有数据库操作都进行回滚,然后根据以上记录的用户行为操作,将所有的行为都复制出来并加以实际执行。
例如,整个场景相当于一个链路,有ABC三个操作节点,但是在具体执行的过程中,A执行成功,B执行失败(例如,因为B节点存在的缺陷问题导致的失败),导致C没有执行,B节点的数据操作就是一个异常或者有误的数据操作。
那在B节点的缺陷修复后,可以不进行场景的全部回放,只需要进行从B节点的断点回放,在初始化执行环节,需要将B节点所有的操作数据进行回滚,然后再重新从B节点继续执行,如果B节点这次执行通过,则B节点的缺陷修复成功,C节点就会接着执行,来验证接下来的节点及场景逻辑。
通过回放起始节点的确定,使得该回放方法能够支持全部回放以及部分回放,以满足不同的需求。
在本实施例的另一些可选实施方式中,对于回放时用到的MQ消息发送功能,也可以使用数据模拟开关,解决消息依赖。
可选地,在用户行为测试用例的流量回放过程中,电子设备还会记录链路上每个节点的执行次数,用于对节点的执行次数进行统计。
在本实施例中还提供了一种用户行为测试用例的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种用户行为测试用例的生成装置,如图8所示,包括:
收集模块51,用于通过目标业务系统中的埋点收集用户行为以及用户整体链路点;
记录模块52,用于记录对应于所述用户行为的链路点执行的参数信息;其中,所述参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种;
生成模块53,用于基于所述用户整体链路点以及所述用户行为的链路点执行的参数信息,对所述用户行为的链路点进行串联,以生成全链路的用户行为测试用例。
本实施例提供的用户行为测试用例的生成装置,通过在目标业务系统中埋点对用户行为以及用户整体链路点进行收集,不依赖于人工梳理底层逻辑,且通过对用户行为的链路点执行的参数信息的记录,能够在保证所生成的测试用例贴近实际使用环境的基础上,自动化生成用户行为测试用例,提高了用户行为测试用例的生成效率。
本实施例提供一种用户行为测试用例的流量回放装置,如图9所示,包括:
获取模块61,用于获取用户行为测试用例;其中,所述用户行为测试用例是根据上述实施例中所述的用户行为测试用例的生成方法生成的;
响应模块62,用于响应于目标回放环境的确定;
回放模块63,用于基于所述目标回放环境,对所述用户行为测试用例进行流量回放。
本实施例提供的用户行为测试用例的流量回放方法,将用户行为测试用例在不同的目标回放环境中进行回放,可以实现对多种目标回放环境进行测试。
本实施例中的用户行为测试用例的生成装置,或用户行为测试用例流量回放装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图8所示的用户行为测试用例的生成装置,或图9所示的用户行为测试用例流量回放装置。
请参阅图10,图10是本发明可选实施例提供的一种电子设备的结构示意图,如图10所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图8或9所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器74还可以包括上述种类的存储器的组合。
其中,处理器71可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本申请图1和2实施例中所示的用户行为测试用例的生成方法,或图5和6实施例中所示的用户行为测试用例的流量回放装置。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用户行为测试用例的生成方法,或用户行为测试用例的流量回放方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种用户行为测试用例的生成方法,其特征在于,包括:
通过目标业务系统中的埋点收集用户行为以及用户整体链路点;
记录对应于所述用户行为的链路点执行的参数信息;其中,所述参数信息包括接口、结构化查询语言命令以及消息队列中的至少一种;
基于所述用户整体链路点以及所述用户行为的链路点执行的参数信息,对所述用户行为的链路点进行串联,以生成全链路的用户行为测试用例。
2.根据权利要求1所述的方法,其特征在于,所述基于所述用户整体链路点以及所述用户行为的链路点执行的参数信息,对所述用户行为的链路点进行串联,以得到全链路的用户行为测试用例,包括:
利用所述用户整体链路点对所述用户行为的链路点进行串联,得到全链路用户行为;
将各个所述用户行为的链路点执行的参数信息对应到所述全链路用户行为的各个链路点,得到全链路用户行为数据;
对所述全链路用户行为数据进行脱敏处理,生成所述全链路的用户行为测试用例。
3.根据权利要求1所述的方法,其特征在于,所述收集用户整体链路点,包括:
收集对应于用户行为的链路点;
基于测试规则对所述用户行为的链路点进行筛选,得到所述用户整体链路点。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
展示所述全链路的用户行为测试用例中的用户行为以及与其对应的各个用户行为的链路点执行的参数信息。
5.一种用户行为测试用例的流量回放方法,其特征在于,包括:
获取用户行为测试用例;其中,所述用户行为测试用例是根据权利要求1-4中任一项所述的用户行为测试用例的生成方法生成的;
响应于目标回放环境的确定;
基于所述目标回放环境,对所述用户行为测试用例进行流量回放。
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标回放环境,对所述用户行为测试用例进行流量回放,包括:
在所述目标回放环境中回放所述用户行为测试用例,以校验所述目标回放环境中的各个接口是否测试通过;
当所述接口测试通过时,展示所述用户行为测试用例中对应于所述接口的用户行为以及与对应于所述用户行为的链路点执行的参数信息。
7.根据权利要求5或6所述的方法,其特征在于,所述基于所述目标回放环境,对所述用户行为测试用例进行流量回放,还包括:
当所述接口测试不通过时,响应于数据模拟开关的开启;
基于所述数据模拟开关,继续对所述目标回放环境的其余接口进行测试。
8.根据权利要求5所述的方法,其特征在于,所述基于所述目标测试环境,对所述用户行为测试用例进行流量回放,包括:
响应于回放起始节点的确定;
基于所述目标回放环境以及所述回放起始节点,对所述用户行为测试用例进行流量回放。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4中任一项所述的用户行为测试用例的生成方法,或执行权利要求5-8中任一项所述的用户行为测试用例流量回放方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的用户行为测试用例的生成方法,或执行权利要求5-8中任一项所述的用户行为测试用例流量回放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590493.4A CN111708712A (zh) | 2020-06-24 | 2020-06-24 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010590493.4A CN111708712A (zh) | 2020-06-24 | 2020-06-24 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708712A true CN111708712A (zh) | 2020-09-25 |
Family
ID=72542696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010590493.4A Pending CN111708712A (zh) | 2020-06-24 | 2020-06-24 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708712A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559363A (zh) * | 2020-12-23 | 2021-03-26 | 平安银行股份有限公司 | 基于全链路标记的测试用例生成方法、系统、设备和介质 |
CN112631921A (zh) * | 2020-12-28 | 2021-04-09 | 广州品唯软件有限公司 | 提升流量回放覆盖面方法、系统和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190129832A1 (en) * | 2017-11-02 | 2019-05-02 | Siemens Aktiengesellschaft | System and method for test data generation for use in model based testing using source code test annotations and constraint solving |
CN110083543A (zh) * | 2019-05-07 | 2019-08-02 | 江苏满运软件科技有限公司 | 回归测试方法、装置、电子设备及存储介质 |
CN110245080A (zh) * | 2019-05-28 | 2019-09-17 | 厦门美柚信息科技有限公司 | 生成场景测试用例的方法及装置 |
CN110413508A (zh) * | 2019-06-25 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 一种业务系统安全保障的数据处理方法、装置及系统 |
CN111083013A (zh) * | 2019-12-18 | 2020-04-28 | 北京嘀嘀无限科技发展有限公司 | 基于流量回放的测试方法、装置、电子设备及存储介质 |
CN111078551A (zh) * | 2019-12-13 | 2020-04-28 | 浙江诺诺网络科技有限公司 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
CN111104324A (zh) * | 2019-12-17 | 2020-05-05 | 广州品唯软件有限公司 | 测试用例的生成方法、生成装置及计算机可读存储介质 |
CN111198813A (zh) * | 2018-11-20 | 2020-05-26 | 北京京东尚科信息技术有限公司 | 一种接口测试方法和装置 |
-
2020
- 2020-06-24 CN CN202010590493.4A patent/CN111708712A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190129832A1 (en) * | 2017-11-02 | 2019-05-02 | Siemens Aktiengesellschaft | System and method for test data generation for use in model based testing using source code test annotations and constraint solving |
CN111198813A (zh) * | 2018-11-20 | 2020-05-26 | 北京京东尚科信息技术有限公司 | 一种接口测试方法和装置 |
CN110083543A (zh) * | 2019-05-07 | 2019-08-02 | 江苏满运软件科技有限公司 | 回归测试方法、装置、电子设备及存储介质 |
CN110245080A (zh) * | 2019-05-28 | 2019-09-17 | 厦门美柚信息科技有限公司 | 生成场景测试用例的方法及装置 |
CN110413508A (zh) * | 2019-06-25 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 一种业务系统安全保障的数据处理方法、装置及系统 |
CN111078551A (zh) * | 2019-12-13 | 2020-04-28 | 浙江诺诺网络科技有限公司 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
CN111104324A (zh) * | 2019-12-17 | 2020-05-05 | 广州品唯软件有限公司 | 测试用例的生成方法、生成装置及计算机可读存储介质 |
CN111083013A (zh) * | 2019-12-18 | 2020-04-28 | 北京嘀嘀无限科技发展有限公司 | 基于流量回放的测试方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559363A (zh) * | 2020-12-23 | 2021-03-26 | 平安银行股份有限公司 | 基于全链路标记的测试用例生成方法、系统、设备和介质 |
CN112631921A (zh) * | 2020-12-28 | 2021-04-09 | 广州品唯软件有限公司 | 提升流量回放覆盖面方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251046B2 (en) | Method and system for generating and processing black box test cases | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
CN112100052B (zh) | 一种接口测试场景的回放方法及装置 | |
CN107080945B (zh) | 测试游戏中人工智能行为的方法、装置及电子设备 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN112882930B (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN112084108A (zh) | 一种测试脚本生成方法、装置及相关组件 | |
CN110389897A (zh) | Sdk逻辑测试方法、装置、存储介质及服务器 | |
CN112799956B (zh) | 资产识别能力测试方法、装置及系统装置 | |
US20160132424A1 (en) | Simulating sensors | |
CN114064510A (zh) | 功能测试方法、装置、电子设备和存储介质 | |
CN113672514A (zh) | 测试方法、装置、服务器及存储介质 | |
CN113342632A (zh) | 仿真数据自动化处理方法、装置、电子设备及存储介质 | |
CN112612698A (zh) | 应用程序崩溃测试方法及相关产品 | |
CN113485919A (zh) | 测试方法、测试装置及计算机可读存储介质 | |
CN112486829A (zh) | 测试方法、装置、设备和存储介质 | |
CN116795723B (zh) | 链式单元测试处理方法、装置及计算机设备 | |
CN114860549B (zh) | 埋点数据校验方法、装置、设备和存储介质 | |
CN116974910A (zh) | 区块链sdk的持续交付方法、装置、存储介质以及电子设备 | |
CN118093381A (zh) | 一种基于人工智能的软件测试方法及系统 | |
CN116955134A (zh) | 页面测试方法及相关设备 | |
CN116414642A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200925 |
|
RJ01 | Rejection of invention patent application after publication |