CN114826994B - 用户环境回放方法、系统、电子设备及可读存储介质 - Google Patents

用户环境回放方法、系统、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114826994B
CN114826994B CN202210430820.9A CN202210430820A CN114826994B CN 114826994 B CN114826994 B CN 114826994B CN 202210430820 A CN202210430820 A CN 202210430820A CN 114826994 B CN114826994 B CN 114826994B
Authority
CN
China
Prior art keywords
container
address
user
scene
user scene
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.)
Active
Application number
CN202210430820.9A
Other languages
English (en)
Other versions
CN114826994A (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.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight 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 Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN202210430820.9A priority Critical patent/CN114826994B/zh
Publication of CN114826994A publication Critical patent/CN114826994A/zh
Application granted granted Critical
Publication of CN114826994B publication Critical patent/CN114826994B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明涉及系统测试技术领域,公开了一种用户环境回放方法、系统、电子设备及可读存储介质,该方法通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性。

Description

用户环境回放方法、系统、电子设备及可读存储介质
技术领域
本发明涉及系统测试技术领域,尤其涉及一种用户环境回放方法、系统、电子设备及可读存储介质。
背景技术
目前,用户场景测试通常通过虚拟机进行应用测试。由于应用中的一部分问题是在运行环境改变时才显现的,例如在Windows上编写应用代码,但应用代码的上层环境(测试、stage、生产环境等)是基于Linux的,当把应用代码从开发环境放置到测试环境或更上层环境的情况下,操作系统的变化会引发应用的某些功能出现问题,配套软件环境不同导致间歇性故障。
因此,越来越多的企业用容器化替换虚拟机,通过微服务的架构来构建产品,通过提炼场景元素、构造场景测试用例、回放用户流量进行测试,能够简化环境、提高资源利用率、加快特性的交付效率、提高生产力、解耦模块,进而有利于软件工程的敏捷开发。但是,容器化也同时对产品的测试带来的前所未有的挑战,由于传统容器化得到的执行环境容器通常分配的是虚拟IP(Internet Protocol,网际互连协议)地址和动态端口,在与之连接的被测系统看来,该执行环境容器回放行为的拟人化程度较低、不够真实,进而导致测试结果不准确。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
鉴于以上所述现有技术的缺点,本发明公开了一种用户环境回放方法、系统、电子设备及可读存储介质,以提高用户场景回放和测试的拟人化程度,进而提高测试结果的准确性。
本发明公开了一种用户场景回放方法,包括:获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各所述环境因子对应的用户场景容器;分别对各所述用户场景容器配置容器IP地址和物理网关地址,通过所述容器IP地址和所述物理网关地址建立各所述用户场景容器与所述待测系统之间的连接链路;基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为。
可选地,通过以下方式对所述用户场景容器配置物理网关地址:获取物理网络模块,并生成虚拟网桥和虚拟设备接口对;通过修改所述物理网络模块的配置参数建立所述虚拟网桥与所述物理网络模块之间的第一内部链路,并通过所述虚拟设备接口对建立所述虚拟网桥与所述用户场景容器之间的第二内部链路;对所述用户场景容器配置所述物理网络模块的物理网关地址。
可选地,通过修改所述物理网络模块的配置参数建立所述虚拟网桥与所述物理网络模块之间的第一内部链路之后,所述方法还包括:获取所述用户场景容器对应的容器运行进程;通过所述容器运行进程将用户场景容器对应的网络命名空间连接到物理网络模块对应的网络设备目录下。
可选地,通过以下任一方式对所述用户场景容器配置容器IP地址:从预设的原始IP地址集中确定闲置IP地址,从所述闲置IP地址中确定一个容器IP地址,将所述容器IP地址分配给所述用户场景容器,其中,所述原始IP地址集包括多个原始IP地址;通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集当前IP地址,将所述当前IP地址确定为容器IP地址,将所述容器IP地址分配给所述用户场景容器。
可选地,通过以下方式获取待测系统对应的环境因子和历史流量因子:获取待测系统对应的服务器地址;对预设的浏览器插件配置所述服务器地址,通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集终端信息、用户代理信息和场景功能使用记录;根据所述终端信息和所述用户代理信息生成所述待测系统对应的环境因子,根据所述场景功能使用记录生成所述待测系统对应的历史流量因子。
可选地,生成各所述环境因子对应的用户场景容器,包括:根据所述终端信息确定用户场景容器对应的运行资源,并根据所述用户代理信息确定用户场景容器对应的环境变量;根据所述运行资源和所述环境变量建立用户场景容器。
可选地,基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为,包括:获取多个用户终端,从所述用户终端中确定一个调度机,以及一个或多个执行机;其中,各所述执行机用于根据所述连接链路运行所述用户场景容器;所述调度机用于将所述历史流量因子注入各所述执行机,触发所述执行机根据所述历史流量因子在对应的用户场景容器中回放用户行为。
可选地,基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为之后,所述方法还包括:获取参数核验规则,并从回放用户行为的用户场景容器中采集场景回放参数;基于所述参数核验规则与所述场景回放参数进行判断,根据判断结果生成测试报告。
本发明公开了一种用户场景回放系统,包括:生成模块,用于获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各所述环境因子对应的用户场景容器;网络分配模块,用于分别对各所述用户场景容器配置容器IP地址和物理网关地址,通过所述容器IP地址和所述物理网关地址建立各所述用户场景容器与所述待测系统之间的连接链路;回放模块,用于基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为。
本发明公开了一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行上述的方法。
本发明公开了一种计算机可读存储介质,其上存储有计算机程序:所述计算机程序被处理器执行时实现上述的方法。
本发明的有益效果:
通过获取到的环境因子建立对应的用户场景容器,并对各所述用户场景容器配置容器IP地址和物理网关地址,通过所述容器IP地址和所述物理网关地址建立各所述用户场景容器与所述待测系统之间的连接链路,再基于所述连接链路和所述历史流量因子在各个所述用户场景容器中回放用户行为。这样,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,进而提高测试结果的准确性。
附图说明
图1是本发明实施例中一个用户环境回放方法的流程示意图;
图2是本发明实施例中一个用户环境回放系统的结构示意图;
图3是本发明实施例中另一个用户环境回放系统的结构示意图;
图4是本发明实施例中一个电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的子样本可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
结合图1所示,本公开实施例提供了一种用户场景回放方法,包括:
步骤S101,获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各环境因子对应的用户场景容器;
步骤S102,分别对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路;
步骤S103,基于连接链路和历史流量因子,在各个用户场景容器中回放用户行为。
采用本公开实施例提供的用户场景回放方法,通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为。这样,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性。同时,容器化具有快速部署、用户操作与场景还原之间的结合程度高的优点,能够增加场景覆盖程度、提高系统兼容性、实现自动测试、提升场景测试效率,有利于对待测系统提前进行加固防范。
在一些实施例中,获取环境因子(兼容性因子)和历史流量因子(场景因子),其中,环境因子反映用户真实使用场景的终端及版本的各类信息,历史流量因子反映用户在不同时间段使用不同功能的频次信息,是用户在一段时间对系统功能使用的流量特征;基于Docker(应用容器引擎)技术,根据环境因子还原用户操作的环境变量及测试环境,即执行环境容器;对执行环境容器分配一个真实的容器IP地址,对于外部网络可以通过该容器IP地址直接访问容器,由于动态绑定容器IP地址而非虚拟IP地址加动态端口,对于被测系统,执行环境容器回放的用户行为更像一个真实用户的操作;在执行环境容器中回放历史流量因子对应的流量特征,以回放用户行为。
可选地,通过以下方式获取待测系统对应的环境因子和历史流量因子:获取待测系统对应的服务器地址;对预设的浏览器插件配置服务器地址,通过浏览器插件从服务器地址对应的实际用户场景中采集终端信息、用户代理信息和场景功能使用记录;根据终端信息和用户代理信息生成待测系统对应的环境因子,根据场景功能使用记录生成待测系统对应的历史流量因子。
在一些实施例中,浏览器插件基于Chrome浏览器、Firefox浏览器、Safari浏览器、Opera浏览器等浏览器中的至少一种建立,同时,浏览器插件可以替换为其他用于采集用户场景数据的探针应用。
可选地,终端信息包括CPU(Central Processing Unit,中央处理器)类型、内存容量等中的至少一种;用户代理信息包括OS(Operating System,操作系统)版本、浏览器版本、浏览器渲染引擎、浏览器语言、浏览器插件等中的至少一种;场景功能使用记录包括域名,协议,接口,请求方法,编码方式,端口号,重定向,保活,接口传参等中的至少一种。
在一些实施例中,定时采集环境因子和历史流量因子;通过用于数据序列化表达的文件格式(例如yaml)对环境因子进行封装,并发送至目标服务器;同时,通过用于管理扩展的文件格式(例如jmx)对历史流量因子进行封装,并发送至目标服务器。
可选地,生成各环境因子对应的用户场景容器,包括:根据终端信息确定用户场景容器对应的运行资源,并根据用户代理信息确定用户场景容器对应的环境变量;根据运行资源和环境变量建立用户场景容器。
在一些实施例中,根据yaml文件中的CPU类型、内存容量对容器所需的物理资源进行申请;根据yaml文件中的OS版本、浏览器版本、浏览器渲染引擎、浏览器语言、浏览器插件生成UA(User-Agent,用户代理)信息,将UA信息绑定到用户场景容器的环境变量中,以模拟用户的操作环境。
可选地,通过以下方式对用户场景容器配置物理网关地址:获取物理网络模块,并生成虚拟网桥和虚拟设备接口对;通过修改物理网络模块的配置参数建立虚拟网桥与物理网络模块之间的第一内部链路,并通过虚拟设备接口对建立虚拟网桥与用户场景容器之间的第二内部链路;对用户场景容器配置物理网络模块的物理网关地址。
可选地,物理网络模块包括物理网卡。
可选地,通过修改物理网络模块的配置参数建立虚拟网桥与物理网络模块之间的第一内部链路之后,方法还包括:获取用户场景容器对应的容器运行进程;通过容器运行进程将用户场景容器对应的网络命名空间连接到物理网络模块对应的网络设备目录下。
这样,将用户场景容器对应的网络命名空间连接到物理网络模块对应的网络设备目录下,便于配置用户场景容器的网络设置。
可选地,通过以下任一方式对用户场景容器配置容器IP地址:从预设的原始IP地址集中确定闲置IP地址,从闲置IP地址中确定一个容器IP地址,将容器IP地址分配给用户场景容器,其中,原始IP地址集包括多个原始IP地址;通过浏览器插件从服务器地址对应的实际用户场景中采集当前IP地址,将当前IP地址确定为容器IP地址,将容器IP地址分配给用户场景容器。
在一些实施例中,在用户场景容器对应的宿主机中建立虚拟网桥Docker-0;通过修改宿主机中物理网卡eth-0的网卡配置,将虚拟网桥Docker-0和物理网卡eth-0进行连接;基于网络none模式(例如--net=none)启动用户场景容器,这种网络模式下容器只有回环网络,没有其他网卡;通过dockerinspect获取用户场景容器对应的容器运行进程,通过容器运行进程将用户场景容器对应的网络命名空间连接到物理网卡对应的网络设备目录下,以通过ipnetns命令配置容器的网络设置;建立一对虚拟设备接口对veth-pair,将虚拟设备接口对veth-pair的一端加入虚拟网桥Docker-0,将虚拟设备接口对veth-pair的另一端加入用户场景容器;虚拟网桥从存储闲置IP地址的DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)地址池中获取可用的IP地址,为每个用户场景容器分别分配不同的容器IP地址,并为用户场景容器分配物理网卡eth-0对应的网关地址;外部网络通过容器IP地址访问对应的用户场景容器。
可选地,基于连接链路和历史流量因子,在各个用户场景容器中回放用户行为,包括:获取多个用户终端,从用户终端中确定一个调度机,以及一个或多个执行机;其中,各执行机用于根据连接链路运行用户场景容器;调度机用于将历史流量因子注入各执行机,触发执行机根据历史流量因子在对应的用户场景容器中回放用户行为。
这样,通过分布式测试系统,使得用户操作与场景还原之间的结合程度高,提高了测试灵活性,同时,通过分布式测试系统,将用户操作通过历史流量因子注入各个用户场景,能够进行多个用户场景的测试,提高了测试效率与测试自动化程度。
在一些实施例中,用户终端包括服务器、计算机、智能手机、平板电脑等中的一种或多种。
在一些实施例中,基于jmeter技术建立分布式测试系统,从多个用户终端中基于jmeter master定制调度机,基于jmeterslave定制执行机;调度机和执行机安装Docker,构建包括java、jmeter的基础镜像,并基于该基础镜像运行,同时,调度机公开与各执行机之间的调度接口;基于jmx文件中的历史流量因子指定对应的用户场景容器进行用户行为回放。
可选地,基于连接链路和历史流量因子,在各个用户场景容器中回放用户行为之后,方法还包括:获取参数核验规则,并从回放用户行为的用户场景容器中采集场景回放参数;基于参数核验规则与场景回放参数进行判断,根据判断结果生成测试报告。
可选地,场景回放参数包括接口执行状态、接口返回时间、接口返回值等参数中的至少一种,参数核验规则采用beanshell格式,参数核验规则包括指定日志、上下文、变量、属性、获取响应、校验等核验方式中的至少一种。
在一些实施例中,将多个历史流量因子分别注入到对应的用户场景容器中,以在用户场景容器按照历史流量因子对应的描述文件规则回放用户场景操作;基于参数核验规则生成测试结果;汇总各用户场景容器的测试结果,最终生成用户场景的测试报告。
采用本公开实施例提供的用户场景回放方法,通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为,具有以下优点:
第一、向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性;
第二、容器化具有快速部署、用户操作与场景还原之间的结合程度高的优点,能够增加场景覆盖程度、提高系统兼容性、实现自动测试、提升场景测试效率,有利于对待测系统提前进行加固防范;
第三、将用户场景容器对应的网络命名空间连接到物理网络模块对应的网络设备目录下,便于配置用户场景容器的网络设置;
第四、通过分布式测试系统将用户操作通过历史流量因子注入各个用户场景,使得用户操作与场景还原之间的结合程度高,提高了测试灵活性,并且能够进行多个用户场景的测试,提高了测试效率与测试自动化程度。
结合图2所示,本公开实施例提供了一种用户场景回放系统,包括生成模块201、网络分配模块202和回放模块203。其中,生成模块201用于获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各环境因子对应的用户场景容器;网络分配模块202用于分别对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路;回放模块203用于基于连接链路和历史流量因子,在各个用户场景容器中回放用户行为。
采用本公开实施例提供的用户场景回放系统,通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为。这样,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性。同时,容器化具有快速部署、用户操作与场景还原之间的结合程度高的优点,能够增加场景覆盖程度、提高系统兼容性、实现自动测试、提升场景测试效率,有利于对待测系统提前进行加固防范。
结合图3所示,本公开实施例提供了一种用户场景回放系统,包括生成模块201、网络分配模块202、回放模块203、客户端模块204、用户场景容器205、测试模块206,生成模块201包括采集单元2011和生成单元2012,测试模块206包括规则单元2061和测试单元2062。其中,采集单元2011用于在用户操作的客户端模块204中获取待测系统对应的历史流量因子以及一个或多个环境因子;生成单元2012用于生成各环境因子对应的用户场景容器205;网络分配模块202用于分别对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路;回放模块203用于基于连接链路和历史流量因子,在各个用户场景容器中回放用户行为;规则单元2061用于获取参数核验规则;测试单元2062用于从回放用户行为的用户场景容器中采集场景回放参数,基于参数核验规则与场景回放参数进行判断,根据判断结果生成测试报告。
采用本公开实施例提供的用户场景回放系统,通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为。这样,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性。同时,容器化具有快速部署、用户操作与场景还原之间的结合程度高的优点,能够增加场景覆盖程度、提高系统兼容性、实现自动测试、提升场景测试效率,有利于对待测系统提前进行加固防范。
结合图4所示,本公开实施例提供了一种电子设备,包括:处理器(processor)400及存储器(memory)401;存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以使终端执行本实施例中任一项方法。可选地,该电子设备还可以包括通信接口(Communication Interface)402和总线403。其中,处理器400、通信接口402、存储器401可以通过总线403完成相互间的通信。通信接口402可以用于信息传输。处理器400可以调用存储器401中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器401中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器401作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器400通过运行存储在存储器401中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器401可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器401可以包括高速随机存取存储器,还可以包括非说易失性存储器。
采用本公开实施例提供的电子设备,通过获取到的环境因子建立对应的用户场景容器,并对各用户场景容器配置容器IP地址和物理网关地址,通过容器IP地址和物理网关地址建立各用户场景容器与待测系统之间的连接链路,再基于连接链路和历史流量因子在各个用户场景容器中回放用户行为。这样,向用户场景容器绑定真实的IP地址,相较于分配虚拟IP地址加动态端口,用户场景回放和测试的拟人化程度更高,更真实,优化了稳定性测试效果,进而提高测试结果的准确性。同时,容器化具有快速部署、用户操作与场景还原之间的结合程度高的优点,能够增加场景覆盖程度、提高系统兼容性、实现自动测试、提升场景测试效率,有利于对待测系统提前进行加固防范。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。
本公开实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开的电子设备,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子设备执行如上方法的各个步骤。
在本实施例中,存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、图形处理器(Graphics Processing Unit,简称GPU),网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和子样本可以被包括在或替换其他实施例的部分和子样本。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的子样本、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它子样本、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以当前前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些子样本可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (8)

1.一种用户场景回放方法,其特征在于,包括:
获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各所述环境因子对应的用户场景容器;
分别对各所述用户场景容器配置容器IP地址和物理网关地址,通过所述容器IP地址和所述物理网关地址建立各所述用户场景容器与所述待测系统之间的连接链路;
基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为;
通过以下方式对所述用户场景容器配置物理网关地址,获取物理网络模块,并生成虚拟网桥和虚拟设备接口对;通过修改所述物理网络模块的配置参数建立所述虚拟网桥与所述物理网络模块之间的第一内部链路,并通过所述虚拟设备接口对建立所述虚拟网桥与所述用户场景容器之间的第二内部链路;对所述用户场景容器配置所述物理网络模块的物理网关地址;
通过以下方式获取待测系统对应的环境因子和历史流量因子,获取待测系统对应的服务器地址;对预设的浏览器插件配置所述服务器地址,通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集终端信息、用户代理信息和场景功能使用记录;根据所述终端信息和所述用户代理信息生成所述待测系统对应的环境因子,根据所述场景功能使用记录生成所述待测系统对应的历史流量因子;
通过以下任一方式对所述用户场景容器配置容器IP地址,从预设的原始IP地址集中确定闲置IP地址,从所述闲置IP地址中确定一个容器IP地址,将所述容器IP地址分配给所述用户场景容器,其中,所述原始IP地址集包括多个原始IP地址;通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集当前IP地址,将所述当前IP地址确定为容器IP地址,将所述容器IP地址分配给所述用户场景容器。
2.根据权利要求1所述的方法,其特征在于,通过修改所述物理网络模块的配置参数建立所述虚拟网桥与所述物理网络模块之间的第一内部链路之后,所述方法还包括:
获取所述用户场景容器对应的容器运行进程;
通过所述容器运行进程将用户场景容器对应的网络命名空间连接到物理网络模块对应的网络设备目录下。
3.根据权利要求1所述的方法,其特征在于,生成各所述环境因子对应的用户场景容器,包括:
根据所述终端信息确定用户场景容器对应的运行资源,并根据所述用户代理信息确定用户场景容器对应的环境变量;
根据所述运行资源和所述环境变量建立用户场景容器。
4.根据权利要求1至3任一项所述的方法,其特征在于,基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为,包括:
获取多个用户终端,从所述用户终端中确定一个调度机,以及一个或多个执行机;
其中,各所述执行机用于根据所述连接链路运行所述用户场景容器;
所述调度机用于将所述历史流量因子注入各所述执行机,触发所述执行机根据所述历史流量因子在对应的用户场景容器中回放用户行为。
5.根据权利要求4所述的方法,其特征在于,基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为之后,所述方法还包括:
获取参数核验规则,并从回放用户行为的用户场景容器中采集场景回放参数;
基于所述参数核验规则与所述场景回放参数进行判断,根据判断结果生成测试报告。
6.一种用户场景回放系统,其特征在于,包括:
生成模块,用于获取待测系统对应的历史流量因子以及一个或多个环境因子,生成各所述环境因子对应的用户场景容器;
网络分配模块,用于分别对各所述用户场景容器配置容器IP地址和物理网关地址,通过所述容器IP地址和所述物理网关地址建立各所述用户场景容器与所述待测系统之间的连接链路;
回放模块,用于基于所述连接链路和所述历史流量因子,在各个所述用户场景容器中回放用户行为;
通过以下方式对所述用户场景容器配置物理网关地址,获取物理网络模块,并生成虚拟网桥和虚拟设备接口对;通过修改所述物理网络模块的配置参数建立所述虚拟网桥与所述物理网络模块之间的第一内部链路,并通过所述虚拟设备接口对建立所述虚拟网桥与所述用户场景容器之间的第二内部链路;对所述用户场景容器配置所述物理网络模块的物理网关地址;
通过以下方式获取待测系统对应的环境因子和历史流量因子,获取待测系统对应的服务器地址;对预设的浏览器插件配置所述服务器地址,通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集终端信息、用户代理信息和场景功能使用记录;根据所述终端信息和所述用户代理信息生成所述待测系统对应的环境因子,根据所述场景功能使用记录生成所述待测系统对应的历史流量因子;
通过以下任一方式对所述用户场景容器配置容器IP地址,从预设的原始IP地址集中确定闲置IP地址,从所述闲置IP地址中确定一个容器IP地址,将所述容器IP地址分配给所述用户场景容器,其中,所述原始IP地址集包括多个原始IP地址;通过所述浏览器插件从所述服务器地址对应的实际用户场景中采集当前IP地址,将所述当前IP地址确定为容器IP地址,将所述容器IP地址分配给所述用户场景容器。
7.一种电子设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:
所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
CN202210430820.9A 2022-04-22 2022-04-22 用户环境回放方法、系统、电子设备及可读存储介质 Active CN114826994B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210430820.9A CN114826994B (zh) 2022-04-22 2022-04-22 用户环境回放方法、系统、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210430820.9A CN114826994B (zh) 2022-04-22 2022-04-22 用户环境回放方法、系统、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114826994A CN114826994A (zh) 2022-07-29
CN114826994B true CN114826994B (zh) 2023-08-29

Family

ID=82505377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210430820.9A Active CN114826994B (zh) 2022-04-22 2022-04-22 用户环境回放方法、系统、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114826994B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014036135A1 (en) * 2012-08-28 2014-03-06 VCE Company LLC Integrated computing platform deployed in an existing computing environment
WO2017020251A1 (en) * 2015-08-04 2017-02-09 Hewlett Packard Enterprise Development Lp Load testing based on network virtualization using a container
CN107566541A (zh) * 2017-08-03 2018-01-09 携程旅游信息技术(上海)有限公司 容器网络资源分配方法、系统、存储介质和电子设备
CN110572484A (zh) * 2019-11-08 2019-12-13 浩鲸云计算科技股份有限公司 一种基于容器的生产环境仿真方法
CN111542064A (zh) * 2020-04-22 2020-08-14 中国科学院计算技术研究所 一种用于无线接入网的容器编排管理系统及编排方法
CN112202624A (zh) * 2020-12-07 2021-01-08 南京赛宁信息技术有限公司 网络靶场场景编排的真实设备快速接入系统与方法
CN112769597A (zh) * 2020-12-23 2021-05-07 杭州谐云科技有限公司 一种云边协同虚拟化场景的容器网络限流方法和系统
CN113468001A (zh) * 2020-03-30 2021-10-01 腾讯科技(深圳)有限公司 一种接口处理逻辑的测试方法及装置
CN113595890A (zh) * 2021-08-06 2021-11-02 江苏方天电力技术有限公司 一种电网多业务应用场景下的物联接入网关系统
CN113992553A (zh) * 2021-10-21 2022-01-28 哈尔滨工业大学 一种基于微服务的平台化流量生成系统、方法、计算机及存储介质
CN114116491A (zh) * 2021-11-30 2022-03-01 卫宁健康科技集团股份有限公司 网页程序测试方法、装置、电子设备及存储介质
CN114189553A (zh) * 2021-11-25 2022-03-15 天津车之家软件有限公司 一种流量回放方法、系统及计算设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530747B2 (en) * 2017-01-13 2020-01-07 Citrix Systems, Inc. Systems and methods to run user space network stack inside docker container while bypassing container Linux network stack

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014036135A1 (en) * 2012-08-28 2014-03-06 VCE Company LLC Integrated computing platform deployed in an existing computing environment
WO2017020251A1 (en) * 2015-08-04 2017-02-09 Hewlett Packard Enterprise Development Lp Load testing based on network virtualization using a container
CN107566541A (zh) * 2017-08-03 2018-01-09 携程旅游信息技术(上海)有限公司 容器网络资源分配方法、系统、存储介质和电子设备
CN110572484A (zh) * 2019-11-08 2019-12-13 浩鲸云计算科技股份有限公司 一种基于容器的生产环境仿真方法
CN113468001A (zh) * 2020-03-30 2021-10-01 腾讯科技(深圳)有限公司 一种接口处理逻辑的测试方法及装置
CN111542064A (zh) * 2020-04-22 2020-08-14 中国科学院计算技术研究所 一种用于无线接入网的容器编排管理系统及编排方法
CN112202624A (zh) * 2020-12-07 2021-01-08 南京赛宁信息技术有限公司 网络靶场场景编排的真实设备快速接入系统与方法
CN112769597A (zh) * 2020-12-23 2021-05-07 杭州谐云科技有限公司 一种云边协同虚拟化场景的容器网络限流方法和系统
CN113595890A (zh) * 2021-08-06 2021-11-02 江苏方天电力技术有限公司 一种电网多业务应用场景下的物联接入网关系统
CN113992553A (zh) * 2021-10-21 2022-01-28 哈尔滨工业大学 一种基于微服务的平台化流量生成系统、方法、计算机及存储介质
CN114189553A (zh) * 2021-11-25 2022-03-15 天津车之家软件有限公司 一种流量回放方法、系统及计算设备
CN114116491A (zh) * 2021-11-30 2022-03-01 卫宁健康科技集团股份有限公司 网页程序测试方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周梦瑶 ; .用虚拟机搭建多程序软件的网络测试环境.中国新技术新产品.2018,(第06期),全文. *

Also Published As

Publication number Publication date
CN114826994A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN110399307A (zh) 一种测试方法、测试平台及目标服务器
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN109344126B (zh) 贴图的处理方法、装置、存储介质和电子装置
CN110474820B (zh) 流量回放方法、装置、电子设备
CN106411639A (zh) 访问数据的监控方法及系统
CN111651219A (zh) 一种多模块项目配置文件管理的方法及设备
CN109857391A (zh) 数据的处理方法及装置、存储介质和电子装置
CN114722092A (zh) 时序数据处理方法、系统、存储介质和电子设备
CN112306411A (zh) 数据存储方法及装置、非易失性存储介质、处理器
CN114706690A (zh) 一种Kubernetes容器共享GPU方法及系统
CN114998543A (zh) 数字孪生展厅的构建方法、系统、计算机设备及存储介质
CN110286981A (zh) 虚拟云桌面服务器的使用状态的显示方法及显示系统
CN107395663B (zh) 数据获取方法及装置
WO2015120797A1 (en) Method and apparatus for testing compatibility of 3d engine
CN114826994B (zh) 用户环境回放方法、系统、电子设备及可读存储介质
CN114253823A (zh) 分布式测试方法及相关设备
CN113127099B (zh) 服务器配置方法、装置、设备及存储介质
CN115311399A (zh) 图像渲染方法、装置、电子设备以及存储介质
CN116225690A (zh) 基于docker的内存多维数据库计算负载均衡方法及系统
CN113377652A (zh) 测试数据生成方法及装置
CN108234229A (zh) 一种网络速度测量方法及装置
CN111479140A (zh) 数据采集方法、设备、计算机设备和存储介质
CN117251297B (zh) 一种设备分配方法及电子设备和存储介质
CN108694102A (zh) 一种基于Nexus服务的数据操作方法、设备、系统和介质
CN116743589B (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