CN113836003A - 位置实体提取测试方法和JMeter性能测试设备 - Google Patents
位置实体提取测试方法和JMeter性能测试设备 Download PDFInfo
- Publication number
- CN113836003A CN113836003A CN202111002526.XA CN202111002526A CN113836003A CN 113836003 A CN113836003 A CN 113836003A CN 202111002526 A CN202111002526 A CN 202111002526A CN 113836003 A CN113836003 A CN 113836003A
- Authority
- CN
- China
- Prior art keywords
- position entity
- extraction
- entity
- result data
- jmeter
- 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
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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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
一种位置实体提取测试方法和JMeter性能测试设备,JMeter获取多个位置实体语句;向服务器发送包括各位置实体语句的JMeter请求指令,以使服务器通过预设提取策略对各位置实体语句进行分词处理,得到返回结果数据;根据预设正则表达式,通过JMeter多线程并发提取框架得到提取结果数据;若提取结果数据与对应的各位置实体语句不一致,则向服务器发送反馈信息,以使服务器根据调整后的预设提取策略返回执行分词处理,直至提取结果数据与对应的各位置实体语句均一致。JMeter可以一次性得到大量测试用例,提高了位置实体信息的提取速率,并且通过对大量测试用例的自动化测试,可以提高位置实体信息的提取准确率。
Description
技术领域
本发明涉及自动化测试技术领域,具体涉及一种位置实体提取测试方法和JMeter性能测试设备。
背景技术
随着智慧城市建设的发展,各个政府部门信息化建设进行的如火如荼,数据资源也是越来越庞大,政府部门为了分析汇总工单中的位置实体信息,会对这些包括位置实体信息的语句进行信息检索与关键词提取。具体的,在使用Postman接口测试工具提取位置实体关键词之后,通过人工比对这些位置实体关键词的提取是否正确。但是,通过人工比对提取结果十分耗时耗力,并且通过该方法提取位置实体关键词的效率和准确度较低。
发明内容
本发明实施例提供一种位置实体提取测试方法和JMeter性能测试设备,用以提高位置实体信息的提取速率和准确率。
根据第一方面,一种实施例中提供一种位置实体提取测试方法,应用于JMeter性能测试设备,所述方法包括:
获取多个待提取的位置实体语句,并将各所述位置实体语句逐行写入表格文件的预设列中,每个所述位置实体语句对应唯一标识编号;
向服务器发送JMeter请求指令,所述JMeter请求指令包括各所述位置实体语句,以使所述服务器通过预设提取策略,对各所述位置实体语句进行分词处理,得到返回结果数据,所述返回结果数据包括各所述位置实体语句对应的唯一标识编号和多个位置实体信息;
接收所述服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,所述提取结果数据包括各所述位置实体语句对应的提取后的多个所述位置实体信息,并分别将提取后的各所述位置实体信息写入所述表格文件的其他列中,得到多个测试用例,每个所述测试用例包括各所述位置实体语句、各所述位置实体语句对应的唯一标识编号和各所述位置实体语句对应的提取后的各所述位置实体信息;
逐行读取各所述测试用例,比较所述提取结果数据与对应的各所述位置实体语句,若所述提取结果数据与对应的所述位置实体语句不一致,则确定提取错误,并向所述服务器发送反馈信息,所述反馈信息用于提示所述服务器调整所述预设提取策略,以使所述服务器根据调整后的所述预设提取策略,返回执行对各所述位置实体语句进行分词处理,直至所述提取结果数据与对应的各所述位置实体语句均一致。
可选的,在比较所述提取结果数据与对应的各所述位置实体语句之后,所述方法还包括:
统计提取正确的所述测试用例的数量;
根据提取正确的所述测试用例的数量和所述测试用例的总数量,计算得到提取准确率并展示所述提取准确率。
可选的,所述位置实体信息包括:省、市、区、街道、路、街、巷、社区、城镇和村庄。
可选的,所述表格文件为逗号分隔值CSV文件。
可选的,所述JMeter请求指令包括所述返回结果数据的预设数据格式。
可选的,所述预设数据格式为json格式。
根据第二方面,一种实施例中提供一种位置实体提取测试方法,应用于服务器,所述方法包括:
接收JMeter发送的JMeter请求指令,其中,所述JMeter请求指令包括多个待提取的位置实体语句,每个所述位置实体语句对应唯一标识编号,各所述位置实体语句存储于表格文件的预设列中;
通过预设提取策略,对各所述位置实体语句进行分词处理,得到返回结果数据,其中,所述返回结果数据包括各所述位置实体语句对应的唯一标识编号和多个位置实体信息;
向所述JMeter发送所述返回结果数据,以使所述JMeter接收所述服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,所述提取结果数据包括各所述位置实体语句对应的提取后的多个所述位置实体信息,并分别将提取后的各所述位置实体信息写入所述表格文件的其他列中,得到多个测试用例,每个所述测试用例包括各所述位置实体语句、各所述位置实体语句对应的唯一标识编号和各所述位置实体语句对应的提取后的各所述位置实体信息,逐行读取各所述测试用例,比较所述提取结果数据与对应的各所述位置实体语句,若所述提取结果数据与对应的所述位置实体语句不一致,则确定提取错误并向所述服务器发送反馈信息;
接收所述JMeter发送的反馈信息,根据所述反馈信息,调整所述预设提取策略,并根据调整后的所述预设提取策略,返回执行对各所述位置实体语句进行分词处理,直至所述提取结果数据与对应的各所述位置实体语句均一致。
可选的,所述位置实体信息包括:省、市、区、街道、路、街、巷、社区、城镇和村庄。
可选的,所述表格文件为逗号分隔值CSV文件。
可选的,所述JMeter请求指令包括所述返回结果数据的预设数据格式。
可选的,所述预设数据格式为json格式。
根据第三方面,一种实施例中提供一种JMeter性能测试设备,包括:存储器,用于存储程序;处理器,用于通过执行所述存储器存储的程序以实现上述第一方面中任一项所述的位置实体提取测试方法。
根据第四方面,一种实施例中提供一种服务器,包括:存储器,用于存储程序;处理器,用于通过执行所述存储器存储的程序以实现上述第二方面中任一项所述的位置实体提取测试方法。
根据第五方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述第一方面和第二方面中任一项所述的位置实体提取测试方法。
本发明实施例提供一种位置实体提取测试方法和JMeter性能测试设备,通过JMeter获取多个待提取的位置实体语句,并将各位置实体语句逐行写入表格文件的预设列中,每个位置实体语句对应唯一标识编号;向服务器发送JMeter请求指令,JMeter请求指令包括各位置实体语句,以使服务器通过预设提取策略,对各位置实体语句进行分词处理,得到返回结果数据,返回结果数据包括各位置实体语句对应的唯一标识编号和多个位置实体信息;接收服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,提取结果数据包括各位置实体语句对应的提取后的多个位置实体信息,并分别将提取后的各位置实体信息写入表格文件的其他列中,得到多个测试用例,每个测试用例包括各位置实体语句、各位置实体语句对应的唯一标识编号和各位置实体语句对应的提取后的各位置实体信息;逐行读取各测试用例,比较提取结果数据与对应的各位置实体语句,若提取结果数据与对应的位置实体语句不一致,则确定提取错误,并向服务器发送反馈信息,反馈信息用于提示服务器调整预设提取策略,以使服务器根据调整后的预设提取策略,返回执行对各位置实体语句进行分词处理,直至提取结果数据与对应的各位置实体语句均一致。通过上述方法,无需大量的分析人员通过耗费大量的时间手工标注测试以及验证提取结果的正确性,并且JMeter可以一次性得到大量的位置实体语句的提取结果即测试用例,从而提高了位置实体信息的提取速率,并且通过对大量测试用例的自动化测试,可以逐步提高位置实体信息的提取准确率,最终实现100%的提取准确率。
附图说明
图1为本发明实施例提供的一种位置实体提取测试方法的实施例一的流程示意图;
图2为本发明实施例提供的一种位置实体提取测试方法的实施例二的流程示意图;
图3为本发明实施例提供的一种位置实体提取测试方法的实施例三的流程示意图;
图4为本发明实施例提供的一种位置实体提取测试方法的实施例四的流程示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
现有技术中,在使用Postman接口测试工具提取位置实体关键词之后,通过人工比对这些位置实体关键词的提取是否正确。但是,通过人工比对提取结果十分耗时耗力,并且通过该方法提取位置实体关键词的效率和准确度较低。为了提高位置实体信息的提取速率和准确率,本发明实施例提供了一种位置实体提取测试方法和JMeter性能测试设备,以下分别进行详细说明。
图1为本发明实施例提供的一种位置实体提取测试方法的实施例一的流程示意图,如图1所示,本实施例提供的位置实体提取测试方法可以包括:
S101,获取多个待提取的位置实体语句,并将各位置实体语句逐行写入表格文件的预设列中。
本发明实施例的执行主体为JMeter性能测试设备。JMeter是Apache组织开发的基于Java(一种计算机编程语言)的压力测试工具,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。例如,Jmeter可以对静态资源和动态资源的性能进行测试,它也可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。JMeter可以在多种场景下进行性能测试。
每个位置实体语句均对应唯一标识编号,用于区分不同的位置实体语句。具体实现时,表格文件可以为逗号分隔值(Comma-Separated Values,CSV)文件,也可以为Excel等表格类文件。例如,位置实体语句1可以为:秦淮区光华路街道四方新村;位置实体语句2可以为:江苏省南京市秦淮区光华门街道中和桥路街道街;位置实体语句3可以为:秦淮区洪武路和淮海路交叉口;位置实体语句4可以为:秦淮区胭脂巷。具体实现时,可以在表格文件的第一列写入各位置实体语句对应的唯一标识编号,例如,可以配置数据1,2…N,1,2…N为N个位置实体语句分别对应的唯一标识编号,同时,也可以为表格文件的第一列设置标题头为caseno;可以在表格文件的第二列写入各位置实体语句,并且为表格文件的第二列设置标题头为rqstaddress。
S102,向服务器发送JMeter请求指令,JMeter请求指令包括各位置实体语句。
通过上述S102,可以使服务器在接收并读取JMeter请求指令后,通过预设提取策略,对各位置实体语句进行分词处理,得到返回结果数据。其中,返回结果数据可以包括各位置实体语句对应的唯一标识编号和多个位置实体信息。具体的,位置实体信息可以包括:省、市、区、街道、路、街、巷、社区、城镇和村庄。
举例说明,JMeter请求指令中携带有位置实体语句2为“江苏省南京市秦淮区光华门街道中和桥路街道街”,那么返回结果数据中可以包括位置实体语句的唯一标识编号以及多个位置实体信息:code(唯一标识编号):2,Province(省):江苏省,city(市):南京市,County(区):秦淮区,Street_road(街道):光华门街道,road(路):中和桥路,Street(街):街道街。
可选的,上述JMeter请求指令还可以包括返回结果数据的预设数据格式,例如预设数据格式可以为json(一种轻量级的数据交换格式)格式。
S103,接收服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据。
其中,上述提取结果数据可以包括各位置实体语句对应的提取后的多个位置实体信息。具体实现时,可以通过多个预设正则表达式,分别提取出各位置实体语句对应的多个位置实体信息。例如,针对一个位置实体语句,返回结果数据包括该位置实体语句的唯一标识编号以及多个位置实体信息:code:2,Province:江苏省,city:南京市,County:秦淮区,Street_road:光华门街道,road:中和桥路,Street:街道街,可以通过六个线程并发提取省、市、区、街道、路和街的位置实体信息,即可以得到该位置实体语句对应的各个位置实体信息分别为:省-江苏省,市-南京市,区-秦淮区,街道-光华门街道,路-中和桥路,街-街道街。
S104,分别将提取后的各位置实体信息写入表格文件的其他列中,得到多个测试用例。
每个测试用例包括各位置实体语句、各位置实体语句对应的唯一标识编号和各位置实体语句对应的提取后的各位置实体信息。例如,如下述表1所示,在表格文件的第一列写入各位置实体语句对应的唯一标识编号,第一列的标题头为caseno;在表格文件的第二列写入各位置实体语句,第二列的标题头为rqstaddress;在表格文件的第三列写入位置实体语句对应的提取后的“省”位置实体信息,第三列的标题头为Result1;在表格文件的第四列写入位置实体语句对应的提取后的“市”位置实体信息,第四列的标题头为Result2;在表格文件的第五列写入位置实体语句对应的提取后的“区”位置实体信息,第五列的标题头为Result3;在表格文件的第六列写入位置实体语句对应的提取后的“街道”位置实体信息,第六列的标题头为Result4;在表格文件的第七列写入位置实体语句对应的提取后的“路”位置实体信息,第七列的标题头为Result5;在表格文件的第八列写入位置实体语句对应的提取后的“街”位置实体信息,第八列的标题头为Result6。表1只是列举了八个测试用例作为示意,实际应用中会得到很多测试用例,例如5000个测试用例,或者10000个测试用例。
表1
S105,逐行读取各测试用例,比较提取结果数据与对应的各位置实体语句,若提取结果数据与对应的位置实体语句不一致,则确定提取错误,并向服务器发送反馈信息。
例如,比较提取结果数据与对应的各位置实体语句,即比较Result1-Result6各列数据与rqstaddress列数据所包括的各个位置实体信息是否一致,若一致,则确定提取正确;若不一致,则确定提取错误。例如,若测试用例9中,第二列的位置实体语句为:西安市雁塔区唐延南路,第三至八列的数据分别为:null,null,雁塔区,null,唐延南路,null,通过比较,确认第四列提取数据错误。在本发明实施例中,在每一个测试用例中,只要存在一个位置实体信息提取错误,则确定该测试用例提取错误。
上述反馈信息可以用于提示服务器调整预设提取策略,以使服务器根据调整后的预设提取策略,返回执行对各位置实体语句进行分词处理,直至提取结果数据与对应的各位置实体语句均一致。
本发明实施例提供的位置实体提取测试方法,通过JMeter获取多个待提取的位置实体语句,并将各位置实体语句逐行写入表格文件的预设列中,每个位置实体语句对应唯一标识编号;向服务器发送JMeter请求指令,JMeter请求指令包括各位置实体语句,以使服务器通过预设提取策略,对各位置实体语句进行分词处理,得到返回结果数据,返回结果数据包括各位置实体语句对应的唯一标识编号和多个位置实体信息;接收服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,提取结果数据包括各位置实体语句对应的提取后的多个位置实体信息,并分别将提取后的各位置实体信息写入表格文件的其他列中,得到多个测试用例,每个测试用例包括各位置实体语句、各位置实体语句对应的唯一标识编号和各位置实体语句对应的提取后的各位置实体信息;逐行读取各测试用例,比较提取结果数据与对应的各位置实体语句,若提取结果数据与对应的位置实体语句不一致,则确定提取错误,并向服务器发送反馈信息,反馈信息用于提示服务器调整预设提取策略,以使服务器根据调整后的预设提取策略,返回执行对各位置实体语句进行分词处理,直至提取结果数据与对应的各位置实体语句均一致。通过上述方法,无需大量的分析人员通过耗费大量的时间手工标注测试以及验证提取结果的正确性,并且JMeter可以一次性得到大量的位置实体语句的提取结果即测试用例,从而提高了位置实体信息的提取速率,并且通过对大量测试用例的自动化测试,可以逐步提高位置实体信息的提取准确率,最终实现100%的提取准确率。
作为一种可以实现的方式,在上述实施例一的基础上,在比较提取结果数据与对应的各位置实体语句之后,上述位置实体提取测试方法还可以包括:统计提取正确的测试用例的数量;根据提取正确的测试用例的数量和测试用例的总数量,计算得到提取准确率并展示提取准确率,使得分析人员可以直观地看到提取准确率。
图2为本发明实施例提供的一种位置实体提取测试方法的实施例二的流程示意图,本发明实施例的执行主体为服务器,如图2所示,本实施例提供的位置实体提取测试方法可以包括:
S201,接收JMeter发送的JMeter请求指令。
其中,JMeter请求指令可以包括多个待提取的位置实体语句。每个位置实体语句对应唯一标识编号,各位置实体语句存储于表格文件的预设列中。
S202,通过预设提取策略,对各位置实体语句进行分词处理,得到返回结果数据。
其中,返回结果数据可以包括各位置实体语句对应的唯一标识编号和多个位置实体信息。
S203,向JMeter发送返回结果数据。
当JMeter接收到服务器发送的返回结果数据之后,可以根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,提取结果数据包括各位置实体语句对应的提取后的多个位置实体信息,并分别将提取后的各位置实体信息写入表格文件的其他列中,得到多个测试用例,每个测试用例包括各位置实体语句、各位置实体语句对应的唯一标识编号和各位置实体语句对应的提取后的各位置实体信息,逐行读取各测试用例,比较提取结果数据与对应的各位置实体语句,若提取结果数据与对应的位置实体语句不一致,则确定提取错误并向服务器发送反馈信息。
S204,接收JMeter发送的反馈信息,根据反馈信息,调整预设提取策略,并根据调整后的预设提取策略,返回执行对各位置实体语句进行分词处理,直至提取结果数据与对应的各位置实体语句均一致。
本发明实施例提供的位置实体提取测试方法,通过接收JMeter发送的JMeter请求指令,其中,JMeter请求指令包括多个待提取的位置实体语句,每个位置实体语句对应唯一标识编号,各位置实体语句存储于表格文件的预设列中;通过预设提取策略,对各位置实体语句进行分词处理,得到返回结果数据,其中,返回结果数据包括各位置实体语句对应的唯一标识编号和多个位置实体信息;向JMeter发送返回结果数据,以使JMeter接收服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,提取结果数据包括各位置实体语句对应的提取后的多个位置实体信息,并分别将提取后的各位置实体信息写入表格文件的其他列中,得到多个测试用例,每个测试用例包括各位置实体语句、各位置实体语句对应的唯一标识编号和各位置实体语句对应的提取后的各位置实体信息,逐行读取各测试用例,比较提取结果数据与对应的各位置实体语句,若提取结果数据与对应的位置实体语句不一致,则确定提取错误并向服务器发送反馈信息;接收JMeter发送的反馈信息,根据反馈信息,调整预设提取策略,并根据调整后的预设提取策略,返回执行对各位置实体语句进行分词处理,直至提取结果数据与对应的各位置实体语句均一致。通过上述方法,无需大量的分析人员通过耗费大量的时间手工标注测试以及验证提取结果的正确性,并且JMeter可以一次性得到大量的位置实体语句的提取结果即测试用例,从而提高了位置实体信息的提取速率,并且通过对大量测试用例的自动化测试,可以逐步提高位置实体信息的提取准确率,最终实现100%的提取准确率。
图3为本发明实施例提供的一种位置实体提取测试方法的实施例三的流程示意图,如图3所示,本实施例提供的位置实体提取测试方法可以包括:
S301,JMeter从数据库获取多个位置实体语句,并将多个位置实体语句写入CSV文件。
具体的,将CSV文件第一列的标题头设置为caseno,并配置数据为1,2…N,编写结构化查询语言(Structured Query Language,SQL),从数据库读取欲提取的多个位置实体语句,导入至CSV文件的第二列,在获取到一定量的数据之后,设置第二列的标题头为rqstaddress。
S302,服务器定义位置实体提取工具中的各种位置实体。
具体实现时,通过安装于服务器的位置实体提取工具进行位置实体信息的提取。在提取之前,可以在该位置实体提取工具中定义一个json格式的字符串,把需要提取的位置实体,例如省、市、区、街道、路、街、巷、社区等分别定义为none,这样提取出来的位置实体就可以很好的按列排序,从而逐个进行比对。
S303,JMeter自动批量读取、提取并输出提取结果数据。
具体的,首先配置JMeter元件,例如设置超文本传输协议(Hyper Text TransferProtocol,HTTP)请求名称为变量${caseno};使用JMeter逐行读取CSV文件第2列中的位置实体语句;采用post请求方式,请求消息体数据为json格式,设置变量${rqstaddress};接收服务器返回的提取后的位置实体分词结果数据(即上文中的返回结果数据),编写正则表达式,筛选返回的位置实体分词结果数据,再编写后置处理程序代码把匹配完成的位置实体数据(即上文中的提取结果数据)输出至指定的CSV文件的第三列至第N列。
S304,JMeter制作测试用例样本数据。
具体的,将CSV文件的第三列以及第三列之后的列的标题头设置为Result1,Result2…ResultN。将提取结果数据例如省、市、区、街道等位置实体信息合并至CSV文件的第三列之后,每一行要与之前的位置实体语句对应,从而制作出测试用例样本数据。采用本发明实施例提供的方法,可以快速制作大批量的测试样本数据。
可选的,在上述表1所示的第八列的后面,还可以继续添加Result7-“巷”位置实体信息、Result8-“社区”位置实体信息、Result9-“城镇”位置实体信息、Result10-“村庄”位置实体信息。
S305,JMeter运行各测试用例样本数据,得到提取准确率。
具体的,编写响应断言条件判断提取结果是否正确,使用JMeter读取合并之后的CSV文件中的各测试用例样本数据,JMeter逐行读取并根据设置的匹配条件,将位置实体分词结果数据中的所有提取字段与CSV文件中的Result对应列中的字段逐个进行比对。例如提取省市区进行比对判断,位置实体分词结果数据中的返回字段为province:江苏省,city:南京市,county:江宁区,分别会和CSV文件中的Result1:江苏省,Result2:南京市,reslut3:江宁区进行比对,判断提取是否正确,若一致,则确定提取正确。假如位置实体分词结果数据中的city为深圳市,则确定提取错误。其中,每一行为一个测试用例,如果该行有任意一个字段提取错误,即确定该测试用例提取不正确。最后计算测试用例提取的准确率,假设有1000行数据,即1000个测试用例,其中,10行存在提取错误,那么提取正确率为99%。具体实现时,可以使用JMeter监听器汇总报告及通过表格文件查看结果,从而快速地输出提取准确率及提取是否正确的结果。
S306,JMeter判断提取准确率是否为100%。
若是,则执行S307;若否,则执行S308。
S307,得到全部提取正确的CSV文件。
S308,服务器调整位置实体提取工具的提取算法。
具体的,如果提取准确率没有达到100%,可以查看提取错误的结果。假如是批量的“社区”位置提取被提取到了“路”位置,可以修改提取算法中的匹配位置,将之前“路”位置的提取修改提取至“社区”字符段;如果是一些位置语句中出现了特殊的字符串,需要对这些字符串做特殊处理,可以把这些特殊字符的位置名字提取到相应位置;如果是个别不规范的地址“巷”出现在了“街”的前面,导致提取不到“街”或者“巷”,可以修改提取算法,使得既可以先匹配“巷”再匹配“街”,又可以先匹配“街”再匹配“巷”。在调整位置实体提取工具的提取算法之后,再次提取位置实体信息,并将更新的提取结果数据合并至CSV文件,再运行更新后的测试用例样本数据,计算提取准确率,直至提取准确率达到100%,此时,所有提取结果全部正确。
图4为本发明实施例提供的一种位置实体提取测试方法的实施例四的流程示意图,如图4所示,本实施例提供的位置实体提取测试方法可以包括:
S4001,JMeter从数据库获取多个位置实体语句,并将多个位置实体语句写入CSV文件。
具体实现时,位置实体语句一般会存储在数据库中,以MySQL(一种关系型数据库管理系统)为例,首先从MySQL中读取需要的指定列的位置实体语句,数据查询语句可以为:SELECT rqsttime,rowguid,rqstaddress,RQSTTITLE FROM hot_wire WHERE RQSTTIME>'2021-01-01 00-00-00'。其中,rqsttime可以为某个事件的录入时间,rowguid为某个事件的ID标识,rqstaddress为某个事件所包括的位置实体语句,RQSTTITLE为某个事件的标题。读取相应足够量的数据,然后导出这些数据至hotaddress.csv文件。并且,将rqstaddress一列的位置实体语句保存至hotaddress.csv文件的第2列,标题头定义为“rqstaddress”,hotaddress.csv文件的第一列题头配置为“caseno”,依次标注为1,2…N。
S4002,服务器设置位置实体提取工具。
具体实现时,在位置实体提取工具中定义一个json格式的字符串,把需要提取的位置实体,例如省、市、区、街道、路、街、巷、社区等分别定义为none。
S4003,在JMeter中,新建测试计划为位置实体提取准确率测试,添加线程组为位置实体提取测试,并设置循环次数。
具体的,线程租添加之后需要注意的是在线程属性里边需要设置循环次数,该循环次数即为测试用例样本数据的行数,这样就会逐行读取CSV文件。
S4004,在JMeter中,添加配置元件HTTP请求默认值,配置协议,程序运行的服务器IP,端口号及接口。
具体的,配置内容编码为8位元(Universal Character Set/UnicodeTransformation Format,UTF-8),从而避免无法正确读取CSV文件内容问题的出现。
S4005,在JMeter中,添加配置元件HTTP信息头管理器,在信息头管理器中添加返回结果数据的预设数据格式为json。
具体的,在信息头管理器中添加信息头Content-Type为application/json。
S4006,在JMeter中,添加配置元件CSV数据文件设置,设置CSV数据文件,添加之前的CSV文件。
具体的,忽略首行设置为False,需要根据首行的标题头设置为该列的提取变量名称,分隔符配置为英文逗号,允许带引号,线程共享模式为所有线程可共享。
S4007,在位置实体提取测试线程组中添加HTTP请求。
具体的,将HTTP请求的名称命名为变量${caseno},即为CSV文件第一列的标题头,这样才会逐行去读取CSV文件中的内容。
其中,消息体数据可以采用json格式:
{
"address":"${rqstaddress}"
}
json格式中的地址也需要采用变量,定义为CSV文件第2列的标题头,HTTP请求方式为post方式。
S4008,在JMeter中,添加后置处理程序中的正则表达式提取器。
具体的,将需要检查的响应字段设置为主体,引用名称配置为data,正则表达式配置为"data":(.+),模板配置为$1$,匹配数字配置为1。
S4009,在JMeter中,添加后置处理程序中的BeanShell后置处理程序。
例如,可以在个人计算机(Personal Computer,PC)的E盘新建address.csv文件,编写代码分别将提取的位置实体信息逐行逐列的输出至address.csv文件。这里的编写代码可以首先创建一个文件流,写入本地磁盘中的一个CSV文件,创建一个缓冲区,获取data(返回结果数据)中的数据写入该文件,再关闭该文件,关闭文件流。
S4010,在JMeter中,运行线程租。
例如,可以查看E盘中的address.csv文件,得到按列提取到的位置实体信息,把这些位置实体信息全部复制到hotaddress.csv文件中第2行开始的第3列后,并依次设置第3列,第4列…第10列的题头为Result1,Result2…Result8。
S4011,在JMeter中,添加配置元件响应断言,设置测试字段为响应文本。
具体的,测试模式为${Result1},${Result2}…${Result8}。
S4012,在提取结果完成之后,禁用配置元件正则表达式提取器、BeanShell后置处理程序,添加监听器查看结果树、汇总报告、通过表格文件查看结果。
S4013,运行线程组,在汇总报告中得到提取准确率。
S4014,查看提取错误的测试用例样本数据,并修改位置实体提取工具的提取算法。
S4015,修改位置实体提取工具的提取算法之后,禁用断言判断条件,再次调用更新的位置实体提取工具,进行再次提取。
即,对上述hotaddress.csv文件进行再次提取。重复执行上述S4008-S4014,直至提取准确率达到100%,保证所有提取结果全部正确。
另外,相应于上述实施例所提供的位置实体提取测试方法,本发明实施例还提供了一种JMeter性能测试设备,该JMeter性能测试设备可以包括:存储器,用于存储程序;处理器,用于通过执行存储器存储的程序以实现本发明实施例提供的执行主体为JMeter性能测试设备的位置实体提取测试方法的所有步骤。
另外,相应于上述实施例所提供的位置实体提取测试方法,本发明实施例还提供了一种服务器,该服务器可以包括:存储器,用于存储程序;处理器,用于通过执行存储器存储的程序以实现本发明实施例提供的执行主体为服务器的位置实体提取测试方法的所有步骤。
另外,相应于上述实施例所提供的位置实体提取测试方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时实现本发明实施例的位置实体提取测试方法的所有步骤。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (10)
1.一种位置实体提取测试方法,其特征在于,应用于JMeter性能测试设备,所述方法包括:
获取多个待提取的位置实体语句,并将各所述位置实体语句逐行写入表格文件的预设列中,每个所述位置实体语句对应唯一标识编号;
向服务器发送JMeter请求指令,所述JMeter请求指令包括各所述位置实体语句,以使所述服务器通过预设提取策略,对各所述位置实体语句进行分词处理,得到返回结果数据,所述返回结果数据包括各所述位置实体语句对应的唯一标识编号和多个位置实体信息;
接收所述服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,所述提取结果数据包括各所述位置实体语句对应的提取后的多个所述位置实体信息,并分别将提取后的各所述位置实体信息写入所述表格文件的其他列中,得到多个测试用例,每个所述测试用例包括各所述位置实体语句、各所述位置实体语句对应的唯一标识编号和各所述位置实体语句对应的提取后的各所述位置实体信息;
逐行读取各所述测试用例,比较所述提取结果数据与对应的各所述位置实体语句,若所述提取结果数据与对应的所述位置实体语句不一致,则确定提取错误,并向所述服务器发送反馈信息,所述反馈信息用于提示所述服务器调整所述预设提取策略,以使所述服务器根据调整后的所述预设提取策略,返回执行对各所述位置实体语句进行分词处理,直至所述提取结果数据与对应的各所述位置实体语句均一致。
2.如权利要求1所述的方法,其特征在于,在比较所述提取结果数据与对应的各所述位置实体语句之后,所述方法还包括:
统计提取正确的所述测试用例的数量;
根据提取正确的所述测试用例的数量和所述测试用例的总数量,计算得到提取准确率并展示所述提取准确率。
3.如权利要求1所述的方法,其特征在于,所述位置实体信息包括:省、市、区、街道、路、街、巷、社区、城镇和村庄。
4.如权利要求1所述的方法,其特征在于,所述表格文件为逗号分隔值CSV文件。
5.如权利要求1所述的方法,其特征在于,所述JMeter请求指令包括所述返回结果数据的预设数据格式。
6.如权利要求2所述的方法,其特征在于,所述预设数据格式为json格式。
7.一种位置实体提取测试方法,其特征在于,应用于服务器,所述方法包括:
接收JMeter发送的JMeter请求指令,其中,所述JMeter请求指令包括多个待提取的位置实体语句,每个所述位置实体语句对应唯一标识编号,各所述位置实体语句存储于表格文件的预设列中;
通过预设提取策略,对各所述位置实体语句进行分词处理,得到返回结果数据,其中,所述返回结果数据包括各所述位置实体语句对应的唯一标识编号和多个位置实体信息;
向所述JMeter发送所述返回结果数据,以使所述JMeter接收所述服务器发送的返回结果数据,根据预设正则表达式,通过JMeter多线程并发提取框架,得到提取结果数据,所述提取结果数据包括各所述位置实体语句对应的提取后的多个所述位置实体信息,并分别将提取后的各所述位置实体信息写入所述表格文件的其他列中,得到多个测试用例,每个所述测试用例包括各所述位置实体语句、各所述位置实体语句对应的唯一标识编号和各所述位置实体语句对应的提取后的各所述位置实体信息,逐行读取各所述测试用例,比较所述提取结果数据与对应的各所述位置实体语句,若所述提取结果数据与对应的所述位置实体语句不一致,则确定提取错误并向所述服务器发送反馈信息;
接收所述JMeter发送的反馈信息,根据所述反馈信息,调整所述预设提取策略,并根据调整后的所述预设提取策略,返回执行对各所述位置实体语句进行分词处理,直至所述提取结果数据与对应的各所述位置实体语句均一致。
8.一种JMeter性能测试设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于通过执行所述存储器存储的程序以实现如权利要求1-6中任一项所述的方法。
9.一种服务器,其特征在于,包括:
存储器,用于存储程序;
处理器,用于通过执行所述存储器存储的程序以实现如权利要求7所述的方法。
10.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002526.XA CN113836003B (zh) | 2021-08-30 | 2021-08-30 | 位置实体提取测试方法和JMeter性能测试设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111002526.XA CN113836003B (zh) | 2021-08-30 | 2021-08-30 | 位置实体提取测试方法和JMeter性能测试设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836003A true CN113836003A (zh) | 2021-12-24 |
CN113836003B CN113836003B (zh) | 2023-07-25 |
Family
ID=78961496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111002526.XA Active CN113836003B (zh) | 2021-08-30 | 2021-08-30 | 位置实体提取测试方法和JMeter性能测试设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836003B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536433A (zh) * | 2018-04-16 | 2018-09-14 | 云南软捷科技有限公司 | 一种j2ee开发框架和基于该j2ee开发框架的开发方法 |
CN109344076A (zh) * | 2018-10-22 | 2019-02-15 | 浙江执御信息技术有限公司 | 一种基于JMeter和Jenkins的接口自动化测试方法及其装置 |
WO2019205280A1 (zh) * | 2018-04-24 | 2019-10-31 | 平安科技(深圳)有限公司 | 服务器的测试方法、装置、设备及计算机可读存储介质 |
US20200241872A1 (en) * | 2019-01-25 | 2020-07-30 | Allstate Insurance Company | Systems and Methods for Automating and Monitoring Software Development Operations |
CN112231459A (zh) * | 2020-10-27 | 2021-01-15 | 恩亿科(北京)数据科技有限公司 | 一种基于知识图谱实现软件测试智能问答的方法及系统 |
CN112527642A (zh) * | 2020-12-07 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 性能测试指标数据的显示方法、装置、设备及存储介质 |
-
2021
- 2021-08-30 CN CN202111002526.XA patent/CN113836003B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536433A (zh) * | 2018-04-16 | 2018-09-14 | 云南软捷科技有限公司 | 一种j2ee开发框架和基于该j2ee开发框架的开发方法 |
WO2019205280A1 (zh) * | 2018-04-24 | 2019-10-31 | 平安科技(深圳)有限公司 | 服务器的测试方法、装置、设备及计算机可读存储介质 |
CN109344076A (zh) * | 2018-10-22 | 2019-02-15 | 浙江执御信息技术有限公司 | 一种基于JMeter和Jenkins的接口自动化测试方法及其装置 |
US20200241872A1 (en) * | 2019-01-25 | 2020-07-30 | Allstate Insurance Company | Systems and Methods for Automating and Monitoring Software Development Operations |
CN112231459A (zh) * | 2020-10-27 | 2021-01-15 | 恩亿科(北京)数据科技有限公司 | 一种基于知识图谱实现软件测试智能问答的方法及系统 |
CN112527642A (zh) * | 2020-12-07 | 2021-03-19 | 中国平安人寿保险股份有限公司 | 性能测试指标数据的显示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113836003B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Al Qady et al. | Concept relation extraction from construction documents using natural language processing | |
US9875319B2 (en) | Automated data parsing | |
Banerjee et al. | Automated triaging of very large bug repositories | |
US20230035121A1 (en) | Automatic event graph construction method and device for multi-source vulnerability information | |
CN106897364B (zh) | 基于事件的中文指代语料库构建方法 | |
Villanes et al. | What are software engineers asking about android testing on stack overflow? | |
CN105095091B (zh) | 一种基于倒排索引技术的软件缺陷代码文件定位方法 | |
CN107169321B (zh) | 基于属性计数和结构度量技术相结合的程序剽窃检测方法及系统 | |
Taşkın et al. | Standardization problem of author affiliations in citation indexes | |
CN105824791A (zh) | 一种参考文献格式检查方法 | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
US8239425B1 (en) | Isolating desired content, metadata, or both from social media | |
CN110471835A (zh) | 一种基于电力信息系统代码文件的相似度检测方法及系统 | |
US20090204889A1 (en) | Adaptive sampling of web pages for extraction | |
Ko et al. | Natural language processing–driven model to extract contract change reasons and altered work items for advanced retrieval of change orders | |
CN110222139B (zh) | 道路实体数据去重方法、装置、计算设备和介质 | |
Karnalim et al. | Layered similarity detection for programming plagiarism and collusion on weekly assessments | |
Liaqat et al. | Plagiarism detection in java code | |
CN113836003B (zh) | 位置实体提取测试方法和JMeter性能测试设备 | |
CN109784048B (zh) | 一种基于程序图的栈缓冲区溢出脆弱性检测方法 | |
Souza et al. | ARCTIC: metadata extraction from scientific papers in pdf using two-layer CRF | |
Mohsen et al. | Enhancing bug localization using phase-based approach | |
Alsmadi et al. | Issues related to the detection of source code plagiarism in students assignments | |
CN114443632A (zh) | 一种学分银行学分智能转换方法及系统、计算机设备 | |
Yu et al. | ASTENS-BWA: Searching partial syntactic similar regions between source code fragments via AST-based encoded sequence alignment |
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 |