CN107133161B - 一种生成客户端性能测试脚本方法及装置 - Google Patents

一种生成客户端性能测试脚本方法及装置 Download PDF

Info

Publication number
CN107133161B
CN107133161B CN201610112256.0A CN201610112256A CN107133161B CN 107133161 B CN107133161 B CN 107133161B CN 201610112256 A CN201610112256 A CN 201610112256A CN 107133161 B CN107133161 B CN 107133161B
Authority
CN
China
Prior art keywords
atomization
client
tested
data
service message
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
CN201610112256.0A
Other languages
English (en)
Other versions
CN107133161A (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.)
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile 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 China Mobile Communications Group Co Ltd, China Mobile Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201610112256.0A priority Critical patent/CN107133161B/zh
Publication of CN107133161A publication Critical patent/CN107133161A/zh
Application granted granted Critical
Publication of CN107133161B publication Critical patent/CN107133161B/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

Abstract

本发明公开了一种生成客户端性能测试脚本方法及装置,其方法包括:创建待测试客户端与对应服务器之间的数据通信链路;通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据;解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中;将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本。本发明的测试脚本生成无需人工干预,适用于各类移动终端的APP性能测试脚本开发,降低了测试难度,此外,参数原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了测试脚本的准确性。

Description

一种生成客户端性能测试脚本方法及装置
技术领域
本发明涉及通信及计算机领域,尤其涉及一种生成客户端性能测试脚本方法及装置。
背景技术
性能测试主要是通过在大量的正常使用情况下评估系统的性能,以确保系统的正常运行,为维护系统性能找到有效可行的方法。性能测试通过模拟大量用户操作,对服务器发出请求,增加服务器负载,而靠手工测试是不实际的,所以性能测试的基本方式是利用测试软件模拟真实用户的操作行为,向服务器发起请求。目前能执行性能测试的软件工具很多,例如LoadRunner、JMeter、QALoad、E-test等。对于PC端web系统性能测试脚本开发,测试工具已提供成熟的录制回放技术,可通过录制回放页面方式自动生成脚本,降低了测试脚本开发难度。而对于移动终端的APP客户端性能测试脚本开发目前没有对应的技术实现,需要开发人员协助或具备开发技能测试人员完成测试脚本开发工作,使得APP性能测试工作难度大,门槛高。
发明内容
本发明提供了一种生成客户端性能测试脚本方法及装置,解决了移动终端APP客户端性能测试脚本开发困难,测试工作难度大的问题。
依据本发明的一个方面,提供了一种生成客户端性能测试脚本方法,包括:
创建待测试客户端与对应服务器之间的数据通信链路;
通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据;
解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中;
将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本。
其中,创建待测试客户端与对应服务器之间的数据通信链路的步骤包括:
通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到待测试客户端与对应服务器之间的数据通信链路。
其中,通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据的步骤包括:
监听无线网卡中的通信数据;
对通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据。
其中,对通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据的步骤包括:
采用过滤算法中的过滤规则表达式,对通信数据进行筛选过滤;
将未过滤掉的数据包确定为待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
其中,解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中的步骤包括:
采用字符串算法,对业务报文数据进行遍历截取,得到多个原子化参数;
将同一业务的原子化参数存储至相同的原子化参数库中;其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库。
其中,将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本的步骤包括:
根据待测试性能需求,选择对应的脚本模板,脚本模板中包括多个参数项;
检测原子化参数库中是否存在与脚本模板的参数项相对应的原子化参数;
若存在,则将对应的原子化参数填入脚本模板中;若不存在,则采用脚本模板的默认数据;
当脚本模板中的所有参数项均不为空时,生成待测试客户端的测试脚本。
依据本发明的再一个方面,还提供了一种生成客户端性能测试脚本装置,包括:
创建模块,用于创建待测试客户端与对应服务器之间的数据通信链路;
获取模块,用于通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据;
解析模块,用于解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中;
生成模块,用于将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本。
其中,创建模块包括:
创建单元,用于通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到待测试客户端与对应服务器之间的数据通信链路。
其中,获取模块包括:
监听单元,用于监听无线网卡中的通信数据;
过滤单元,用于对通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据。
其中,过滤单元包括:
筛选子单元,用于采用过滤算法中的过滤规则表达式,对通信数据进行筛选过滤;
处理子单元,用于将未过滤掉的数据包确定为待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
其中,解析模块包括:
遍历单元,用于采用字符串算法,对业务报文数据进行遍历截取,得到多个原子化参数;
存储单元,用于将同一业务的原子化参数存储至相同的原子化参数库中;其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库。
其中,生成模块包括:
选取单元,用于根据待测试性能需求,选择对应的脚本模板,脚本模板中包括多个参数项;
检测单元,用于检测原子化参数库中是否存在与脚本模板的参数项相对应的原子化参数;
处理单元,用于当原子化参数库中存在与脚本模板的参数项相对应的原子化参数时,则将对应的原子化参数填入脚本模板中;当不存在时,则采用脚本模板的默认数据;
生成单元,用于当脚本模板中的所有参数项均不为空时,生成待测试客户端的测试脚本。
本发明的实施例的有益效果是:
通过监听客户端与服务器端之间传输的业务报文数据,并对其进行解析得到对应的原子化参数,根据测试需要选择对应的脚本模板,自动生成测试脚本,无需人工干预,适用于各类移动终端的APP性能测试脚本开发,降低了测试难度,此外,参数原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了测试脚本的准确性。
附图说明
图1表示本发明的生成客户端性能测试脚本方法的流程示意图;
图2表示本发明的步骤S102的流程示意图;
图3表示本发明捕获数据包的网络结构示意图;
图4表示本发明的数据包捕获原理图;
图5表示本发明的步骤S202的流程示意图;
图6表示本发明的步骤S103的流程示意图;
图7表示本发明的步骤S104的流程示意图;
图8表示本发明的生成客户端性能测试脚本装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
如图1所示,本发明的实施例提供了一种生成客户端性能测试脚本方法,具体包括以下步骤:
步骤S101:创建待测试客户端与对应服务器之间的数据通信链路。
这里所说的数据通信链路与通常情况下的通信链路不同,通常情况下移动终端的APP客户端通过运营商数据通信网络或其他无线网络与访问的服务器进行数据通信,但难以对通信的业务报文数据进行截获和监听,为了对APP客户端性能进行测试,需要通过对其业务请求和数据进行脚本分析,这就需要截获其业务报文数据。因此,在测试APP客户端的性能时,需要创建一条特殊的数据通信链路,采用该数据通信链路能够对待测试客户端与对应访问的服务器之间的业务报文数据进行截获和监听;也就是说该数据通信链路除了用于传输待测试客户端与对应服务器之间的通信数据,还是截获和监听业务报文数据的媒介。
步骤S102:通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据。
通过该特殊的数据通信链路,采用截获或监听的方式得到待测试客户端与对应服务器之间的业务报文数据。
步骤S103:解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中。
解析业务报文数据的过程,具体是将每条业务请求中的每项参数作为一个原子属性,每条请求则为一个包含多个原子属性的元组,并通过不同的标识对每条业务请求进行区分。其中,一条业务报文数据具有唯一标识,一条业务报文数据中包括多项原子化参数,一条业务报文数据的多项原子化参数形成一个原子化参数库,其中,原子化参数库的库名可由用户自定义,亦可采用业务报文数据的标识来表示,只要保证其唯一性即可。参数的原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了后续生成的测试脚本的准确性。
步骤S104:将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本。
其中,预先创建一个脚本模板库,该脚本模板库中存储有各个客户端不同性能测试所对应的测试脚本模板,即,将对应APP客户端的业务数据填入对应的脚本模板即可自动生成测试脚本,无需人工干预。
综上,通过监听客户端与服务器端之间传输的业务报文数据,并对其进行解析得到对应的原子化参数,根据测试需要选择对应的脚本模板,自动生成测试脚本,无需人工干预,适用于各类移动终端的APP性能测试脚本开发,降低了测试难度,此外,参数原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了测试脚本的准确性。
实施例二
基于以上实施例一下面将结合具体应用场景和实现方式,对本发明的生成客户端性能测试脚本方法做进一步的说明。
具体地,步骤S101具体为:通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到待测试客户端与对应服务器之间的数据通信链路。
通过配置PC(个人计算机,Personal Computer)热点,使待测试客户端所在的移动终端连接至PC热点,是APP客户端与服务器之间的数据通信通过电脑无线网卡,即待测试客户端与对应服务器之间的数据通信链路为无线网卡。由于容易实现对无线网卡中的通信数据进行监听和捕获,因此,该方式不仅可以传输待测试客户端与对应服务器之间的通信数据,还可以作为截获和监听业务报文数据的媒介。
进一步地,如图2所示,步骤S102具体包括:
步骤S201:监听无线网卡中的通信数据。
通过监听无线网卡中的通信数据,对其数据包进行捕获。
步骤S202:对通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据。
由于无线网卡的数据包通常包含移动终端其他APP请求数据包,因为为了保证数据有效性,需要对捕获到的无线网卡中的通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据。
参照如图3所示的网络结构示意图以及如图4所示的数据包捕获原理图,具体地捕获原理如下所述:
首先,通过回调函数Network Tap在得到监听命令,然后从网络设备驱动程序处收集数据包把监听到的数据包负责传送给过滤程序。
当数据包过滤(Packet filter)监听到有数据包到达时,NDIS(网络驱动接口规范,Network Driver Interface Specification)中间驱动程序首先调用分组驱动程序,该程序将数据传递给每一个参与进程的分组过滤程序,过滤程序对到达的数据包进行过滤。
通过分组过滤器后,将数据未过滤掉的数据包提交给核心缓冲区。然后等待系统缓冲区满后,再将数据包拷贝到用户缓冲区。监听程序可以直接从用户缓冲区中读取捕获的数据包。
具体地,如图5所示,步骤S202的具体实现包括以下步骤:
步骤S501:采用过滤算法中的过滤规则表达式,对通信数据进行筛选过滤。
根据过滤算法,使用过滤规则表达式等方式进行报文过滤,自动筛选出被测APP的业务数据包。其中,过滤规则表达式可采用以下表达式:
Comparison Logical Other
Protocol String 1 String 2 Value
operator Operations expression
其中,Protocol表示:协议,若未指明是什么协议,则默认所有支持的协议,默认“Protocol”关键字;
Comparison operator表示:比较运算符,具体表示如下表1所示:
英文写法 C语言写法 含义
eq == 等于
ne != 不等于
gt > 大于
lt < 小于
ge >= 大于等于
le <= 小于等于
Logical Operations表示:逻辑运算符,具体表示如下表2所示:
Figure BDA0000930618560000071
Figure BDA0000930618560000081
Other expression表示:其他表达式。
例如:过滤http协议url中包含”10086”、Method为POST的请求的过滤规则表达式为:
http.request.url==(eq)”10086”&&(and)http.request.method==(eq)”POST”。
步骤S502:将未过滤掉的数据包确定为待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
通过以上配置PC热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到待测试客户端与对应服务器之间的数据通信链路的配置简单,易于实现;针对无线网卡的数据捕获可捕获所有网络协议下的业务数据,可保证其数据全面性,为性能测试的全面性提供数据基础;根据过滤算法,使用过滤规则表达式等方式进行报文过滤,可筛选出针对性数据包,避免其他数据包的干扰,保证其数据的准确性。
以上对步骤S101和步骤S102做出了详细介绍,进一步地,下面将结合附图和具体实现方式对步骤S103和步骤S104做进一步介绍。
具体地,如图6所示,步骤S103包括以下步骤:
步骤S601:采用字符串算法,对业务报文数据进行遍历截取,得到多个原子化参数。
报文解析方法采用字符串算法,先对报文进行遍历,对报文进行分析截取,形成独立的原子化参数。请求解析后成为以下格式:[元组名称]{参数1,参数2……}(Tag),以手机营业厅积分查询业务为例,请求报文如下:
“POST http://clientaccesss.10086.cn:9043/tcpbus/mobile HTTP/1.1
Host:clientaccesss.10086.cn:9043
Accept:*/*
Accept-Encoding:gzip
Cookie:JSESSIONID=0000q4HE7-WVKOFauNyrj-CASzD:-1
Code:801
Content-Type:text/xml;charset=utf-8
User-agent:GreenPoint.Inc
Connection:close
Content-Length:44
<ROOT>
<TEL_NO>13510006039</TEL_NO>
</ROOT>”
采用字符串算法解析后,得到如下数据:
[getBalance]{
Method:POST,
Url:http://clientaccesss.10086.cn:9043,
Host:clientaccesss.10086.cn:9043,
Accept:*/*,
Accept-Encoding:gzip,
Cookie:JSESSIONID=0000q4HE7-WVKOFauNyrj-CASzD:-1,
Code:801,
Content-Type:text/xml;charset=utf-8,
User-agent:GreenPoint.Inc,
Connection:close,
Content-Length:44,
Body:<ROOT><TEL_NO>13510006039</TEL_NO></ROOT>
}(1)
参数原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了测试脚本的准确性。
步骤S602:将同一业务的原子化参数存储至相同的原子化参数库中。
其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库。其中,一条业务报文数据具有唯一标识,一条业务报文数据中包括多项原子化参数,一条业务报文数据的多项原子化参数形成一个原子化参数库,其中,原子化参数库的库名可由用户自定义,亦可采用业务报文数据的标识来表示,只要保证其唯一性即可。参数的原子化降低了个参数之间的耦合状态,降低了各参数间的干扰,保证了后续生成的测试脚本的准确性。
进一步地,如图7所示,步骤S104具体包括:
步骤S701:根据待测试性能需求,选择对应的脚本模板,脚本模板中包括多个参数项。
其中,预先创建一个脚本模板库,该脚本模板库中存储有各个客户端不同性能测试所对应的测试脚本模板;即,分析目前主流性能测试工具的脚本语言,将脚本模板化,建立脚本模板库。值得指出的是,该脚本模板库中的脚本模板为动态的,可根据需要增加、删除或修改不同的脚本模板,以保证脚本模板的准确性和全面性。
步骤S702:检测原子化参数库中是否存在与脚本模板的参数项相对应的原子化参数。
步骤S703:若存在,则将对应的原子化参数填入脚本模板中;若不存在,则采用脚本模板的默认数据。
如果原子化参数库中存在与脚本模板的参数项相对应的原子化参数,则获取苦衷数据填入脚本模板中,如果原子化参数库中不存在与脚本模板的参数项相对应的原子化参数,则采用脚本模板的默认数据。
步骤S704:当脚本模板中的所有参数项均不为空时,生成待测试客户端的测试脚本。
即,将脚本模板中的各个参数项均填满,脚本模块匹配完成,即可自动生成待测试客户端的测试脚本。以LoadRunner某个请求函数模板为例,首先选择LoadRunner的脚本模板,选择积分查询业务,具体如下所示:
Web_custom_request(“业务名称”,
“URL=”,
“Method=”,
“Resource=0”,
“Referer=”,
“Snapshot=t2.inf”,
“Mode=HTTP”,
“EncType=”,
“RecContentType=”,
“UserAgent=”,
“Body=”,
LAST);
对应选择积分查询原子化参数库,库名则为事先定义,依次对函数中的URL、Method……等参数从库表中进行匹配,再获取数据,生成如下所示的脚本数据(业务名称参数为元组名称):
Web_custom_request(“getBalance”,
“URL=http://clientaccesss.10086.cn:9043/tcpbus/mobile”,
“Method=POST”,
“Resource=0”,
“Referer=”,
“Snapshot=t2.inf”,
“Mode=HTTP”,
“EncType=text/xml;charset=utf-8”,
“RecContentType=text/xml;charset=utf-8”,
“UserAgent=GreenPoint.Inc”,
“Body=<ROOT><TEL_NO>13510006039</TEL_NO></ROOT>”,
LAST);
若一个业务模块存在多个请求,则根据Tag标记依次生成,填入脚本中。
采用脚本模型化的方式,将主流测试工具脚本模型化,测试则不局限于特定工具,具有较高的通用性;依据模板自动生成脚本,无需人工干预,一定程度上降低了脚本开发难度,降低了技术人员测试门槛;脚本模板的可扩展性,根据需要增加、删除或修改不同的脚本模板,保证了脚本模板的准确性和全面性。
实施例三
以上实施例分别从不同应用场景对本发明的生成客户端性能测试脚本方法进行了详细介绍和说明,下面本实施例三将结合附图对其对应的装置做进一步地介绍。
如图8所示,该生成客户端性能测试脚本装置,具体包括:
创建模块81,用于创建待测试客户端与对应服务器之间的数据通信链路;
获取模块82,用于通过数据通信链路获取待测试客户端与对应服务器之间的业务报文数据;
解析模块83,用于解析业务报文数据,得到业务报文数据的原子化参数并保存至对应的原子化参数库中;
生成模块84,用于将原子化参数库中的原子化参数填入对应的脚本模板,生成待测试客户端的测试脚本。
其中,创建模块包括:
创建单元,用于通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到待测试客户端与对应服务器之间的数据通信链路。
其中,获取模块包括:
监听单元,用于监听无线网卡中的通信数据;
过滤单元,用于对通信数据进行筛选过滤,得到待测试客户端与对应服务器之间的业务报文数据。
其中,过滤单元包括:
筛选子单元,用于采用过滤算法中的过滤规则表达式,对通信数据进行筛选过滤;
处理子单元,用于将未过滤掉的数据包确定为待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
其中,解析模块包括:
遍历单元,用于采用字符串算法,对业务报文数据进行遍历截取,得到多个原子化参数;
存储单元,用于将同一业务的原子化参数存储至相同的原子化参数库中;其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库。
其中,生成模块包括:
选取单元,用于根据待测试性能需求,选择对应的脚本模板,脚本模板中包括多个参数项;
检测单元,用于检测原子化参数库中是否存在与脚本模板的参数项相对应的原子化参数;
处理单元,用于当原子化参数库中存在与脚本模板的参数项相对应的原子化参数时,则将对应的原子化参数填入脚本模板中;当不存在时,则采用脚本模板的默认数据;
生成单元,用于当脚本模板中的所有参数项均不为空时,生成待测试客户端的测试脚本。
需要说明的是,该装置是与上述生成客户端性能测试脚本方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

Claims (2)

1.一种生成客户端性能测试脚本方法,其特征在于,包括:
创建待测试客户端与对应服务器之间的数据通信链路;
通过所述数据通信链路获取所述待测试客户端与对应服务器之间的业务报文数据;
解析所述业务报文数据,得到所述业务报文数据的原子化参数并保存至对应的原子化参数库中;
将所述原子化参数库中的原子化参数填入对应的脚本模板,生成所述待测试客户端的测试脚本;
所述解析所述业务报文数据,得到所述业务报文数据的原子化参数并保存至对应的原子化参数库中的步骤包括:
采用字符串算法,对所述业务报文数据进行遍历截取,得到多个原子化参数;
将同一业务的所述原子化参数存储至相同的原子化参数库中;其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库;
将所述原子化参数库中的原子化参数填入对应的脚本模板,生成所述待测试客户端的测试脚本的步骤包括:
根据待测试性能需求,选择对应的脚本模板,所述脚本模板中包括多个参数项;
检测所述原子化参数库中是否存在与所述脚本模板的参数项相对应的原子化参数;
若存在,则将对应的原子化参数填入所述脚本模板中;若不存在,则采用所述脚本模板的默认数据;
当所述脚本模板中的所有参数项均不为空时,生成所述待测试客户端的测试脚本;
创建待测试客户端与对应服务器之间的数据通信链路的步骤包括:
通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到所述待测试客户端与对应服务器之间的数据通信链路;
通过所述数据通信链路获取所述待测试客户端与对应服务器之间的业务报文数据的步骤包括:
监听所述无线网卡中的通信数据;
对所述通信数据进行筛选过滤,得到所述待测试客户端与对应服务器之间的业务报文数据;
对所述通信数据进行筛选过滤,得到所述待测试客户端与对应服务器之间的业务报文数据的步骤包括:
采用过滤算法中的过滤规则表达式,对所述通信数据进行筛选过滤,其中,过滤规则表达式采用以下表达式:
Figure FDA0002629650620000021
其中,Protocol表示:协议,若未指明是什么协议,则默认所有支持的协议,默认“Protocol”关键字;
Comparison operator表示:比较运算符;
Logical Operations表示:逻辑运算符;
Other expression表示:其他表达式;
将未过滤掉的数据包确定为所述待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
2.一种生成客户端性能测试脚本装置,其特征在于,包括:
创建模块,用于创建待测试客户端与对应服务器之间的数据通信链路;
获取模块,用于通过所述数据通信链路获取所述待测试客户端与对应服务器之间的业务报文数据;
解析模块,用于解析所述业务报文数据,得到所述业务报文数据的原子化参数并保存至对应的原子化参数库中;
生成模块,用于将所述原子化参数库中的原子化参数填入对应的脚本模板,生成所述待测试客户端的测试脚本;
所述解析模块包括:
遍历单元,用于采用字符串算法,对所述业务报文数据进行遍历截取,得到多个原子化参数;
存储单元,用于将同一业务的所述原子化参数存储至相同的原子化参数库中;其中,一个业务具有单条或多条业务报文数据,一个业务对应一个原子化参数库;
所述生成模块包括:
选取单元,用于根据待测试性能需求,选择对应的脚本模板,所述脚本模板中包括多个参数项;
检测单元,用于检测所述原子化参数库中是否存在与所述脚本模板的参数项相对应的原子化参数;
处理单元,用于当所述原子化参数库中存在与所述脚本模板的参数项相对应的原子化参数时,则将对应的原子化参数填入所述脚本模板中;当不存在时,则采用所述脚本模板的默认数据;
生成单元,用于当所述脚本模板中的所有参数项均不为空时,生成所述待测试客户端的测试脚本;
所述创建模块包括:
创建单元,用于通过配置热点,使待测试客户端通过无线网卡与对应的服务器进行数据通信,得到所述待测试客户端与对应服务器之间的数据通信链路;
所述获取模块包括:
监听单元,用于监听所述无线网卡中的通信数据;
过滤单元,用于对所述通信数据进行筛选过滤,得到所述待测试客户端与对应服务器之间的业务报文数据;
所述过滤单元包括:
筛选子单元,用于采用过滤算法中的过滤规则表达式,对所述通信数据进行筛选过滤,其中,过滤规则表达式采用以下表达式:
Figure FDA0002629650620000031
其中,Protocol表示:协议,若未指明是什么协议,则默认所有支持的协议,默认“Protocol”关键字;
Comparison operator表示:比较运算符;
Logical Operations表示:逻辑运算符;
Other expression表示:其他表达式;
处理子单元,用于将未过滤掉的数据包确定为所述待测试客户端与对应服务器之间的业务报文数据,并存储至预设缓冲区。
CN201610112256.0A 2016-02-26 2016-02-26 一种生成客户端性能测试脚本方法及装置 Active CN107133161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610112256.0A CN107133161B (zh) 2016-02-26 2016-02-26 一种生成客户端性能测试脚本方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610112256.0A CN107133161B (zh) 2016-02-26 2016-02-26 一种生成客户端性能测试脚本方法及装置

Publications (2)

Publication Number Publication Date
CN107133161A CN107133161A (zh) 2017-09-05
CN107133161B true CN107133161B (zh) 2021-03-05

Family

ID=59721646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610112256.0A Active CN107133161B (zh) 2016-02-26 2016-02-26 一种生成客户端性能测试脚本方法及装置

Country Status (1)

Country Link
CN (1) CN107133161B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845950A (zh) * 2018-08-03 2018-11-20 平安科技(深圳)有限公司 测试装置、测试的方法及存储介质
CN109299005B (zh) * 2018-09-05 2020-07-07 北京邮电大学 测试脚本的生成方法及装置
CN109446059A (zh) * 2018-09-12 2019-03-08 北京邮电大学 测试模板脚本的生成方法及装置
CN110287099B (zh) * 2019-05-21 2023-11-21 平安银行股份有限公司 简化Loadrunner性能测试方法、服务器及计算机可读存储介质
CN112241362A (zh) * 2019-07-19 2021-01-19 腾讯科技(深圳)有限公司 一种测试方法、装置、服务器及存储介质
CN110427331B (zh) * 2019-09-03 2021-06-22 四川长虹电器股份有限公司 基于接口测试工具自动生成性能测试脚本的方法
CN111239626B (zh) * 2020-01-21 2022-06-14 福建时代星云科技有限公司 一种自动生成汽车电池快速检测方案的方法
CN111352850B (zh) * 2020-03-31 2023-04-25 建信金融科技有限责任公司 基于非功能测试的在线编辑方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636254A (zh) * 2015-01-16 2015-05-20 北京创毅视讯科技有限公司 生成测试用例的方法和装置、测试方法和设备
US9170926B1 (en) * 2011-05-08 2015-10-27 Panaya Ltd. Generating a configuration test based on configuration tests of other organizations
CN105205073A (zh) * 2014-06-25 2015-12-30 上海大摩网络科技有限公司 一种基于传输层的网络广告过滤方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627843B2 (en) * 2005-03-23 2009-12-01 International Business Machines Corporation Dynamically interleaving randomly generated test-cases for functional verification
CN100520732C (zh) * 2006-12-26 2009-07-29 中国电信股份有限公司 性能测试脚本生成方法
US7926114B2 (en) * 2007-05-31 2011-04-12 Microsoft Corporation Testing software applications with schema-based fuzzing
CN104780074B (zh) * 2015-02-02 2018-04-06 广州天源迪科信息技术有限公司 多协议智能消息仿真系统及方法
CN104679658B (zh) * 2015-03-17 2018-11-13 百度在线网络技术(北京)有限公司 Web页面的测试方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170926B1 (en) * 2011-05-08 2015-10-27 Panaya Ltd. Generating a configuration test based on configuration tests of other organizations
CN105205073A (zh) * 2014-06-25 2015-12-30 上海大摩网络科技有限公司 一种基于传输层的网络广告过滤方法及系统
CN104636254A (zh) * 2015-01-16 2015-05-20 北京创毅视讯科技有限公司 生成测试用例的方法和装置、测试方法和设备

Also Published As

Publication number Publication date
CN107133161A (zh) 2017-09-05

Similar Documents

Publication Publication Date Title
CN107133161B (zh) 一种生成客户端性能测试脚本方法及装置
WO2020119434A1 (zh) 接口数据处理方法、自动化测试方法、装置、设备和介质
US10839038B2 (en) Generating configuration information for obtaining web resources
US8667147B2 (en) Monitoring related content requests
CN102446222B (zh) 一种网页内容预加载方法、装置及系统
US10984013B1 (en) Tokenized event collector
CN112714047B (zh) 基于工控协议流量的测试方法、装置、设备及存储介质
US20070263541A1 (en) Automatic correlation of service level agreement and operating level agreement
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN104394211A (zh) 一种基于Hadoop用户行为分析系统设计与实现方法
CN103248641A (zh) 网络下载方法、装置及系统
CN108174405A (zh) 产品测试方法及设备
CN106776318A (zh) 一种测试脚本录制方法及系统
CN105068876A (zh) 基于分布式部署真机采集手机app性能数据的方法
CN112732572A (zh) 服务的测试方法、装置及系统、存储介质、电子装置
CN104834588A (zh) 检测常驻式跨站脚本漏洞的方法和装置
CN112445700A (zh) 测试方法和装置
CN103885878A (zh) 一种生成浏览器测试脚本的方法及装置
CN107579879A (zh) 一种网络仿真测试方法、仿真服务器以及存储介质
WO2017211302A1 (zh) 应用程序的开发方法、装置及系统
CN104570967B (zh) 基于Android系统的远程控制方法及系统
CN107888451A (zh) 一种Web服务器的测试方法及装置
CN113010411A (zh) 基于mock服务返回数据的方法、系统和模拟测试方法
CN103885877A (zh) 一种http的模拟浏览器测试脚本生成方法及装置
CN107104997A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518048 Shenzhen Riverside Road, Futian District, Shenzhen, Guangdong, 1141

Applicant after: Medium shift information technology Co., Ltd.

Address before: 518048 Guangdong province Futian District Shenzhen City Binhe Road, No. 9023, building 11, 41 layers of the country through the

Applicant before: China Mobile (Shenzhen) Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200327

Address after: Room 1006, building 16, yard 16, Yingcai North Third Street, future science city, Changping District, Beijing 100000

Applicant after: China Mobile Information Technology Co., Ltd

Applicant after: CHINA MOBILE COMMUNICATIONS GROUP Co.,Ltd.

Address before: 518048 Shenzhen Riverside Road, Futian District, Shenzhen, Guangdong, 1141

Applicant before: CHINA MOBILE INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant