CN112632992B - 测试方法、测试装置、计算机设备和介质 - Google Patents
测试方法、测试装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN112632992B CN112632992B CN201910908199.0A CN201910908199A CN112632992B CN 112632992 B CN112632992 B CN 112632992B CN 201910908199 A CN201910908199 A CN 201910908199A CN 112632992 B CN112632992 B CN 112632992B
- Authority
- CN
- China
- Prior art keywords
- address
- address data
- cluster
- clusters
- conversion module
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Abstract
本公开提供了一种测试方法,包括:基于预定规则,收集多个地址数据样本;对所述多个地址数据样本进行聚类,得到一个或多个地址簇;对于所述一个或多个地址簇中的任一地址簇,生成属于所述任一地址簇的一个或多个地址数据;调用待测试的地址转换模块分别对所述一个或多个地址数据进行处理,得到针对所述一个或多个地址数据的一个或多个标准地址;以及,基于所述一个或多个地址数据与所述一个或多个标准地址之间的差异,得到所述地址转换模块关于所述任一地址簇的测试结果。本公开还提供了一种测试装置、一种计算机设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种测试方法、测试装置、计算机设备和计算机可读存储介质。
背景技术
在电商、物流等领域会涉及到对于地址信息的识别,一般情况下,为了减少用户的手动操作过程,允许用户以字符串形式输入地址信息,例如用户可以直接从地址簿中将地址信息复制在地址输入框中。在接收到用户输入的字符串形式的地址信息后,通常要对该地址信息进行分词处理、分类识别、以及标准化处理,识别出地址信息中的关键信息,例如多级的行政区域、详细地址、联系人姓名、联系人电话等,最终规范为符合要求的标准地址,以便在后续依据该标准地址为用户提供相应服务,
然而在地址转换过程中,经常会出现问题。目前通常采用人工查询日志的方式、或者基于来自配送人员或用户的反馈来测试上述地址转换过程的可靠性,比较偏重于人工筛查和用户反馈,测试效率低,且不能预测地址转换过程中的潜在问题。
发明内容
有鉴于此,本公开提供了一种测试方法、测试装置、计算机设备和计算机可读存储介质。
本公开的一个方面提供了一种测试方法,包括:基于预定规则,收集多个地址数据样本。然后,对所收集的多个地址数据样本进行聚类,得到一个或多个地址簇。对于所述一个或多个地址簇中的任一地址簇,生成属于该任一地址簇的一个或多个地址数据;调用待测试的地址转换模块分别对该一个或多个地址数据进行处理,得到针对该一个或多个地址数据的一个或多个标准地址。接着,基于上述一个或多个地址数据与上述一个或多个标准地址之间的差异,得到待测试的地址转换模块关于上述任一地址簇的测试结果。
根据本公开的实施例,上述基于预定规则,收集多个地址数据样本包括:获取待测试的地址转换模块在预定时间区间内的日志,根据时间戳在该日志中查找针对修改地址信息事件的第一记录。接着基于第一记录获取在该修改地址信息事件之前的原始地址信息和/或在该修改地址信息事件之后的修改地址信息,作为地址数据样本。
根据本公开的实施例,上述基于预定规则,收集多个地址数据样本包括:获取待测试的地址转换模块在预定时间区间内的日志,根据时间戳在该日志中查找针对地址转换报错事件的第二记录。接着基于第二记录获取在该地址转换报错事件之前的原始地址信息和/或在该地址转换报错事件之后的修改地址信息,作为地址数据样本。
根据本公开的实施例,上述方法还包括:在上述对所述多个地址数据样本进行聚类之前,分别对多个地址数据样本进行地址编码计算,得到针对多个地址数据样本的多个经纬度坐标样本。上述对多个地址数据样本进行聚类,得到一个或多个地址簇包括:对多个经纬度坐标样本进行聚类,得到表征不同地理区域的一个或多个地址簇。
根据本公开的实施例,上述对多个地址数据样本进行聚类,得到一个或多个地址簇还包括:在上述得到表征不同地理区域的一个或多个地址簇之后,将包含少于预定数量的所述地址数据样本的地址簇丢弃。
根据本公开的实施例,上述生成属于任一地址簇的一个或多个地址数据包括:确定该任一地址簇的质点,该质点的坐标为该任一地址簇所表征的地理区域的经纬度平均坐标,然后以该质点为原点,构建极坐标系。接着基于预定间隔角度和预定间隔距离,在极坐标系中确定一个或多个位置点的经纬度坐标,再对上述一个或多个位置点的经纬度坐标进行逆地址编码计算,得到一个或多个地址字符串。
根据本公开的实施例,上述生成属于任一地址簇的一个或多个地址数据还包括:当得到多个地址字符串时,对多个地址字符串进行去重,得到去重后的一个或多个地址字符串。
根据本公开的实施例,上述生成属于任一地址簇的一个或多个地址数据还包括对于去重后的一个或多个地址字符串中的任一地址字符串:在任一地址字符串中插入姓名信息和/或电话信息。备选地或附加地,在任一地址字符串中插入修饰词和/或标点符号。
根据本公开的实施例,上述调用待测试的地址转换模块分别对一个或多个地址数据进行处理包括:调用地址转换模块分别对上述一个或多个地址字符串进行处理。上述基于一个或多个地址数据与一个或多个标准地址之间的差异,得到地址转换模块关于任一地址簇的测试结果包括:对于一个或多个地址字符串中的任一地址字符串,计算针对任一地址字符串的标准地址与针对任一地址字符串的经纬度坐标之间的距离,并在该距离大于预定距离时确定关于任一地址字符串的测试结果为失败。接着,根据关于上述一个或多个地址字符串的测试结果,确定地址转换模块关于任一地址簇的地址转换失败率,作为地址转换模块关于任一地址簇的测试结果。
本公开的另一个方面提供了一种测试装置,包括样本收集模块、聚类模块、数据新建模块、测试调用模块、以及结果输出模块。其中,样本收集模块用于基于预定规则,收集多个地址数据样本。聚类模块用于对所收集的多个地址数据样本进行聚类,得到一个或多个地址簇。数据新建模块用于对于上述一个或多个地址簇中的任一地址簇,生成属于该任一地址簇的一个或多个地址数据。测试调用模块用于调用待测试的地址转换模块分别对上述一个或多个地址数据进行处理,得到针对上述一个或多个地址数据的一个或多个标准地址。结果输出模块用于基于上述一个或多个地址数据与上述一个或多个标准地址之间的差异,得到地址转换模块关于所述任一地址簇的测试结果。
本公开的另一方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过对地址数据样本进行聚类划分出表征不同地理区域的地址簇,并在每个地址簇中新建多个地址数据作为被测试对象(即待测试的地址转换模块)的输入,根据被测试对象的输入与输出之间的差异确定针对不同地址簇的测试结果,从而确定地址转换模块针对不同地理区域的地址转换功能的准确程度。本方案从地理区域维度进行测试,能够发现针对不同地理区域的地址转换过程中各自存在的问题。并且由于测试时输入测试对象的地址数据是针对地理区域所新建的,一些新建的地址数据是历史未曾使用过的,因此在测试过程中能够预先发现针对一些未知位置点的地址转换过程中的潜在问题,是具有预测性的测试方案,能够减少人工干预,提高用户体验。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用测试方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的测试方法的流程图;
图3示意性示出了根据本公开实施例的收集地址数据样本的过程的示例流程图;
图4示意性示出了根据本公开实施例的数据新建过程的示例流程图;
图5示意性示出了根据本公开实施例的结果输出过程的示例流程图;
图6示意性示出了根据本公开实施例的测试装置的框图;以及
图7示意性示出了根据本公开实施例的计算机设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种测试方法和装置。该方法包括样本收集过程、聚类过程、数据新建过程、测试调用过程、以及结果输出过程。在样本收集过程,基于预定规则,收集多个地址数据样本。在聚类过程,对收集到的多个地址数据样本进行聚类,得到一个或多个地址簇,不同的地址簇可以表征不同的地理区域。在数据新建过程,对于经聚类得到的一个或多个地址簇中的任一地址簇,生成属于该任一地址簇的一个或多个地址数据,作为该任一地址簇的新建地址数据。接着,进入测试调用过程,调用待测试的地址转换模块分别对上述新建的一个或多个地址数据进行处理,得到针对上述一个或多个地址数据的一个或多个标准地址。最后,进入结果输出过程,基于上述一个或多个地址数据与转换后得到的一个或多个标准地址之间的差异,得到待测试的地址转换模块关于上述任一地址簇的测试结果。
图1示意性示出了根据本公开实施例的可以应用测试方法和装置的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1(1)所示,根据该实施例的系统架构100可以包括终端设备101,网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101可以是各种电子设备,包括但不限于智能手机、膝上型便携计算机和台式计算机等等。服务器103可以通过网络102向终端设备提供各种服务。例如,终端设备101中可以装安装各种应用程序,用户可以通过终端设备101上安装的应用程序向服务器103发送请求,服务器103对接收到的请求等进行分析等处理,并将处理结果(例如根据用户请求获取或生成的结果、信息、或数据等)反馈给终端设备101。
示例性地,终端设备101中安装有购物类应用,该购物类应用包括地址转换模块,用于将用户输入的地址字符串转换为标准地址。如图1(2)所示,终端设备101展示了一个购物类应用在调用地址转换模块时的界面,该界面提示用户输入地址字符串以生成能够被自动化识别的标准化的地址数据。例如,用户输入地址字符串“北京朝阳区A路6号张三收152xxxxxxxx”,其中“x”指代任意数字。地址转换模块依次对该地址字符串进行分词处理、分类识别、以及标准化处理,转换得到标准地址:“城市:北京市,区域:朝阳区,街道门牌号:A路6号,姓名:张三,电话:152xxxxxxxx”,从而后续用户通过该购物类应用所购买的商品可以按照该标准地址进行配送。不仅在上述购物类应用中,在其他涉及到地址识别的应用,如导航类应用、物流类应用等,均可以使用上述地址转换模块进行地址转换。
需要说明的是,本公开实施例所提供的测试方法和装置是用于对上述各种应用程序中所使用的地址转换模块进行测试,以测试相应地址转换模块的地址转换的准确程度。本公开实施例所提供的测试方法可以由服务器103执行。相应地,本公开实施例所提供的测试装置可以设置于服务器103中。或者,本公开实施例所提供的测试方法也可以由不同于服务器103且能够与服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的测试装置也可以设置于不同于服务器103且能够与服务器103通信的服务器或服务器集群中。或者,本公开实施例所提供的测试方法可以由终端设备101执行。相应地,本公开实施例所提供的测试装置可以设置于终端设备101中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的测试方法的流程图,以各种具有地址识别需求的应用中的地址转换模块作为测试对象,对地址转换模块的地址转换功能进行测试。
如图2所示,该方法可以包括操作S201~S205。
在操作S201,基于预定规则,收集多个地址数据样本。
其中,例如可以将多个历史已使用的地址数据作为地址数据样本。
接着,在操作S202,对多个地址数据样本进行聚类,得到一个或多个地址簇。
其中,本操作S202对上述操作S201所收集的多个地址数据样本进行聚类,度量地址数据样本之间的相似度,将相似度大于预定阈值的地址数据样本划分至同一地址簇。每个地址簇包括一个或多个地址数据样本,不同的地址簇可以表征不同的地理区域,上述聚类过程实质上是对上述多个地址数据样本的区域分布特征的确定。
接着,在操作S203,对于一个或多个地址簇中的任一地址簇,生成属于该任一地址簇的一个或多个地址数据。
其中,本操作S203对上述操作S202聚类得到的一个或多个地址簇中的任一地址簇进行数据新建过程,针对该任一地址簇生成一个或多个地址数据,作为新建的地址数据。这些新建的地址数据属于该任一地址簇所表征的地理区域,这些新建的地址数据可以包含之前的地址数据样本,也可以不包含之前的地址数据样本。
接着,在操作S204,调用待测试的地址转换模块分别对上述一个或多个地址数据进行处理,得到针对上述一个或多个地址数据的一个或多个标准地址。
其中,在上述操作S203生成属于任一地址簇的一个或多个地址数据后,本操作S204对于其中的每个地址数据,调用待测试的地址转换模块对该地址数据进行地址转换,得到针对该地址数据的标准地址。其他各地址数据同理,从而可以得到针对属于任一地址簇的一个或多个地址数据的一个或多个标准地址。
接着,在操作S205,基于上述一个或多个地址数据与上述一个或多个标准地址之间的差异,得到待测试的地址转换模块关于任一地址簇的测试结果。
其中,对于上述针对任一地址簇M新建的一个或多个地址数据中的每个地址数据,确定该地址数据与针对该地址数据的标准地址之间的差异,作为该地址数据的转换差异。基于各地址数据的转换差异确定待测试的地址转换模块关于该任一地址簇M的测试结果,该测试结果表明地址转换模块在对属于地址簇M的地址数据进行地址转换时的准确程度。
本领域技术人员可以理解,图2所示的方法通过对地址数据样本进行聚类划分出表征不同地理区域的地址簇,并在每个地址簇中新建多个地址数据作为被测试对象(即待测试的地址转换模块)的输入,根据被测试对象的输入与输出之间的差异确定针对不同地址簇的测试结果,从而确定地址转换模块针对不同地理区域的地址转换功能的准确程度。本方案从地理区域维度进行测试,能够发现针对不同地理区域的地址转换过程中各自存在的问题。并且由于测试时输入测试对象的地址数据是针对地理区域所新建的,一些新建的地址数据是历史未曾使用过的,因此在测试过程中能够预先发现针对一些未知位置点的地址转换过程中的潜在问题,是具有预测性的测试方案,能够减少人工干预,提高用户体验。
在本公开的一个实施例中,为准确测试地址转换模块的功能,可以尽量收集在历史地址转换过程中可能存在问题的地址信息作为地址数据样本。在此基础上,上述基于预定规则,收集多个地址数据样本的过程可以按照如下方案(1)~方案(2)中至少一个进行。
方案(1),获取待测试的地址转换模块在预定时间区间内的日志,日志中的每条记录均带有时间戳。然后,根据日志中的时间戳在该日志中查找针对修改地址信息事件的第一记录。接着,基于第一记录获取在修改地址信息事件之前的原始地址信息和/或在修改地址信息事件之后的修改地址信息,作为地址数据样本。
例如,用户在使用一个应用时,需要填写地址信息。该应用调用相应的地址转换模块,向用户展示地址输入界面,在接收到用户输入的地址字符串后,基于地址转换模块的实现逻辑将该地址字符串转换为标准地址并再次向用户进行展示。如果用户发现转换后的标准地址与自己输入的地址字符串不相符,用户会手动进行地址修改,再次输入地址信息,从而触发修改地址信息事件。在地址转换模块的日志中,可以根据时间戳确定先后两次输入地址信息的记录,从而确定针对修改地址信息事件的第一记录。本例中可以将用户第一次输入的原始地址信息和第二次输入的修改地址信息中的至少一个作为地址样本数据。
方案(2),获取待测试的地址转换模块在预定时间区间内的日志,日志中的每条记录均带有时间戳。然后,根据时间戳在所述日志中查找针对地址转换报错事件的第二记录。接着,基于第二记录获取在地址转换报错事件之前的原始地址信息和/或在地址转换报错事件之后的修改地址信息,作为地址数据样本。
例如,用户在使用一个应用时,需要填写地址信息。该应用调用相应的地址转换模块,向用户展示地址输入界面,在接收到用户输入的地址字符串后,基于地址转换模块的实现逻辑以将该地址字符串转换为标准地址。但在转换过程中有可能发生错误,地址转换模块会进行地址转换报错,该错误可能是由于用户填写的地址信息存在问题或地址转换模块自身实现逻辑存在问题等造成的。在发生地址转换报错事件后,该应用会向用户展示报错信息,以指示用户手动输入标准地址。在地址转换模块的日志中,可以根据时间戳确定针对地址转换报错事件的第二记录。本例中可以将用户第一次输入的原始地址信息和第二次输入的修改地址信息中的至少一个作为地址样本数据。
图3示意性示出了根据本公开实施例的收集地址数据样本的过程的示例流程图。
如图3所示,收集地址数据样本的过程可以包括,开始收集地址数据样本后,在操作S301,从应用日志301和用户订单数据302中收集地址信息。
然后,在操作S302,确定地址信息是否被修改,如果是则执行操作S303,如果否则回到操作S301。
在操作S303,进一步确定修改前后的地址信息之间的地理距离是否超过距离阈值,如果是则回到操作S301,如果否则执行操作S304。
在操作S304,将该地址信息的原始地址信息作为一个地址数据样本。
在本公开的一个实施例中,在上述对所收集的多个地址数据样本进行聚类之前,根据本公开实施例的测试方法还可以包括:分别对所收集的多个地址数据样本进行地址编码计算,得到针对多个地址数据样本的多个经纬度坐标样本。在此基础上,述对所收集的多个地址数据样本进行聚类是以上述多个经纬度坐标样本为对象进行的,则上述对多个地址数据样本进行聚类,得到一个或多个地址簇包括:对多个经纬度坐标样本进行聚类,得到表征不同地理区域的一个或多个地址簇。
进一步地,由于上述经聚类确定一个或多个地址簇的过程实质上是对地址数据样本的区域分布特征进行识别的过程,在地址数据样本为历史已使用的地址数据的情况下,当一个地址簇中所包含的地址数据样本较少时,表明该地理区域的用户分布是较少的。在本公开的一个实施例中,为提高处理效率,可以忽略针对用户分布较少的地理区域的地址转换测试。示例性地,上述对多个地址数据样本进行聚类,得到一个或多个地址簇还可以包括:在得到表征不同地理区域的一个或多个地址簇之后,确定每个地址簇所包含的地址数据样本的数量,当一个地址簇所包含的地址数据样本的数量少于预定数量,将该地址簇丢弃,即不再对该地址簇表征的地理区域进行后续测试处理,后续对保留下来的一个或多个地址簇进行数据新建过程。可以理解,在其他实施例中,也可以不做上述针对地址簇的丢弃处理,对聚类得到的全部地址簇进行数据新建过程。
图4示意性示出了根据本公开实施例的数据新建过程的示例流程图,如上文所述,针对任一地址簇的数据新建过程即生成属于任一地址簇的一个或多个地址数据的过程。
如图4所示,针对任一地址簇的数据新建过程可以包括操作S401~操作S404。
在操作S401,确定任一地址簇的质点。
其中,质点的坐标为该任一地址簇所表征的地理区域的经纬度平均坐标,例如可以计算该地址簇中所包含的全部经纬度坐标样本的经纬度平均坐标。
然后,在操作S402,以质点为原点,构建极坐标系。
在操作S403,基于预定间隔角度和预定间隔距离,在所构建的极坐标系中确定一个或多个位置点的经纬度坐标。
例如,针对地址簇M构建极坐标系,设置预定间隔角度为预定间隔距离为Δr。从极坐标系的原点开始,旋转预定间隔角度/>并移动预定间隔距离Δr,确定一个位置点。再从该位置点开始,旋转预定间隔角度/>并移动预定间隔距离Δr,确定另一个位置点。以此类推,确定出多个位置点及相应的经纬度坐标,将所确定的经纬度坐标作为新建的地址数据。依据本例中的方法,新建出的针对地址簇M的地址数据在该地址簇M所表征的地理区域中较为均匀地分布,后续再将新建的地址数据作为测试输入时,能够均匀地对该地理区域进行测试。
接着,在操作S404,对上述一个或多个位置点的经纬度坐标进行逆地址编码计算,得到一个或多个地址字符串。
根据本公开的实施例,在上述得到针对任一地址簇的一个或多个地址字符串之后,为避免新建的地址数据之间存在重复,影响测试效率,上述生成属于任一地址簇的一个或多个地址数据还可以包括:当得到多个地址字符串时,对多个地址字符串进行去重,得到去重后的一个或多个地址字符串。
一些情况下,考虑到实际情况下用户输入的地址字符串的多样性,为更加全面地测试地址转换模块的功能,可以在上述生成的地址字符串中插入一些其他信息。示例性地,上述生成属于任一地址簇的一个或多个地址数据还可以包括:对于上述去重后的一个或多个地址字符串中的任一地址字符串,在该任一地址字符串中插入姓名信息和/或电话信息,备选地或附加地,在该任一地址字符串中插入修饰词和/或标点符号。
例如,对于一个地址簇生成的地址信息为地址字符串“北京朝阳区A路6号”,对该地址字符串进行分词处理后,可以在任一分词之前或之后插入姓名信息和/或电话信息,如得到“北京朝阳区A路6号张三158xxxxxxxx”。也可以在任一分词之前或之后插入修饰词和/或标签符号,如得到“北京朝阳区A路6号#张三158xxxxxxxx”。本例中经过上述处理后的地址字符串可以作为后续待测试的地址转换模块的输入。在其他实施例中,也可以不对上述新建生成的地址字符串进行处理而直接输入至待测试的地址转换模块中。
图5示意性示出了根据本公开实施例的结果输出过程的示例流程图,如上文所述,针对任一地址簇的结果输出过程即获得地址转换模块关于任一地址簇的测试结果的过程。
如图5所示,针对任一地址簇的结果输出过程可以包括操作S501~操作S503。
在操作S501,调用待测试的地址转换模块对针对任一地址簇生成的一个或多个地址字符串分别进行处理,得到地址转换模块针对每个地址字符串得到的标准地址。
在操作S502,对于每个地址字符串,计算针对该地址字符串的标准地址与针对该地址字符串的经纬度坐标之间的距离,并在二者之间距离大于预定距离时确定关于该地址字符串的测试结果为失败。
在操作S503,根据关于上述一个或多个地址字符串的测试结果,确定地址转换模块关于该任一地址簇的地址转换失败率,作为地址转换模块关于该任一地址簇的测试结果。
例如,在上文中针对地址簇M生成的新的地址数据包括N个经纬度坐标,其中N为正整数。对该N个经纬度坐标分别进行上文所述的逆地址编码计算、去重、以及信息插入等处理,得到相应的N个地址字符串。调用待测试的地址转换模块对于N个地址字符串中的每个地址字符串进行处理,得到针对每个地址字符串的标准地址。对于N个地址字符串中的每个地址字符串,以第一地址字符串为例,确定逆地址编码计算之前与该第一地址字符串对应的第一经纬度坐标。计算该第一经纬度坐标与针对第一地址字符串得到的标准地址之间的地理距离,如果该地理大于预定距离,表明地址转换模块对于第一地址字符串的地址转换失败。同理,可以确定N个地址字符串中的其他地址字符串的地址转换是否失败,从而确定关于地址簇M的地址转换失败率,等于地址转换失败的地址字符串的数量与N的比值,作为地址转换模块关于地址簇M的测试结果,表明地址转换模块关于地址簇M所表征的地理区域的地址转换功能的准确性。在其他实施例中,也可以对地址转换模块关于各个地址簇的测试结果进行整合,得到综合测试结果。上述测试结果均可以按照预定通信方式发送至地址转换模块的开发方,以使开发方获知地址转换模块的性能效果,从而进行相应的调整。
图6示意性示出了根据本公开实施例的测试装置的框图。如图6所示,该测试装置600可以包括样本收集模块610、聚类模块620、数据新建模块630、测试调用模块640、以及结果输出模块650。
样本收集模块610用于基于预定规则,收集多个地址数据样本。
聚类模块620用于对所收集的多个地址数据样本进行聚类,得到一个或多个地址簇。
数据新建模块630用于对于上述一个或多个地址簇中的任一地址簇,生成属于该任一地址簇的一个或多个地址数据。
测试调用模块640用于调用待测试的地址转换模块分别对上述一个或多个地址数据进行处理,得到针对上述一个或多个地址数据的一个或多个标准地址。
结果输出模块650用于基于上述一个或多个地址数据与上述一个或多个标准地址之间的差异,得到地址转换模块关于所述任一地址簇的测试结果。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,样本收集模块610、聚类模块620、数据新建模块630、测试调用模块640、以及结果输出模块650中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,样本收集模块610、聚类模块620、数据新建模块630、测试调用模块640、以及结果输出模块650中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,样本收集模块610、聚类模块620、数据新建模块630、测试调用模块640、以及结果输出模块650中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机设备的框图。图7示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的计算机设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有设备700操作所需的各种程序和数据。处理器701、ROM 702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种测试方法,包括:
基于预定规则,收集多个地址数据样本;
对所述多个地址数据样本进行聚类,得到表征不同地理区域一个或多个地址簇;
对于所述一个或多个地址簇中的任一地址簇,生成属于所述任一地址簇的一个或多个地址数据;
调用待测试的地址转换模块分别对所述一个或多个地址数据进行处理,得到针对所述一个或多个地址数据的一个或多个标准地址;以及
基于所述一个或多个地址数据与所述一个或多个标准地址之间的差异,得到所述地址转换模块关于所述任一地址簇的测试结果,所述差异表征经纬度坐标之间的距离;
其中,所述生成属于所述任一地址簇的一个或多个地址数据包括:
确定所述任一地址簇的质点,所述质点的坐标为所述任一地址簇所表征的地理区域的经纬度平均坐标;
以所述质点为原点,构建极坐标系;
基于预定间隔角度和预定间隔距离,在所述极坐标系中确定一个或多个位置点的经纬度坐标;以及
对所述一个或多个位置点的经纬度坐标进行逆地址编码计算,得到一个或多个地址字符串。
2.根据权利要求1所述的方法,其中,所述基于预定规则,收集多个地址数据样本包括:
获取所述地址转换模块在预定时间区间内的日志;
根据时间戳在所述日志中查找针对修改地址信息事件的第一记录;以及
基于所述第一记录获取在所述修改地址信息事件之前的原始地址信息和/或在所述修改地址信息事件之后的修改地址信息,作为所述地址数据样本。
3.根据权利要求1所述的方法,其中,所述基于预定规则,收集多个地址数据样本包括:
获取所述地址转换模块在预定时间区间内的日志;
根据时间戳在所述日志中查找针对地址转换报错事件的第二记录;以及
基于所述第二记录获取在所述地址转换报错事件之前的原始地址信息和/或在所述地址转换报错事件之后的修改地址信息,作为所述地址数据样本。
4.根据权利要求1所述的方法,还包括:在所述对所述多个地址数据样本进行聚类之前,分别对所述多个地址数据样本进行地址编码计算,得到针对所述多个地址数据样本的多个经纬度坐标样本;
所述对所述多个地址数据样本进行聚类,得到一个或多个地址簇包括:对所述多个经纬度坐标样本进行聚类,得到表征不同地理区域的一个或多个地址簇。
5.根据权利要求4所述的方法,其中,所述对所述多个地址数据样本进行聚类,得到一个或多个地址簇还包括:
在所述得到表征不同地理区域的一个或多个地址簇之后,将包含少于预定数量的所述地址数据样本的地址簇丢弃。
6.根据权利要求1所述的方法,其中,所述生成属于所述任一地址簇的一个或多个地址数据还包括:
当得到多个地址字符串时,对所述多个地址字符串进行去重,得到去重后的一个或多个地址字符串。
7.根据权利要求6所述的方法,其中,所述生成属于所述任一地址簇的一个或多个地址数据还包括对于所述去重后的一个或多个地址字符串中的任一地址字符串:
在所述任一地址字符串中插入姓名信息和/或电话信息;并且/或者
在所述任一地址字符串中插入修饰词和/或标点符号。
8.根据权利要求6~7中任一项所述的方法,其中,
所述调用待测试的地址转换模块分别对所述一个或多个地址数据进行处理包括:调用所述地址转换模块分别对所述一个或多个地址字符串进行处理;
所述基于所述一个或多个地址数据与所述一个或多个标准地址之间的差异,得到所述地址转换模块关于所述任一地址簇的测试结果包括:
对于所述一个或多个地址字符串中的任一地址字符串,计算针对所述任一地址字符串的所述标准地址与针对所述任一地址字符串的所述经纬度坐标之间的距离,并在所述距离大于预定距离时确定关于所述任一地址字符串的测试结果为失败;以及
根据关于所述一个或多个地址字符串的测试结果,确定所述地址转换模块关于所述任一地址簇的地址转换失败率,作为所述地址转换模块关于所述任一地址簇的测试结果。
9.一种测试装置,包括:
样本收集模块,用于基于预定规则,收集多个地址数据样本;
聚类模块,用于对所述多个地址数据样本进行聚类,得到表征不同地理区域一个或多个地址簇;
数据新建模块,用于对于所述一个或多个地址簇中的任一地址簇,生成属于所述任一地址簇的一个或多个地址数据;
测试调用模块,用于调用待测试的地址转换模块分别对所述一个或多个地址数据进行处理,得到针对所述一个或多个地址数据的一个或多个标准地址;以及
结果输出模块,用于基于所述一个或多个地址数据与所述一个或多个标准地址之间的差异,得到所述地址转换模块关于所述任一地址簇的测试结果,所述差异表征经纬度坐标之间的距离;
其中,所述生成属于所述任一地址簇的一个或多个地址数据包括:
确定所述任一地址簇的质点,所述质点的坐标为所述任一地址簇所表征的地理区域的经纬度平均坐标;
以所述质点为原点,构建极坐标系;
基于预定间隔角度和预定间隔距离,在所述极坐标系中确定一个或多个位置点的经纬度坐标;以及
对所述一个或多个位置点的经纬度坐标进行逆地址编码计算,得到一个或多个地址字符串。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:
如权利要求1~8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行:
如权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908199.0A CN112632992B (zh) | 2019-09-24 | 2019-09-24 | 测试方法、测试装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908199.0A CN112632992B (zh) | 2019-09-24 | 2019-09-24 | 测试方法、测试装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632992A CN112632992A (zh) | 2021-04-09 |
CN112632992B true CN112632992B (zh) | 2023-09-29 |
Family
ID=75283503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910908199.0A Active CN112632992B (zh) | 2019-09-24 | 2019-09-24 | 测试方法、测试装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632992B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000286999A (ja) * | 1999-03-31 | 2000-10-13 | Matsushita Electric Ind Co Ltd | 移動端末動作試験方法 |
EP1072987A1 (en) * | 1999-07-29 | 2001-01-31 | International Business Machines Corporation | Geographic web browser and iconic hyperlink cartography |
CN109101474A (zh) * | 2017-06-20 | 2018-12-28 | 菜鸟智能物流控股有限公司 | 一种地址聚合的方法、包裹聚合的方法以及设备 |
CN109344209A (zh) * | 2018-08-20 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 一种基于大数据的地址测试方法及终端设备 |
CN109901987A (zh) * | 2017-12-11 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 一种生成测试数据的方法和装置 |
-
2019
- 2019-09-24 CN CN201910908199.0A patent/CN112632992B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000286999A (ja) * | 1999-03-31 | 2000-10-13 | Matsushita Electric Ind Co Ltd | 移動端末動作試験方法 |
EP1072987A1 (en) * | 1999-07-29 | 2001-01-31 | International Business Machines Corporation | Geographic web browser and iconic hyperlink cartography |
CN109101474A (zh) * | 2017-06-20 | 2018-12-28 | 菜鸟智能物流控股有限公司 | 一种地址聚合的方法、包裹聚合的方法以及设备 |
CN109901987A (zh) * | 2017-12-11 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 一种生成测试数据的方法和装置 |
CN109344209A (zh) * | 2018-08-20 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 一种基于大数据的地址测试方法及终端设备 |
Non-Patent Citations (1)
Title |
---|
地名地址地理空间位置与服务标准化探讨;兀伟;邓国庆;黄琛;王焕萍;;地理空间信息(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112632992A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020052312A1 (zh) | 一种定位方法、装置、电子设备及可读存储介质 | |
CN111159974A (zh) | 地址信息的标准化方法、装置、存储介质及电子设备 | |
CN110633726A (zh) | 一种房源识别方法、装置、存储介质及电子设备 | |
CN110795472A (zh) | 基于模糊匹配的地址标准化方法、系统、设备及介质 | |
CN111238507A (zh) | 小区地理位置的确定方法、系统、电子设备及存储介质 | |
CN113253319A (zh) | 基于车辆gps的路网提取和轨迹纠偏方法和系统 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN115022201B (zh) | 一种数据处理功能测试方法、装置、设备及存储介质 | |
CN111046393B (zh) | 漏洞信息上传方法、装置、终端设备及存储介质 | |
CN110737820A (zh) | 用于生成事件信息的方法和装置 | |
CN112632992B (zh) | 测试方法、测试装置、计算机设备和介质 | |
CN111368128A (zh) | 目标图片的识别方法、装置和计算机可读存储介质 | |
CN116185393A (zh) | 接口文档的生成方法、装置、设备、介质及产品 | |
CN107084728B (zh) | 用于检测数字地图的方法和装置 | |
CN112379967B (zh) | 模拟器检测方法、装置、设备及介质 | |
CN110457705B (zh) | 一种兴趣点数据处理方法、装置、设备和存储介质 | |
CN114048797A (zh) | 确定地址相似度的方法、装置、介质及电子设备 | |
CN111126120B (zh) | 城市区域分类方法、装置、设备和介质 | |
CN113656286A (zh) | 软件测试方法、装置、电子设备及可读存储介质 | |
CN111538651A (zh) | 接口测试方法、装置、服务器及存储介质 | |
CN112767732B (zh) | 一种停车位置确定方法、装置以及电子设备 | |
CN110647519B (zh) | 对测试样本中的缺失属性值进行预测的方法及装置 | |
CN111784239B (zh) | 派送网点的确定方法、装置、电子设备及存储介质 | |
CN113806416B (zh) | 实时数据服务的实现方法、装置及电子设备 | |
CN112291276B (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 |