语言校验测试方法及计算机可读存储介质与流程

文档序号:15888480发布日期:2018-11-09 19:49阅读:128来源:国知局
语言校验测试方法及计算机可读存储介质与流程

本发明涉及数据检测技术领域,尤其涉及一种语言校验测试方法及计算机可读存储介质。

背景技术

随着互联网的不断发展,许多应用产品都纷纷走向国际化,而所有的应用产品,在不同的国际化系统语言环境下,需要有不同的语言表现。那么,在应用产品版本迭代的时候,就需要对所有支持的语言进行翻译内容的验证,但当应用的功能足够多、工程足够大的时候,这就成了一个十分费事费力的测试工程。

在目前的测试过程中,针对多语言的测试较多的还是使用人工测试,检查切换语言后的使用界面,确认是否进行了翻译,并核对翻译人员提供的文档,确认翻译结果是否正确。但此种测试方法存在较多的缺点:

1、应用程序的功能庞大,手工测试验证所有的界面翻译,需要较多的时间成本;

2、应用程序功能较多的情况下,手工不一定能保证覆盖到所有的应用界面;

3、当应用产品相对规模较大,语言种类较多时,未规范化的测试方法可能存在很多隐藏风险。



技术实现要素:

本发明所要解决的技术问题是:提供一种语言校验测试方法及计算机可读存储介质,提高语言翻译测试的测试效率和测试准确率。

为了解决上述技术问题,本发明采用的技术方案为:一种语言校验测试方法,包括:

获取基准语言包、目标语言包和标准翻译文件;

分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合;

根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试;

根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试。

本发明还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取基准语言包、目标语言包和标准翻译文件;

分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合;

根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试;

根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试。

本发明的有益效果在于:通过将基准语言包、目标语言包和标准翻译文件统一解析成键值对形式的数据,再根据键值对形式的数据进行校验测试。本发明可替代人工,实现对语言包的翻译状态的自动比对以及翻译结果的自动校验,提高测试效率和测试精准度,节约人工成本和时间成本;可自动遍历语言包中的所有字段,提高测试覆盖度;当产品规模十分大的时候,可按照业务需求,工具化、平台化、标准化整个语言测试流程,降低潜在风险。

附图说明

图1为本发明的一种语言校验测试方法的流程图;

图2为本发明实施例一的方法流程图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。

本发明最关键的构思在于:将不同格式的语言包文件统一解析成键值对数据,再进行是否翻译、翻译是否正确的校验测试。

请参阅图1,一种语言校验测试方法,包括:

获取基准语言包、目标语言包和标准翻译文件;

分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合;

根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试;

根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试。

从上述描述可知,本发明的有益效果在于:可提高测试流程的测试效率、测试精度和测试准确率,规范测试标准化。

进一步地,所述获取基准语言包、目标语言包和标准翻译文件具体为:

分别对基准语言包和目标语言包进行压缩,得到两个压缩文件;

将所述两个压缩文件上传至服务端,并生成对应的url地址;

服务端根据所述url地址下载得到两个压缩文件,并分别对所述两个压缩文件进行解压,得到基准语言包和目标语言包;

将标准翻译文件转换为预设的文件格式后上传至服务端。

进一步地,所述分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合具体为:

根据基准语言包中的基准语言文件的扩展名,确定基准语言文件的文件类型;

根据所述基准语言文件的文件类型,将所述基准语言文件中的数据解析成键值对形式的数据,得到第一键值对集合;

根据目标语言包中的目标语言文件的扩展名,确定目标语言文件的文件类型;

根据所述目标语言文件的文件类型,将所述目标语言文件中的数据解析成键值对形式的数据,得到第二键值对集合;

根据所述标准翻译文件的文件类型,将所述标准翻译文件中的数据解析成键值对形式的数据,得到第三键值对集合。

由上述描述可知,通过将不同格式的语言文件进行统一的压缩上传,并统一解析成一致的数据格式形式,便于后续的校验测试。

进一步地,所述根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试具体为:

若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译状态为已翻译;

若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译状态为未翻译;

若所述第一键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译状态为未翻译;

若所述第二键值对集合中存在所述第一键值对集合中不存在的键,则判定所述键的翻译状态为未翻译。

进一步地,所述根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试具体为:

若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译结果为正确;

若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译结果为错误;

若所述第三键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译结果为错误;

若所述第三键值对集合中不存在所述第二键值对集合中存在的键,则判定所述键的翻译结果为未知。

进一步地,还包括:

若第一键值对集合中存在所述第二键值对集合和所述第三键值对集合中不存在的键,则判定所述键的翻译结果为未知;

若一键的翻译结果为正确且所述一键的翻译状态为未翻译,则将所述一键的翻译状态修改为已翻译。

由上述描述可知,通过定制校验规则,使测试流程可自动进行比对校验。

进一步地,还包括:

根据所述校验测试的结果,生成测试报告。

由上述描述可知,通过生成测试报告,使用户可直观地了解校验测试的结果。

本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上所述的步骤。

实施例一

请参照图2,本发明的实施例一为:一种语言校验测试方法,可运用于对国际化的应用产品的语言测试,包括如下步骤:

s1:获取基准语言包、目标语言包和标准翻译文件;其中,基准语言即为待翻译的语言,目标语言即为翻译后的语言,而标准翻译文件中存储了正确的翻译内容。

具体地,对于基准语言包和目标语言包,先分别对其进行压缩,得到两个压缩文件;然后将这两个压缩文件通过http的方式上传至服务端,并生成对应的可下载的url地址(统一资源定位符);服务端根据所述url地址下载得到两个压缩文件,并分别对所述两个压缩文件进行解压,得到基准语言包和目标语言包。优选地,压缩成zip格式的压缩文件。进一步地,将两个压缩文件分别解压到两个预设的文件目录下。

对于标准翻译文件,可将其先转换为预设的文件格式,例如转换为excel文件,然后直接上传至服务端,服务端接收所述标准翻译文件。

s2:分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合。其中,第一键值对集合存储键值对形式的基准语言数据,第二键值对集合存储键值对形式的目标语言数据,第三键值对集合存储键值对形式的标准翻译数据。

具体地,根据基准语言包中的基准语言文件的扩展名,确定基准语言文件的文件类型;根据所述基准语言文件的文件类型,将所述基准语言文件中的数据解析成键值对形式的数据,得到第一键值对集合。根据目标语言包中的目标语言文件的扩展名,确定目标语言文件的文件类型;根据所述目标语言文件的文件类型,将所述目标语言文件中的数据解析成键值对形式的数据,得到第二键值对集合。根据所述标准翻译文件的文件类型,将所述标准翻译文件中的数据解析成键值对形式的数据,得到第三键值对集合。

即分别对两个预设的文件目录进行文件遍历,通过判断文件扩展名确定文件类型,然后根据文件类型,调用服务端不同的语言文件解析方法进行文件读取和数据解析,最终得到解析后的键值对形式的基准语言数据和目标语言数据。而对于标准翻译文件,可以用excel解析方法将标准翻译文件解析成键值对形式的标准翻译数据。

s3:根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试。

具体地,若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译状态为已翻译;

若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译状态为未翻译;

若所述第一键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译状态为未翻译;

若所述第二键值对集合中存在所述第一键值对集合中不存在的键,则判定所述键的翻译状态为未翻译。

s4:根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试。

具体地,若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译结果为正确;

若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译结果为错误;

若所述第三键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译结果为错误;

若所述第三键值对集合中不存在所述第二键值对集合中存在的键,则判定所述键的翻译结果为未知。

进一步地,若一键值对存在于第一键值对集合,但不存在于第二键值对集合和第三键值对集合,则判定所述一键值对的翻译结果为未知。

进一步地,若一键的翻译结果为正确且所述一键的翻译状态为未翻译,则将所述一键的翻译状态修改为已翻译。例如,假设一个键在三个键值对集合中均存在,该键在第一键值对集合中的基准值为back,在第二键值对集合中的目标值为back,在第三键值对集合中的标准翻译值为back,则该键的最终的翻译状态为已翻译,翻译结果为正确。

s5:根据所述校验测试的结果,生成测试报告。即根据键值对及其对应的翻译状态和翻译结果,生成测试报告。

本实施例的方法可替代人工,实现对语言包的翻译状态的自动比对以及翻译结果的自动校验,提高测试效率和测试精准度,节约人工成本和时间成本;可自动遍历语言包中的所有字段,提高测试覆盖度;当产品规模十分大的时候,可按照业务需求,工具化、平台化、标准化整个语言测试流程,降低潜在风险。

实施例二

本实施例为上述实施例的一具体应用场景。

通过针对所有语言包的格式分析,所有的语言包都是由键-值(key-value)的结构组成,只不过在不同的应用程序体中表现的文件格式不同,如xml、json、strings、xlsx等。本实施例的测试方法是针对目前主流的应用程序多语言方案,通过通用化的语言包处理和解析流程,对应用程序的国际化多语言包进行批量化自动化的内容校验和翻译校验,并输出详细的语言包测试报告。具体过程如下:

1、先将要翻译校验的基准语言包和被校验的目标语言包分别压缩成.zip文件,将zip格式的语言包通过http的方式上传至服务端,并生成可下载的url地址。

2、服务端通过该url地址进行语言包下载,存放于特定的服务端目录,并分别解压基准语言包和目标语言包文件至各自文件目录。

3、对基准语言包和目标语言包目录进行文件遍历,通过判断文件扩展名确定语言文件类型,根据语言文件类型,调用服务端不同的语言文件解析方法进行文件读取和数据解析,最终得到解析后的json格式的基准语言数据({key:src_value})和目标语言数据({key:dst_value})。

4、通过json数据交叉比对算法,对基准语言数据和目标语言数据进行翻译状态比对,规则如下:

a、基准语言数据和目标语言数据存在相同key,如果value不同,则视为已翻译;

b、基准语言数据和目标语言数据存在相同key,如果value相同,则视为未翻译;

c、基准语言数据中存在目标语言数据中不存在的key,则视为未翻译;

d、目标语言数据中存在基准语言数据中不存在的key,则视为未翻译。

5、将标准翻译文件使用固定格式的excel文件进行标准化后上传至服务端,服务端用excel解析方法将标准翻译文件中的数据解析成key-value形式的json格式的标准翻译数据({key:check_value})。

6、将步骤4中的比对结果和步骤5中解析后的翻译数据进行校验,得到最终的翻译比对和校验状态的json结果数据。校验的规则如下:

a、标准翻译数据和目标语言数据存在相同key,如果value相同,则翻译结果视为正确;

b、标准翻译数据和目标语言数据存在相同key,如果value不同,则翻译结果视为错误;

c、标准翻译数据中存在目标语言数据中不存在的key,则翻译结果视为错误;

d、目标语言数据中存在基准语言数据中不存在的key,则翻译结果视为未知;

e、基准语言数据中存在目标语言数据和标准翻译数据中不存在的key,则翻译结果视为未知;

进一步地,经过上述校验后,若一键值对的翻译状态为未翻译但其翻译结果为正确,则将该键值对的翻译状态更新为已翻译。

最终得到的json结果数据可如下所示(以一个键值对为例):

7、将结果数据返回到客户端,客户端根据返回的json格式数据,使用不同的技术手段做最终的报告汇总和呈现,例如,使用web前端做报告呈现和展示。

为了使本实施例的具体应用场景更加清楚,请参照表1的校验逻辑表,其中,“√”和“×”分别表示key值是否存在,t和f分别表示true和false,代表value值是否相同。

表1:

对表1对应的实际案例如表2所示,其中,基准值为该键在基准语言数据中对应的值,目标值为该键在目标语言数据中对应的值,标准翻译值为该键在标准翻译文件中的对应的值。

表2:

该测试方法通过将所有格式的语言包文件转换成通用的json数据类型,通过json数据格式来做三方校验的枢纽,通过对json数据格式的交叉比对算法做为主线测试逻辑,然后根据翻译的业务逻辑,在服务端进行文件解析和数据校验,并返回最终的json数据格式的测试结果,客户端拿到测试结果的json数据后,就可以针对json格式的结果做解析和进行灵活的定制化的数据呈现。

实施例三

本实施例是对应上述实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取基准语言包、目标语言包和标准翻译文件;

分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合;

根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试;

根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试。

进一步地,所述获取基准语言包、目标语言包和标准翻译文件具体为:

分别对基准语言包和目标语言包进行压缩,得到两个压缩文件;

将所述两个压缩文件上传至服务端,并生成对应的url地址;

服务端根据所述url地址下载得到两个压缩文件,并分别对所述两个压缩文件进行解压,得到基准语言包和目标语言包;

将标准翻译文件转换为预设的文件格式后上传至服务端。

进一步地,所述分别将所述基准语言包、目标语言包和标准翻译文件中的数据解析成键值对形式的数据,得到第一键值对集合、第二键值对集合和第三键值对集合具体为:

根据基准语言包中的基准语言文件的扩展名,确定基准语言文件的文件类型;

根据所述基准语言文件的文件类型,将所述基准语言文件中的数据解析成键值对形式的数据,得到第一键值对集合;

根据目标语言包中的目标语言文件的扩展名,确定目标语言文件的文件类型;

根据所述目标语言文件的文件类型,将所述目标语言文件中的数据解析成键值对形式的数据,得到第二键值对集合;

根据所述标准翻译文件的文件类型,将所述标准翻译文件中的数据解析成键值对形式的数据,得到第三键值对集合。

进一步地,所述根据所述第一键值对集合和第二键值对集合,进行是否翻译的校验测试具体为:

若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译状态为已翻译;

若所述第一键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译状态为未翻译;

若所述第一键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译状态为未翻译;

若所述第二键值对集合中存在所述第一键值对集合中不存在的键,则判定所述键的翻译状态为未翻译。

进一步地,所述根据所述第二键值对集合和第三键值对集合,进行翻译是否正确的校验测试具体为:

若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值相同,则判定所述键的翻译结果为正确;

若所述第三键值对集合和第二键值对集合中存在相同的键,且所述键对应的值不同,则判定所述键的翻译结果为错误;

若所述第三键值对集合中存在所述第二键值对集合中不存在的键,则判定所述键的翻译结果为错误;

若所述第三键值对集合中不存在所述第二键值对集合中存在的键,则判定所述键的翻译结果为未知。

进一步地,还包括:

若第一键值对集合中存在所述第二键值对集合和所述第三键值对集合中不存在的键,则判定所述键的翻译结果为未知;

若一键的翻译结果为正确且所述一键的翻译状态为未翻译,则将所述一键的翻译状态修改为已翻译。

进一步地,还包括:

根据所述校验测试的结果,生成测试报告。

综上所述,本发明提供的一种语言校验测试方法及计算机可读存储介质,可替代人工,实现对语言包的翻译状态的自动比对以及翻译结果的自动校验,提高测试效率和测试精准度,节约人工成本和时间成本;可自动遍历语言包中的所有字段,提高测试覆盖度;当产品规模十分大的时候,可按照业务需求,工具化、平台化、标准化整个语言测试流程,降低潜在风险。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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