用于MOCK测试的一次性影像数据获取方法与流程

文档序号:21272896发布日期:2020-06-26 23:03阅读:428来源:国知局
用于MOCK测试的一次性影像数据获取方法与流程

本发明涉及软件开发和测试中的数据获取方法,具体讲是用于mock测试的一次性影像数据获取方法。



背景技术:

在软件系统的开发和测试阶段中,当被测系统接受的外部输入为影像文件时,如身份证图片、驾驶证等jpeg/png的图片,被测系统需要通过ocr服务(文字识别软件),获取这些影像文件中视觉所包含的文本信息,用于进一步的业务处理。但由于这些影像文件都是一次性耗费数据,因此造成了数据准备困难的问题。

针对上述问题,当前的解决方案有:

1.测试人员使用自己的身份证等影像文件或者网上寻找其他的影像文件作为测试数据,然后进行测试。

2.测试人员使用自己的身份证等影像文件,每次使用后,通过在业务系统删除影像文件的相关信息,从而可以重复使用。

以上2种方式,都受到影像文件数据不容易获取的限制,不能解决测试数据源信息的多样性,且影像文件使用后再删除业务系统数据,容易造成删除数据时的操作风险。



技术实现要素:

本发明提供了一种用于mock测试的一次性影像数据获取方法,在需要ocr服务的测试中可以获得大量的影像文件作为测试数据,降低一次性影像文件的获取难度。

本发明用于mock测试的一次性影像数据获取方法,包括:

a.通过文件识别软件识别现有的各种影像文件中包含的文本信息,并提取出其中的通用关键字;

b.根据实际需要的内容定义影像文件的生成模板,并对所述生成模板中的模板字段填入包括所述通用关键字在内的字段内容;

c.通过影像文件生成工具从生成模板中解析出通用关键字,并根据各通用关键字的属性和格式对各通用关键字随机赋值;

d.影像文件生成工具将赋值后的生成模板转换为影像文件保存;

f.被测系统获取保存的影像文件,在mock测试时先接收被测系统传送的影像文件,并根据影像文件中内容的编码格式解析出各通用关键字和对应的值,然后将解析出的值返回给被测系统,实现通过影像数据对被测系统进行mock测试。

本发明通过根据通用关键字的属性和格式,自动生成相应的值,随机的生成各种影像文件所需包含的文本信息,如身份证号码、地址等,可以无限的生成所需的测试数据。并且通过将被测系统需要的视觉文本信息嵌入到影像文件中进行保存,极大的降低了一次性影像文件获取难度。同时,本发明是通过解析影像文件中的存储信息来获取所需数据的,而不是通过文字识别软件(ocr)对影像文件进行视觉获取信息的方式,也极大的降低了获取影像文件文本内容的难度。

进一步的,步骤b包括:根据实际需要的内容定义影像文件的生成模板,在生成模板中设有模板字段,所述模板字段中包括有编码格式字段和图片格式字段,还设有属性关键字列表,所述属性关键字列表的各个值为步骤a所述的通用关键字;然后根据生成模板生成yaml格式文件。其中,yaml格式是一个可读性高,用来表达数据序列化的格式,其数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。例如:

house:

family:

name:doe

parents:

-john

-jane

children:

-paul

-mark

-simone

address:

number:34

street:mainstreet

city:nowheretown

zipcode:12345

在此基础上,步骤c包括:

c1.影像文件生成工具通过yamlloader软件读入所述的yaml格式文件,解析出其中的文本内容,再通过迭代器将文本内容中模板字段的内容逐个读取;

c2.将读取的模板字段的内容逐个与属性关键字列表中的每个值进行对比,如果当前模板字段的内容和属性关键字列表中的某个值相同,则根据该值表示的通用关键字,以及该通用关键字的属性和格式随机生成该通用关键字的对应值,将所述对应值赋给对应的通用关键字;通过迭代器完成对所有通用关键字的赋值;

c3.将所有通用关键字和各自的对应值生成一个hashmap对象,其中键为通用关键字,值为对应值;再将该hashmap对象转换成一个文本文件,文本文件的内容为hashmap对象中每个键-值对的组合。

进一步的,步骤d包括:根据编码格式字段中设置的值对步骤c3的文本文件的内容进行编码,然后根据图片格式字段中设置的值和经过编码的文本文件的内容,按照对应的图片格式生成影像文件保存。

进一步的,步骤f中,根据影像文件中内容的编码格式,对影像文件进行解码,获得所述的由键-值对组合构成的文本内容,再通过迭代方式获取文本内容中所有的键和对应的值,将得到的所述值返回给被测系统。

进一步的,步骤f中,根据文件识别软件的请求返回格式,将解析出的值写入文件识别软件的返回文本模板中,生成返回请求内容,然后将所述的返回请求内容返回给被测系统。

本发明用于mock测试的一次性影像数据获取方法,能够大量的、随机的生成各种需要对影像文件进行文字识别的测试数据,极大的降低了一次性影像文件的获取难度,明显提高了测试的效率和测试覆盖率。

以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。

附图说明

图1为本发明用于mock测试的一次性影像数据获取方法的流程图。

具体实施方式

如图1所示本发明的用于mock测试的一次性影像数据获取方法,包括:

a.通过文件识别软件(ocr)识别现有的各种影像文件中包含的文本信息,并提取出其中的通用关键字,例如:“身份证号码”、“出生日期”、“有效期”、“地址”等字样。此处的通用关键字只是例如上述的字样,而不包括其具体的实际内容。以现有的各种影像文件作为基础来构建测试的影像文件生成模板。

b.根据实际需要的内容定义影像文件的生成模板,在生成模板中设有各种模板字段,所述模板字段中包括有编码格式字段encoding和图片格式字段type,还设有属性关键字列表keywords,所述属性关键字列表keywords的各个值为步骤a所述的通用关键字。将各通用关键字对应的填入模板字段中,然后根据生成模板生成yaml格式文件。

c.通过影像文件生成工具从生成模板中解析出通用关键字,并根据各通用关键字的属性和格式对各通用关键字随机赋值。具体包括:

c1.影像文件生成工具通过yamlloader软件读入所述的yaml格式文件,解析出其中的文本内容,再通过迭代器将文本内容中模板字段的内容逐个读取。

c2.将读取的模板字段的内容逐个与属性关键字列表keywords中的每个值进行对比,如果当前模板字段的内容和属性关键字列表keywords中的某个值相同,则根据该值表示的通用关键字,以及该通用关键字的属性和格式随机生成该通用关键字的对应值,将所述对应值赋给对应的通用关键字;通过迭代器完成对所有通用关键字的赋值。

c3.将所有通用关键字和各自的对应值生成一个hashmap对象,其中键为通用关键字,值为对应值;再将该hashmap对象转换成一个文本文件,文本文件的内容为hashmap对象中每个键-值对的组合,例如文本文件的内容为:{“身份证号码”:xxxxxxxxxxxx,“性别”:“男”,“年龄”:27}。

d.影像文件生成工具根据编码格式字段encoding中设置的值(例如base64、md5等)对步骤c3的文本文件的内容进行编码,然后根据图片格式字段type中设置的值(例如jpeg、png等)和经过编码的文本文件的内容,按照对应的图片格式生成影像文件保存。

f.由于被测系统并不关注ocr服务的文字识别能力,只需要ocr服务能够识别传入的影像文件,并返回需要的影像文件的视觉文本信息即可。因此本发明用ocrmock(模拟文字识别)替换掉替换真实的ocr服务。具体方式为:

被测系统获取保存的影像文件,在mock测试时先接收被测系统传送的影像文件,并根据影像文件中内容的编码格式,对影像文件进行解码,获得所述的由键-值对组合构成的文本内容,再通过迭代方式获取文本内容中所有的键和对应的值。然后根据文件识别软件ocr的请求返回格式,将解析出的值写入文件识别软件ocr的返回文本模板中,生成返回请求内容,最后将所述的返回请求内容返回给被测系统,实现通过影像数据对被测系统进行mock测试。

本发明通过根据通用关键字的属性和格式,自动生成相应的值,随机的生成各种影像文件所需包含的文本信息,如身份证号码、地址等,可以无限的生成所需的测试数据。并且通过将被测系统需要的视觉文本信息嵌入到影像文件中进行保存,极大的降低了一次性影像文件获取难度。同时,本发明是通过解析影像文件中的存储信息来获取所需数据的,而不是通过文字识别软件(ocr)对影像文件进行视觉获取信息的方式,也极大的降低了获取影像文件文本内容的难度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1