CN112100063B - 界面语言的显示测试方法、装置、计算机设备和存储介质 - Google Patents
界面语言的显示测试方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112100063B CN112100063B CN202010893254.6A CN202010893254A CN112100063B CN 112100063 B CN112100063 B CN 112100063B CN 202010893254 A CN202010893254 A CN 202010893254A CN 112100063 B CN112100063 B CN 112100063B
- Authority
- CN
- China
- Prior art keywords
- text
- interface
- information
- network
- language
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Abstract
本申请涉及一种界面语言的显示测试方法、装置、计算机设备和存储介质。所述方法包括:遍历待测试软件的目标界面,获取目标界面对应的界面图像;对界面图像进行文本识别,得到文本识别信息;根据文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;获取第一文本信息在第二语言模式下的第三文本信息;将第三文本信息与第二文本信息进行文本比对,根据文本比对结果确定第二语言模式对应的界面文本异常;根据第二语言模式对应的界面文本异常,得到目标界面在第二语言模式下的显示测试结果。上述方案能够通过机器学习技术快速获取到目标界面中的文本翻译异常和文本显示异常,进而准确得到目标界面的显示测试结果。
Description
技术领域
本申请涉及网络测试技术领域,特别是涉及一种界面语言的显示测试方法、装置、计算机设备和存储介质。
背景技术
软件在使用不同语言的地区发布之前必须对语言支持进行场景测试,即进行界面语言的显示测试。比如希望在Google Play上发布一个APP(Application,应用程序),该APP提供给全球用户下载,需要支持英语、泰语、韩语、阿拉伯语等地区的语言,那么就需要对软件进行界面语言的显示测试。
传统的界面语言的显示测试通常是自动化翻译检查和人工UI(User Interface,用户界面)抽查相结合。但是,这种测试方式无法覆盖所有的情况,翻译正确的文本可能出现显示异常,这就使得界面语言的显示测试的整体准确性较低,存在文本显示异常的风险。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效提高界面语言的显示测试准确性的界面语言的显示测试方法、装置、计算机设备和存储介质。
一种界面语言的显示测试方法,所述方法包括:遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;对所述界面图像进行文本识别,得到文本识别信息;根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;获取所述第一文本信息在所述第二语言模式下的第三文本信息;将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常;根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
在一个实施例中,在所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息之后,还包括:当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。
在一个实施例中,所述文本区域提取网络包括区域提取网络、区域排序网络、区域确定网络和边缘调整网络;所述由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域,包括:由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;由所述区域排序网络对所述第一文本区域进行排序;由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
在一个实施例中,在所述将所述界面图像输入基于深度学习的文本区域检测网络之前,还包括:对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
在一个实施例中,所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息,包括:将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
在一个实施例中,所述界面业务操作包括鼠标操作和键盘操作;所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取所述待测试软件中的界面控件;对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
在一个实施例中,所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取预先固化的所述鼠标操作和所述键盘操作的操作流程;根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
一种界面语言的显示测试装置,所述装置包括:图像获取模块,用于遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;文本识别模块,用于对所述界面图像进行文本识别,得到文本识别信息;第一文本信息获取模块,用于根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;第二文本信息获取模块,用于获取所述第一文本信息在所述第二语言模式下的第三文本信息;文本异常确定模块,用于将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常;测试结果确定模块,用于根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
在一个实施例中,文本异常确定模块,包括:文本内容比对子模块,用于将所述第三文本信息与所述第二文本信息的文本内容进行比对;翻译显示异常确定子模块,用于根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常;文本异常确定子模块,用于将所述文本翻译异常和所述文本显示异常确定为所述界面文本异常。
在一个实施例中,翻译显示异常确定子模块,包括:翻译异常确定单元,用于当根据所述文本内容的比对结果确定所述第二文本信息中存在与所述第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到所述文本翻译异常;显示异常确定单元,用于当根据所述文本内容的比对结果确定文本信息满足以下至少一项时,得到所述文本显示异常:当所述第一文本信息中的句尾文本不存在于所述第二文本信息时,判定存在文本被截断;当所述第一文本信息中的句中文本不存在于所述第二文本信息时,判定存在文本被省略;当所述第一文本信息在第一目标行的行尾文本与所述第二文本信息在所述第一目标行的行尾文本不对应,且,所述第一文本信息在第二目标行的行首文本与所述第二文本信息在所述第二目标行的行首文本不对应时,判定文本换行有误;所述第一目标行和所述第二目标行是相连续的行。
在一个实施例中,所述文本内容比对子模块,包括:第一文本获取单元,用于获取所述第三文本信息中的第一文本;第二文本获取单元,用于获取所述待测试软件的语言配置文件中的第二文本;编辑距离计算单元,用于通过模糊字符串匹配工具计算所述第一文本与所述第二文本之间的最小编辑距离;匹配文本获取单元,用于根据所述最小编辑距离从所述第二文本中获取所述第一文本的模糊匹配文本;文本比对单元,用于将所述第一文本的模糊匹配文本和所述第二文本信息中的文本进行比对。
在一个实施例中,所述装置,还包括:拼写异常确定模块,用于当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;界面文本异常确定模块,用于根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。
在一个实施例中,第二文本信息获取模块,包括:配置文件获取子模块,用于获取所述待测试软件的语言配置文件;所述语言配置文件包含所述目标界面在所述第一语言模式以及所述第二语言模式下的文本信息;文本信息获取子模块,用于从所述语言配置文件中获取所述第一文本信息在所述第二语言模式下的第三文本信息。
在一个实施例中,文本识别模块,包括:区域检测子模块,用于将所述界面图像输入基于深度学习的文本区域检测网络,通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域;文本识别子模块,用于将所述目标文本区域输入基于深度学习的文本信息识别网络,通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息。
在一个实施例中,所述文本区域检测网络包括特征提取网络、特征加强网络和文本区域提取网络;所述区域检测子模块,包括:特征提取单元,用于将所述界面图像输入所述特征提取网络,由所述特征提取网络中的紧凑型初始化块对所述界面图像进行文本特征提取,并根据所提取的文本特征得到文本特征序列;特征加强单元,用于将所述文本特征序列输入所述特征加强网络,由所述特征加强网络中的自适应循环神经网络获取所述文本特征序列与对应相邻特征序列的关联性,并根据所述关联性对所述文本特征序列进行文本区域预测,得到文本区域预测信息;区域提取单元,用于将所述文本区域预测信息输入所述文本区域提取网络,由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域。
在一个实施例中,所述文本区域提取网络包括区域提取网络、区域排序网络、区域确定网络和边缘调整网络;区域提取单元,包括:第一区域提取子单元,用于由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;区域排序子单元,用于由所述区域排序网络对所述第一文本区域进行排序;第二区域提取子单元,用于由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;边缘调整子单元,用于由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
在一个实施例中,所述文本信息识别网络包括卷积神经网络、特征解码网络和连接时序分类网络;文本识别子模块,包括:特征提取单元,用于将所述目标文本区域输入所述卷积神经网络,以通过所述卷积神经网络对所述目标文本区域进行图像特征提取,得到初始文本特征;特征解码单元,用于将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征;特征连接单元,用于将所述目标文本特征输入所述连接时序分类网络,以通过所述连接时序分类网络根据时序信息对所述目标文本特征进行连接,得到所述文本识别信息。
在一个实施例中,所述特征解码网络包括循环神经网络和注意力网络:特征解码单元,还用于将所述初始文本特征输入所述特征解码网络,以通过所述循环神经网络对所述初始文本特征进行解码得到文本特征信息,并通过所述注意力网络为所述初始文本特征生成权重,根据所述权重对所述文本特征信息进行调整,得到所述目标文本特征。
在一个实施例中,文本识别模块,还包括:图像修正子模块,用于对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
在一个实施例中,第一文本信息获取模块,包括:文本过滤子模块,用于将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;信息获取子模块,用于从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
在一个实施例中,所述第一语言模式为中文模式,所述第二语言模式为英文模式;所述装置,还包括:中文纠错模块,用于将所述第三文本信息输入中文纠错模型,通过所述中文纠错模型对所述第三文本信息进行文本纠错;所述中文纠错模型包括:基于深度学习的中文纠错工具、中文语言模型和业务领域语言模型,以及预设的语言混淆集;英文纠错模块,用于通过英文词典库检查所述第二文本信息中的文本错误,剔除所述第二文本信息中的文本错误;所述英文词典库包括通用英文词典和自定义英文词典。
在一个实施例中,图像获取模块,包括:界面遍历子模块,用于模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面;界面截图子模块,用于对所述目标界面进行截图,得到所述界面图像。
在一个实施例中,所述界面业务操作包括鼠标操作和键盘操作;界面遍历子模块,包括:控件获取单元,用于获取所述待测试软件中的界面控件;第一界面遍历单元,用于对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
在一个实施例中,界面遍历子模块,包括:操作流程获取单元,用于获取预先固化的所述鼠标操作和所述键盘操作的操作流程;第二界面遍历单元,用于根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
在一个实施例中,所述装置,还包括:第三文本信息获取模块,用于获取所述第二文本信息在所述第一语言模式下的第四文本信息;文本比对模块,用于将所述第四文本信息作为参考,与所述第一文本信息进行文本比对,根据文本比对结果确定所述第一语言模式对应的界面文本异常;显示测试结果确定模块,用于根据所述第一语言模式对应的界面文本异常,得到所述目标界面在所述第一语言模式下的显示测试结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;对所述界面图像进行文本识别,得到文本识别信息;根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;获取所述第一文本信息在所述第二语言模式下的第三文本信息;将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常;根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;对所述界面图像进行文本识别,得到文本识别信息;根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;获取所述第一文本信息在所述第二语言模式下的第三文本信息;将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常;根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
上述界面语言的显示测试方法、装置、计算机设备和存储介质,遍历待测试软件在至少两种语言模式下的目标界面的界面图像;对界面图像进行文本识别,以获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;以第一文本信息在第二语言模式下的文本信息为参考,与第二文本信息进行文本比对,根据文本比对结果确定第二语言模式对应的文本翻译异常和文本显示异常,得到界面文本异常,进而得到目标界面在第二语言模式下的显示测试结果。能够通过图像文本识别的方式快速获取到目标界面中的文本翻译异常和文本显示异常,进而准确得到目标界面的显示测试结果。
附图说明
图1为一个实施例中界面语言的显示测试方法的应用环境图;
图2为一个实施例中界面语言的显示测试方法的流程示意图;
图3为一个实施例中业务界面的示意图;
图4为一个实施例中目标界面的示意图;
图5为一个实施例中从界面图像中获取文本信息的示意图;
图6为另一个实施例中从界面图像中获取文本信息的示意图;
图7为一个实施例中文本被截断的示意图;
图8为一个实施例中文本被省略的示意图;
图9为一个实施例中文本未正确换行的示意图;
图10为一个实施例中语言配置文件的示意图;
图11为一个实施例中文本区域检测网络的结构示意图;
图12为一个实施例中文本信息识别网络的结构示意图;
图13为一个实施例中根据界面图像得到文本识别信息的过程示意图;
图14为再一个实施例中从界面图像中获取文本信息的示意图;
图15为又一个实施例中从界面图像中获取文本信息的示意图;
图16为一个实施例中对中英文进行分别纠错的流程示意图;
图17为一个实施例中界面图像的示意图;
图18为另一个实施例中界面语言的显示测试方法的流程示意图;
图19为再一个实施例中界面语言的显示测试方法的流程示意图;
图20为一个实施例中界面语言的显示测试装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其上可以安装待测试软件,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种界面语言的显示测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该显示屏能够通过界面显示待测试软件在至少两种语言模式下的业务界面。该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供的界面语言的显示测试方法可以基于人工智能技术实现。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的界面语言的显示测试方法可以通过计算机视觉技术和机器学习技术实现。
其中,计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR(Optical Character Recognition,光学文本识别)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
进一步的,本发明实施例提供的方案涉及人工智能的计算机视觉技术和机器学习等,具体通过如下实施例进行说明:
在一个实施例中,提供了一种界面语言的显示测试方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。其中,其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,提供了一种界面语言的显示测试方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S201,遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面。
软件在使用不同语言的地区发布之前必须对语言支持进行场景测试,即进行界面语言的显示测试。其中,界面语言指的是显示在界面上的语言,可以是世界上在使用的各种语言,例如:汉语(Chinese)、英语(English)、德语(German)、法语(French)、维吾尔语(Uyghur)、土耳其语(Turkish)、日本语(Japanese)、越南语(Vietnamese)、朝鲜语(Korean)、藏语(Tibetan)等。在软件开发过程中,往往有一个基础语言模式,将基础语言模式下的文本翻译成其他语言模式下的文本,例如:将中文翻译成英文、日文、韩文等。通常情况下软件多语言会由专业的翻译团队进行语言翻译最终生成相关的语言配置文件。由于是人工操作,难免会出现遗漏翻译(漏翻)或拼写错误等情况。此时就需要进行自动化的翻译检查。除了语言形式上的差别,不同国家和地区,软件在进行文本显示时也会存在一定的区别,例如:日期的显示习惯不一样,文字的换行显示有不同的处理方法,文字的阅读顺序不一致等。此时就需要进行自动化的显示格式检查。这些都是界面语言测试(当界面语言涉及到3种及以上时,界面语言测试也可以称为多语言测试)需要重点关注的。
其中,待测试软件可以是能够支持至少两种语言模式的软件,可以是各种类型的应用程序(Application,APP)。该待测试软件在业务运行过程中会打开对应的业务界面。该待测试软件也可以替换为WEB(World Wide Web,全球广域网)网站等。进一步的,该待测试软件和WEB网站等可以运行在Android设备、IOS设备以及智能TV等物联网设备中。
各个业务界面对应有至少两种语言模式。以图3所示,一个业务界面对应有英文语言模式如图3中(1)所示和中文语言模式如图3中(2)所示的两个目标界面。进一步的,每个目标界面可以对应有语言模式标识,以图3为例,图3中(1)对应的语言模式标识为“英文”,图3中(2)对应的语言模式标识为“中文”(虽然该目标界面中包含有英文单词,但是整个界面仍为中文语言模式下的界面)。另一方面,待测试软件实际所能支持的语言模式为两种及以上时,可以获取所有获取其中两种语言模式下的目标界面。
进一步的,目标界面可以指携带有语言文本信息(例如:各种语言模式下的文字、文本等)的界面,具体的,可以指显示有文本的界面。遍历待测试软件的目标界面可以指逐步或者同时打开待测试软件的所有目标界面。获取目标界面对应的界面图像可以是获取待测试软件所有业务界面对应的图像,也可以是获取其中部分业务界面(可以根据实际情况选择)的图像。进一步,获取界面图像的方式可以是进行界面截图。另一方面,目标界面可以指整个业务界面,可以是当前的活动窗口,以图4所示的界面为例,目标界面可以是整个图4的界面401,也可以当前业务所针对的小窗口402。
S202,对所述界面图像进行文本识别,得到文本识别信息。
界面图像中携带有语言文本,本步骤通过对界面图像中的文本进行文本识别,提取出其中携带的语言文本,即得到文本识别信息。进一步的,文本识别信息可以包括各个文本的含义、在界面图像中的位置等。更进一步的,在进行文本识别的过程中,可以对文本的语言模式进行区分,以准确确定出界面图像中各个文本的信息,以图3中(2)所示,对于“修复ABC至稳定版本”,准确识别出“修复”和“至稳定版本”为中文文本,“ABC”为英文文本。
具体的,可以通过OCR技术来进行文本识别。其中,OCR是指电子设备(例如扫描仪或数码相机)检查图像上的文本,通过检测暗、亮的模式确定其形状,然后用文本识别方法将形状翻译成计算机文字的过程。进一步的,可以通过基于深度学习的文本识别模型来对界面图像进行OCR文本识别,进而得到文本识别信息。
进一步的,文本识别可以包括文字检测和内容识别两部分。其中,文字检测即检测文本的所在位置、范围及其布局。通常也包括版面分析和文字行检测等。文字检测主要解决的问题是哪里有文字,文字的范围有多大。内容识别是在文本检测的基础上,对文本内容进行识别,将图像中的文本区域转化为文本信息。文字识别主要解决的问题是每个文字是什么。
S203,根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息。
可以根据目标界面的语言标识来获取第一文本信息和第二文本信息。以图3为例,将图3中(1)对应的所有文本信息确定为英文语言模式下的第一文本信息,将图3中(2)对应的所有文本信息确定为中文语言模式下的第二文本信息。对于英文语言模式,以图5为例,图5右侧的7个文本为根据左侧的界面图像所识别出的所有文本,此时可以将这7个文本确定为第一文本信息。对于中文语言模式,以图6为例,图6右侧的6个文本为根据左侧的界面图像所识别出的所有文本,此时可以将这6个文本确定为第二文本信息。
需要说明的是,本步骤获取第一语言模式以及第二语言模式这两种语言模式下的文本信息,以便后续确定第二语言模式的界面文本异常。在实际的界面语言的显示测试过程中,如果待测试软件能支持的语言模式不止两种,则可以获取更多语言模式下的文本信息,例如:可以获取中文、英文、韩文和日本语言模式下的文本信息,以中文语言模式为参考,对英文、韩文和日本语言模式进行检测,以确定英文、韩文和日本语言模式的界面文本异常。当然,也可以以中文、韩文和日本语言模式为参考,对英文语言模式进行检测,以确定英文语言模式的界面文本异常。甚至可以以中文和韩文语言模式为参考,对日本和英文语言模式进行检测,以确定日文和英文语言模式的界面文本异常。
S204,获取所述第一文本信息在所述第二语言模式下的第三文本信息。
要进行界面语言的显示测试,就要确定某一语言模式下的文本在翻译内容和显示格式上是否存在问题。本发明实施例通过文本信息比对的方式实现(具体参见S205)。而比对的前提是文本信息的语言模式一致,因此,本步骤将第一文本信息转换为第二语言模式下的文本信息,得到第三文本信息,以便后续在第二语言模式下进行文本信息的比对。
S205,将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常。
本步骤以第三文本信息为标准,将第二文本信息与第三文本信息进行比对,查找出第二文本信息中与第三文本信息不对应的内容,根据这个不对应的内容确定第二语言模式对应的界面文本异常。
其中,界面文本异常可以指翻译异常和UI(是指对软件的人机交互、操作逻辑、界面美观的整体设计)显示异常。其中,翻译异常主要是漏翻、拼写错误、长度超长等问题。UI显示异常主要是显示格式异常,例如:文本被截断、被省略(例如:专题…广场,其中的“…”表示未被翻译的内容),或者文本显示超出窗体、文本未正确换行、文本显示异常导致背景图片被拉伸甚至引发崩溃等等。进一步的,本步骤可以根据文本比对结果确定第二文本信息中的文本翻译异常和文本显示异常,将文本翻译异常和文本显示异常确定为界面文本异常。
可以在一次界面语言的显示测试过程中确定一个语言模式对应的界面文本异常(如S205中确定第二语言模式对应的界面文本异常),之后确定其他语言模式对应的界面文本异常。也可以在一次界面语言的显示测试过程中确定所有语言模式对应的界面文本异常(此时可以是将各个语言模式对应的文本信息进行两两比对,以确定各个语言模式对应的界面文本异常)。
S206,根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
本步骤,在确定第二语言模式对应的界面文本异常后,根据该界面文本异常得到目标界面在第二语言模式下的显示测试结果。
其中,显示测试结果可以直接指某个目标界面在某个语言模式下的界面文本异常。显示测试结果也可以是对界面异常进行评价的信息,例如,根据界面文本异常在整个文本中的占比确定出该目标界面的异常程度,进而将异常程度确定为显示测试结果。进一步的,当异常程度较低时,可以不对界面文本进行调整;而当异常程度较高时,可以对其中的界面文本异常进行调整,以降低目标界面的异常程度。
传统的界面语言测试通常是:测试人员通过同时操作多个语言的软件,进行翻译检查和界面对比,在界面显示对比方面有较大优势,可以很准确判断出文本显示问题。但是,发明人发现,由于语言、文化差异等原因,通常需要母语环境做参考,同步操作至少两套软件,测试效率较低。另一种方案就是只对翻译的文本做自动化检查,重点检查翻译问题,UI界面的显示问题则进行人工抽查的方式,不做全路径遍历。由于只是针对翻译文本进行检查,UI界面的实际显示并未涉及,因此就存在翻译正确的文本在实际的显示过程中会出现截断、省略、超长显示范围等异常情况。综上,目前的界面语言的显示测试方法准确性较低。因此,本发明实施例提出一种界面语言的显示测试方法,遍历待测试软件在至少两种语言模式下的目标界面的界面图像;对界面图像进行文本识别,以获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;以第一文本信息在第二语言模式下的文本信息为参考,与第二文本信息进行文本比对,根据文本比对结果确定第二语言模式对应的文本翻译异常和文本显示异常,得到界面文本异常,进而得到目标界面在第二语言模式下的显示测试结果。能够通过图像文本识别的方式快速获取到目标界面中的文本翻译异常和文本显示异常,进而得到目标界面的显示测试结果。
在一个实施例中,所述将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常,包括:将所述第三文本信息与所述第二文本信息的文本内容进行比对;根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常;将所述文本翻译异常和所述文本显示异常确定为所述界面文本异常。
具体的,可以将第三文本信息和第二文本信息中的文本逐个比对,确定其中文本的匹配性,以根据该匹配性从第二文本信息和第三文本信息中确定出没有匹配文本的异常文本。进而根据该异常文本的文本形式确定是文本翻译异常还是文本显示异常。其中,文本形式可以是异常文本的拼写、笔画、位置等。
文本翻译异常可以是漏翻、拼写错误、长度超长、翻译出错等异常。其中,漏翻可以指遗漏翻译,例如,第二语言模式的文本是根据第一语言模式中的文本翻译得到,第二文本信息中的文本本来应该都是第二语言模式下的文本,但是却存在第一语言模式下的文本,此时可以认为第二文本信息中存在漏翻这一异常情况,举例如下:在英文语言的图片中发现中文,即认为存在漏翻的情况。拼写错误可以指单词拼写出错,比如:将computer(电脑)拼写成了conputer。长度超长可以指文本的显示超过显示区域,此时可以返回给翻译人员,以翻译成更短的文本。长度超长的确定过程可以类比文本被截断的确定方式(参见后续实施例)。翻译出错可以指所翻译的内容出错,但是拼写正确,例如把电脑(computer)翻译成了machine(机器)。
文本显示异常可以是文本在显示格式上的异常,可以包括:文本被截断、文本被省略、文本未正确换行(也可以称为文本换行有误)等。其中,文本被截断可以指文本内容被切断,以至于文本识别信息中只有部分文本信息,以图7为例,图7中的“当前版本出现异常,为保证正常使用,即将修复至稳定版本”超过目标界面的窗体范围,则所获取的界面图像中仅包含其中的“当前版本出现异常,为保证正常使用,即将”,这种情况就可以认定为文本被截断(也可以称为文本超出窗体显示)。文本被省略可以指文本内容缺失,以至于文本识别信息中只有部分文本信息,以图8为例,图8中的“即将进行修复”遗漏“进”这一文本,这种情况就可以认定为文本被省略。文本未正确换行可以指文本在多行显示的情况下,换行出错,以图9为例,正确的显示格式应该为“当前版本出现异常,为保证正常使用”在第一行,“即将修复至稳定版本”在第二行,而图9中本来应该在第一行显示的“使用”显示在了第二行,这种情况就可以认定为文本未正确换行。
上述实施例通过文本内容的比对自动确定出第二文本信息中的文本翻译异常和文本显示异常,不需要通过人工进行UI界面的比对,在保证检测效率的情况下能得出准确的界面文本异常。
在一个实施例中,假设第二语言模式的文本是从第一语言模式翻译得到,则所述根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常,包括:当根据所述文本内容的比对结果确定所述第二文本信息中存在与所述第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到所述文本翻译异常。
在某些实施例中,也可以确定第二文本信息的原始语言模式(即其翻译的基础语言模式,此时不一定是第一语言模式),如果确定第二文本信息中还存在原始语言模式下的文本信息,则判定存在文本遗漏翻译。
上述实施例根据文本内容的比对能准确确定出第二文本信息中遗漏翻译的情况,确定过程简单,效率高。
进一步的,所述根据文本内容的比对结果得到所述第二文本信息对应的文本显示异常,包括:当根据所述文本内容的比对结果确定文本信息满足以下至少一项时,得到所述文本显示异常:当所述第一文本信息中的句尾文本不存在于所述第二文本信息时,判定存在文本被截断;当所述第一文本信息中的句中文本不存在于所述第二文本信息时,判定存在文本被省略;当所述第一文本信息在第一目标行的行尾文本与所述第二文本信息在所述第一目标行的行尾文本不对应,且,所述第一文本信息在第二目标行的行首文本与所述第二文本信息在所述第二目标行的行首文本不对应时,判定文本换行有误;所述第一目标行和所述第二目标行是相连续的行。
其中,句尾文本可以是第一文本信息中某一句(可以以句号、问号、空格等标志来进行句子的划分)的末尾。以图7为例,其中的“修复至稳定版本”就可以理解为句尾本文。在某些实施例中,在第一文本信息中的行尾文本(即,一行的末尾,此时不一定是句尾)不存在于所述第二文本信息时,也可以判定存在文本被截断。进一步的,句尾文本中文本的数量可以根据实际情况确定,可以是最后一个字、倒数两个字、倒数三个字等。本实施例在确定第一文本信息中的句尾文本不存在于第二文本信息时,判定第二文本信息存在文本被截断。
句中文本可以是某一句中间位置的文本,即不在开头位置也不在结尾位置的文本。本实施例在确定第一文本信息中的句中文本不存在于第二文本信息时,判定第二文本信息存在文本被省略。
对于目标界面中存在两行文本的情况(例如:第1行和第2行),当第一文本信息在第1行的行尾文本与第二文本信息在第1行的行尾文本不对应,且,第一文本信息在第2行的行首文本与第二文本信息在第2行的行首文本不对应时,说明本来应该在第1行的文本显示在了第2行(或者本来应该在第2行的文本显示在了第1行),此时判定第二文本信息文本换行有误。在某些实施例中,如果目标界面中的文本存在三行及以上,则可以按照类似的方式确定文本换行是否正确,具体的,以3行为例,当第一文本信息在第1行的行尾文本与第二文本信息在第1行的行尾文本不对应且第一文本信息在第2行的行首文本与第二文本信息在第2行的行首文本不对应时,或者,当第一文本信息在第2行的行尾文本与第二文本信息在第2行的行尾文本不对应且第一文本信息在第3行的行首文本与第二文本信息在第3行的行首文本不对应时,判定文本换行有误,即,只要有一个地方存在换行问题,则认为第二文本信息文本换行有误。
上述实施例,将第一文本信息和第二文本信息进行文本内容的比较,根据比较结果确定出其中显示格式的问题,进而得到文本显示异常,其确定过程简单,效率高。
在一个实施例中,所述将所述第三文本信息与所述第二文本信息的文本内容进行比对,包括:获取所述第三文本信息中的第一文本;获取所述待测试软件的语言配置文件中的第二文本;通过模糊字符串匹配工具计算所述第一文本与所述第二文本之间的最小编辑距离;根据所述最小编辑距离从所述第二文本中获取所述第一文本的模糊匹配文本;将所述第一文本的模糊匹配文本和所述第二文本信息中的文本进行比对。
其中,语言配置文件可以是预先为待测试软件配置的文本信息,该文件中包含有待测试软件在各个业务界面各个语言模式下的界面语言。语言配置文件可以是专业翻译团队所翻译的文本。以中文为例,可以包含其中的“确定”、“取消”、“返回”、“下载”、“提交”、“编辑”、“加入”、“创建”、“提示”、“版本修复”、“检查更新”、“官方网站”、“用户协议”等等文本信息。
可以逐个获取第三文本信息中的文本,作为第一文本,进而从语言配置文件中确定其模糊匹配文本。另外,可以获取语言配置文件中第二语言模式下的文本,作为第二文本。
具体的,可以通过FuzzyWuzzy等模糊匹配(可以称为非完全匹配)工具来计算第一文本和第二文本之间的最小编辑距离。该最小编辑距离可以理解为各个第二文本与第一文本的相似度。在确定最小编辑距离之后,从第二文本中确定出最小编辑距离最小(即相似度最高)的第二文本,作为第一文本的模糊匹配文本。
在某些情况下,通过文本识别确定的第一文本信息可能不是完全正确,本实施例通过模糊匹配的方式提高翻译检查的容错性,在第一文本信息有瑕疵的情况下仍能准确确定出对应的模糊匹配文本,以与第二文本信息中的文本进行比对,保证语言测试结果的可靠性。
在一个实施例中,在所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息之后,还包括:当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。该拼写异常也可以认为是文本翻译异常。
其中,拼写纠错工具指的是能够对文本的字母拼写情况进行检测的工具。
拼写纠错工具可以针对英文、法文等字母拼写类的语言模式确定拼写异常。而对于中文、日文等字形类的语言模式,则可以将拼写纠错工具替换为字形纠错工具。进一步的,当通过字形纠错工具获取到所述第二文本信息的字形错误(可以是缺少某个笔画、偏旁等)时,判定存在字形异常;根据字形异常,得到第二语言模式对应的界面文本异常。
进一步的,对于英文,可以使用PyEnchant(基于Python语言的拼写纠错工具)作为拼写纠错工具,对于中文,可以使用PyCorrector(一种基于深度学习模型的中文文本纠错工具)作为文本纠错工具。
上述实施例通过纠错工具准确确定出第二文本信息中的界面文本异常,结合前述实施例,能检测出第二语言模式下的文本翻译异常(文本遗漏翻译、拼写异常等)以及文本显示异常(存在文本被截断、存在文本被省略、文本换行有误等)。因此能通过文本识别信息检测出目标界面上尽可能多的界面文本异常,保证语言测试结果的可靠性。
在一个实施例中,所述获取所述第一文本信息在所述第二语言模式下的第三文本信息,包括:获取所述待测试软件的语言配置文件;所述语言配置文件包含所述目标界面在所述第一语言模式以及所述第二语言模式下的文本信息;从所述语言配置文件中获取所述第一文本信息在所述第二语言模式下的第三文本信息。
语言配置文件的其中一个示例如图10所示。图10中包含各个键在中文、英文、日本、韩文下的文本。
具体的,以第一语言模式为中文第二语言模式为英文为例,得到第三文本信息的过程可以是:依照语言配置文件将第一文本信息由中文转换为英文模式,得到第三文本信息。此时,第三文本信息和第二文本信息均为第二语言模式下的文本信息,这两者就能很好地进行一一比对了。
上述实施例通过语言配置文件来对文本信息进行语言模式的转换,能使得进行比对的文本信息处于同一语言模式下,使得比对结果具有较高的可靠性,进而可以得到准确的语言测试结果。
在一个实施例中,所述对所述界面图像进行文本识别,得到文本识别信息,包括:将所述界面图像输入基于深度学习的文本区域检测网络,通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域;将所述目标文本区域输入基于深度学习的文本信息识别网络,通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息。
其中,目标文本区域为界面图像中文本所在的区域。以图5为例,左侧通过方框框选出了目标界面中的7个文本,以图6为例,左侧通过方框框选出了目标界面中的6个文本,这些方框对应的区域即为目标文本区域。
本发明实施例通过文本区域检测网络来确定目标文本区域。其中,文本区域检测网络(也可以称为文本检测网络)可以是:SSD、CTPN、Faster R-CNN、Box Regressor(边框回归)等。文本区域检测网络也可以是基于这些网络结合文字场景特点改进得到的网络。其中,SSD(Single Shot MultiBox Detector)是一个非常经典的单级式目标检测算法。CTPN(Detecting Text in Natural Image with Connectionist Text Proposal Network),是基于连接预选框网络的文本检测。该模型主要是对图片中的文本行进行准确定位,其基本做法是直接在卷积获得的feature map(特征图)上生成的一系列适当尺寸的文本proposals(预选框)进行文本行的检测。Faster R-CNN为RPN和Fast R-CNN的结合,通过RPN代替Selective Search来提取候选区域,加快了网络的运行速度,其中,RPN(RegionProposal Network,候选区域网络),是一种全卷积网络(Fully-Convolutional Network,FCN),主要用于生成候选区域,也就是估计目标物体的位置和大小,它与Fast R-CNN共享卷积层。
进一步的,本发明实施例通过文件信息识别网络确定目标文本区域对应的文本识别信。其中,文本信息识别网络可以是:CRNN+CTC、CNN+Seq2Seq+Attention等。也可以是基于这些网络结合文字场景特点改进得到的网络。其中,CRNN 全称为 ConvolutionalRecurrent Neural Network,主要用于端到端地对不定长的文本序列进行识别,不用先对单个文字进行切割,而是将文本识别转化为时序依赖的序列学习问题,就是基于图像的序列识别;CTC全称为Connectionist Temporal Classification,用来解决输入序列和输出序列难以一一对应的问题。CNN全称为Convolutional Neural Networks(卷积神经网络),是一类包含卷积或相关计算且具有深度结构的前馈神经网络(Feedforward NeuralNetworks),是深度学习(deep learning)的代表算法之一;seq2seq 是一个Encoder(编码)–Decoder (解码)结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列;Attention表示注意力机制。
上述实施例通过基于深度学习的文本区域检测网络确定界面图像中的目标文本区域,通过基于深度学习的文本信息识别网络确定目标文本区域中的文本信息,以得到文本识别信息,基于深度学习的网络通过大量的训练样本训练得到,能准确地对输入进行处理,使得最终得到的文本识别信息具有较高的准确性。
在一个实施例中,所述文本区域检测网络包括特征提取网络、特征加强网络和文本区域提取网络;所述通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域,包括:将所述界面图像输入所述特征提取网络,由所述特征提取网络中的紧凑型初始化块对所述界面图像进行文本特征提取,并根据所提取的文本特征得到文本特征序列;将所述文本特征序列输入所述特征加强网络,由所述特征加强网络中的自适应循环神经网络(RNN)获取所述文本特征序列与对应相邻特征序列的关联性,并根据所述关联性对所述文本特征序列进行文本区域预测,得到文本区域预测信息;将所述文本区域预测信息输入所述文本区域提取网络,由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域。
其中,特征提取网络可以由多个紧凑型初始化块(Compact Inception blocks)组成。在某些情况下,特征提取网络是在CNN的基础上增加Compact Inception blocks得到。为了解决不同字体大小的多尺度特征问题,本发明实施例在经典Inception结构的基础上,提出Compact Inception。Compact Inception将大小不一的卷积核重新设计组织在一起,以适应不同尺度的文字图像特征提取,对小字的敏感度大幅加强。同时,小卷积的计算显著降低网络复杂度。实验证明Compact Inception相对其它CNN结构大幅提升了各尺度文字的检测能力,尤其是小字提取能力,同时具有极强的性能弹性,能保证文字检测的准确性。
发明人发现,在进行文字检测的过程中,保证文本行检测的完整性以及同文本行不被拆分,是提升检测整体精度的一个重要方面,关系到后续文字识别的完整性,否则容易在box(区域确定网络)切断处出现丢字或错误。在较大字间距的场景,会对文本行检测完整性上带来很大挑战,这也是常规物体检测网络表现不好的地方。针对此场景,本发明实施例引入了多层自适应RNN网络,其对上下文(context)进行更强地记忆和学习,将上下左右相邻的特征连接起来,提升文本行的特征连续性,这样可有效减小字间距带来的影响,实现更强的行检测完整性,能保证文字检测的准确性。进一步的,特征加强网络得到的文本区域预测信息可以指界面图像中某个区域是文本所在区域的概率。
总体来说,上述实施例用CNN提取图片特征,将提取到的特征转换成特征序列作为RNN的输入,用于对卷积层输出的特征序列的每一帧进行预测,得到文本区域预测信息,进而由文本区域提取网络在界面图像中提取出目标文本区域。具体的,在经过特征提取网络进行文本特征提取后,从界面图像中提取出各种尺寸的文本,之后通过特征加强网络对文本的上下文信息进行分析,进而确定界面图像中各行的文本,再通过文本区域提取网络对文本所在的区域进行提取,得到目标文本区域。整个文本区域提取的过程充分考虑到了文本的字体大小和上下文,能准确定位出文本所在的区域,进而得到准确的目标文本区域,以保证后续内容识别的准确进行。
在一个实施例中,所述文本区域提取网络(Proposal)包括区域提取网络、区域排序网络(Scores)、区域确定网络(Boxes)和边缘调整网络(Box Refinement);所述由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域,包括:由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;由所述区域排序网络对所述第一文本区域进行排序;由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
区域提取网络可以根据文本区域预测信息确定出可能的文本区域(第一文本区域)。该区域提取网络还可以确定这些第一文本区域与所框选文本的相关度。由区域排序网络根据相关度对第一文本区域进行排序,得到相关度由高到低的第一文本区域。由区域确定网络从排序后的第一文本区域中选择相关程度高的文本区域,得到第二文本区域。之后,由边缘调整网络对第二文本区域的上下左右边缘进行调整,得到目标文本区域。
进一步的,发明人发现,在进行文字检测的过程中,另外一个常见难题是文本行的左右边界特征不稳定,这也是经常出现左右边界丢字的根源所在。针对此问题,本发明实施例设计了Box Refinement结构。该结构能让网络在训练过程自动学习和校准文本行的所有边界,再结合适当的后处理策略,使得边缘贴合非常精准,避免出现边界丢字或切半个字的现象,能保证文字检测的准确性。
上述实施例,通过区域提取网络、区域排序网络以及区域确定网络确定文本所在的区域,之后通过边缘调整网络对所确定的文本区域进行边缘调整,能得到准确的目标文本区域,保证文本识别的准确性。
在一个实施例中,文本区域检测网络的结构框图如图11所示,该文本区域检测网络分为三部分:由Compact Inception blocks组成的特征提取网络、由若干个自适应大小的RNN网络组成的特征加强网络、由Scores、Boxes及Refinement构成的文本区域提取网络。如图11所示,将界面图像输入到文本区域检测网络后,分别通过特征提取网络、特征加强网络和文本区域提取网络确定界面图像中的文本区域,进而输出目标文本区域(如图11中“深度学习”对应的方框)。
上述实施例,基于传统的网络改进得到区域提取网络、区域排序网络以及区域确定网络,进而基于这些网络确定文本所在的区域,之后通过边缘调整网络对所确定的文本区域进行边缘调整,能得到准确的目标文本区域,保证文本识别的准确性。
在一个实施例中,所述文本信息识别网络包括卷积神经网络、特征解码网络和连接时序分类网络;所述通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息,包括:将所述目标文本区域输入所述卷积神经网络,以通过所述卷积神经网络对所述目标文本区域进行图像特征提取,得到初始文本特征;将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征;将所述目标文本特征输入所述连接时序分类网络,以通过所述连接时序分类网络根据时序信息对所述目标文本特征进行连接,得到所述文本识别信息。
其中,卷积神经网络(CNN)可以由多个卷积层构成,以逐层对目标文本区域进行特征提取。进一步的,可以对CNN部分进行改进:CNN部分的作用是对输入图片进行特征提取,加入横向非对称卷积和综合多种尺度感受野的特征,增强了网络对多尺度字体的支持。进一步的,借鉴Fine-grained Recognition中的精细化卷积方法,加强形似字、模糊等情况下的图像特征提取。通过这些改进,对界面图像中英文宽高比差异、文本倾斜导致尺寸或比例失调、模糊字相似字等问题,起到了显著的改善,识别准确率大幅提升。
特征解码网络是对卷积神经网络所提取的初始文本特征进行解码的网络,可以通过循环卷积神经网络(RNN)实现。连接时序分类网络是对解码得到的特征按照时序进行连接的网络,可以通过CTC实现。进一步的,CTC算法可以将循环层的每帧预测转化为标签序列。更进一步的,CTC网络部分还可以增加后处理部分,以对所识别的目标文本特征进行含义等的调整。
上述实施例通过卷积神经网络、特征解码网络和连接时序分类网络进行特征提取以及特征连接,能准确确定出目标文本区域中各个文本的含义,进而得到准确的文本识别信息。
进一步的,在一个实施例中,所述特征解码网络包括循环神经网络和注意力网络:所述将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征,包括:将所述初始文本特征输入所述特征解码网络,以通过所述循环神经网络对所述初始文本特征进行解码得到文本特征信息,并通过所述注意力网络为所述初始文本特征生成权重,根据所述权重对所述文本特征信息进行调整,得到所述目标文本特征。
本实施例基于传统的RNN网络进行改进得到特征解码网络。该特征解码网络中除了RNN,还包含有注意力网络(Attention)。其中,RNN部分的作用是对CNN提取的块序列特征进行解码。普通的RNN解码方式只能利用短距离的相邻块的特征,对长文本块图像和全局特征的利用有限。而Attention机制的加入,可以在所有特征块的基础上,得到每一个特征块在全局中的权重信息。简单的理解,在决定当前字是几个形似字中的哪一个时,该字所处的上下文位置和语义相关性是更具有决定意义的,甚至会比图像信息本身更重要。因此,结合Attention机制获得的全局权重信息和RNN解码过程中的短距离局部相关性之后,可以得到准确的目标文本特征,进而可以有效提升整行识别的准确率。
进一步的,在一个实施例中,还可以对传统的文本信息识别网络进行性能和内存上的优化。通过网络轻量化设计和裁剪、矩阵计算优化、通道优化、GPU/CPU的定向优化等技术,经过若干轮迭代后,算法性能、内存、模型大小均大幅改进。
在一个实施例中,文本信息识别网络的结构框图如图12所示,该文本信息识别网络分为三部分:由4个卷积层构成的卷积神经网络、由RNN & Attention构成的特征解码网络和由CTC & Post Process构成的连接时序分类网络。如图12所示,将目标文本区域输入到文本信息识别网络后,分别通过卷积神经网络、特征解码网络和连接时序分类网络确定目标文本区域中的文本特征,以根据该文本特征确定出各个文本的含义,输出文本识别信息(如图12,识别出“深度学习”这一含义)。
上述实施例通过卷积神经网络、特征解码网络和连接时序分类网络进行特征提取以及特征连接,能准确确定出目标文本区域中各个文本的含义,进而得到准确的文本识别信息。
根据界面图像得到文本识别信息的过程可以如图13所示,将界面图像作为输入,首先进行图像预处理,之后进行文字检测和内容识别,进而输出文本识别信息。
进一步的,在一个实施例中,在所述将所述界面图像输入基于深度学习的文本区域检测网络之前,还包括:对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
其中,几何变换可以指透视、扭曲、旋转等。
本实施例在对界面图像进行文本识别之前先进行图像修正处理,能减少文本识别所针对的界面图像在图像成像上的问题,进而保证文本识别结果的准确性。
在某些情况下,通过文本识别得到的文本识别信息可能不够准确,以图14为例,将左右侧的信息进行比对可以发现,窗口关闭按钮识别成了“X”,“官方网站|用户协议”识别成了“方网站I用户协议”等。为了保证后续比对结果的可靠性,有必要对其中一些无用或者有误的无效信息进行过滤。
因此,在一个实施例中,所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息,包括:将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
其中,置信度可以由OCR算法得到。置信度过低的文本可以认为是无效识别,因此可以忽略此文本。置信度所要满足的阈值可以根据实际情况确定,例如90%等。单字符指的是只识别出一个字符的情况,比如图14中的“X”。全数字文本指的是全部为阿拉伯数字的文本,由于这种数字形式通用性较强(很多语言下都会使用阿拉伯数字)。全符号文本指的是全部为编号、标点符号等的文本。链接指的是链接地址。进一步的,单字符、全数字文本、全符号文本以及链接地址等,不存在翻译的问题,对于显示格式影响也较小,因此可以将其忽略。
进一步的,以图14为例,图14为中文模式下的界面图像,经过过滤处理后,得到第一文本信息:“检查更新”和“方网站I用户协议”。与图14对应的英文模式下的界面图像如图15所示,经过过滤处理后,得到第二文本信息:“ABC”、“Check Updates”、“OfficialWebsite | EULA”。
上述实施例对文本识别得到的文本识别信息进行过滤处理,能尽可能提出文本识别信息中的无效文本,进而得到可靠的第一文本信息和第二文本信息,以保证语言检测的正常进行。
在一个实施例中,所述第一语言模式为中文模式,所述第二语言模式为英文模式;由于中英文的差异用一套模型进行文本纠错的话,效果没有达到最优。所以可以针对中英文分别进行不同的纠错处理。在所述将所述第三文本信息作为参考,与所述第二文本信息进行文本比对之前,还包括:将所述第三文本信息输入中文纠错模型,通过所述中文纠错模型对所述第三文本信息进行文本纠错;所述中文纠错模型包括:基于深度学习的中文纠错工具、中文语言模型和业务领域语言模型,以及预设的语言混淆集;通过英文词典库检查所述第二文本信息中的文本错误,剔除所述第二文本信息中的文本错误;所述英文词典库包括通用英文词典和自定义英文词典。
其中,中文纠错工具可以是PyCorrector。中文语言模型可以是通过千兆中文文本(中文文本内容的量级是千兆)训练得到的语言模型。业务领域语言模型可以是通过特定业务领域的专项文本训练得到的模型,以游戏领域为例,可以通过爬取游戏网站、论坛等相关资源进行游戏领域的专项文本训练,生成更适合游戏的业务领域语言模型。语言混淆集可以是自定义的易混淆的中文集合。
其中,英文词典库可以是PyEnchant。该工具支持自定义词库,通过简单的词典查找检查英文拼写错误。
进一步的,在一个实施例中,对中英文进行分别纠错的示意图如图16所示。对于英文文本,在得到文本识别信息后,使用PyEnchant进行拼写错误的检查,具体的,通过通用词典和自定义词典来检查英文文本中的拼写错误,并将其中的拼写错误进行提取或修正。对于中文文本,在得到文本识别信息后,使用PyCorrector进行纠错,具体的,通过通用语言模型、游戏语言模型以及自定义混淆集来确定中文文本中的错误,并将其中的错误进行提取或修正。
在某些实施例中,如果语言模式不是中文模式和英文模式,则可以根据语言的语法复杂程度确定针对性的纠错工具。以日文、韩文为例,由于这些语言语法较为复杂,简单通过词典比对可能没法准确找出其中的文本错误,因此可以参照中文,确定通过预训练的纠错模型来进行纠错。以法文、德文为例,这些语言语法较为简单,可以参照英文,通过词典比对找出其中的文本错误进而进行纠错。
上述实施例通过纠错工具对第三文本信息和第二文本信息进行纠错,以剔除其中的文本错误,之后将经过纠错的第三文本信息和第二文本信息进行不低,以得到第二语言模式下的界面文本异常。
在一个实施例中,所述遍历待测试软件的目标界面,获取所述目标界面对应的界面图像,包括:模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面;对所述目标界面进行截图,得到所述界面图像。
其中,界面业务操作可以是在界面上能够进行的各种操作,可以是鼠标操作、键盘操作、屏幕点击操作、屏幕滑动操作等等。这些操作能够使得待测试软件针对性地打开或者关闭对应的业务界面。因此,通过模拟界面业务操作,就可以遍历访问待测试软件的各个目标界面。对这些目标界面进行截图就可以得到对应的界面图像。所截取的部分界面图像可以如图17所示,该界面图像为待测试软件在业务界面下的窗口图像。
上述实施例通过模拟界面业务操作来遍历访问待测试软件的各个目标界面,进而截图得到对应的界面图像,界面图像的获取过程简单,且能获取到待测试软件的所有界面图像,保证测试结果的全面性和可靠性。
在一个实施例中,所述界面业务操作包括鼠标操作和键盘操作;所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取所述待测试软件中的界面控件;对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
其中,界面控制可以是windows的标准控件或者是实现了相关自动化接口的第三方控件。进一步的,通过微软的windows API(应用程序编程接口)操作UI控件(界面控件),进而遍历各个目标界面。常见的用于自动化的API有MSAA(Microsoft ActiveAccessibility,是用于用户界面可访问性的应用程序编程接口)、 UIA(Microsoft UIAutomation,是一种应用程序编程接口,它允许一个用户访问,标识和操纵另一个应用程序的UI元素)。更进一步的,可以借助高层次测试库封装,比如pywinauto(是一个用纯Python编写的GUI自动化库,它允许将鼠标和键盘操作发送到Windows和Linux上的对话框和控件,Windows支持更复杂的基于文本的操作)、WinAppDriver【Windows应用程序驱动程序是一项服务,用于在Windows应用程序上支持类似Selenium的UI测试自动化。 此服务支持在Windows 10 PC上测试通用Windows平台(UWP),Windows窗体(WinForms),WindowsPresentation Foundation(WPF)和经典Windows(Win32)应用程序】等,实现界面的遍历访问。
还可以通过图片对比找界面控件,比如Sikuli(一种图形脚本语言)。具体的,确定界面控件的标准图形,该将图像与业务界面中的各个元素对应的图形区域进行比对,将相匹配的图像区域确定为界面控件对应的区域。
上述实施例通过微软的windows API操作UI控件,实现自动化,目标界面的打开过程简单,相对比较稳定。
在一个实施例中,所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取预先固化的所述鼠标操作和所述键盘操作的操作流程;根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
具体的,可以将用户操作待测试软件的流程记录下来,并固化到计算机程序中,在需要遍历目标界面时,获取所记录的操作流程,并据此模拟鼠标操作和键盘操作,进而遍历访问待测试软件的各个目标界面。
进一步的,可以通过AutoIt【设计用于Windows GUI(图形用户界面)中进行自动化操作】、AutoHotkey(AutoHotkey是自由开源的编程语言。通常用于Windows平台的自动化,也可以制作GUI软件)实现自动化遍历访问目标界面的功能。
上述实施例通过,固化操作流程来遍历访问待测试软件的目标界面,界面访问的过程简单,且对界面控件的格式、界面分辨率等没有限制,应用范围广。
在一个实施例中,在确定第二语言模式下的显示测试结果之后,可以按照同样的方式确定第一语言模式下的显示测试结果。进一步的,在所述根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果之后,还包括:获取所述第二文本信息在所述第一语言模式下的第四文本信息;将所述第四文本信息作为参考,与所述第一文本信息进行文本比对,根据文本比对结果确定所述第一语言模式对应的界面文本异常;根据所述第一语言模式对应的界面文本异常,得到所述目标界面在所述第一语言模式下的显示测试结果。
上述确定第一语言模式下的显示测试结果的过程可以参照确定第二语言模式下的显示测试结果,在此不再赘述。
上述实施例分别确定待测试软件在第一语言模式和第二语言模式下的显示测试结果。对于待测试软件支持多种语言模式的情况下,还可以分别确定这些语言模式下的显示测试结果,进而对待测试软件进行完整的测试,得到总的多语言测试结果。
在一个实施例中,如图18所示,提供了一种界面语言的显示测试方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S1800,获取待测试软件中的界面控件;对界面控件执行鼠标操作和键盘操作,以通过界面控件遍历打开待测试软件的各个目标界面。
S1810,对目标界面进行截图,得到待测试软件在至少两种语言模式下的界面图像。
S1820,对界面图像进行图像修正处理。
S1830,将经过图像修正处理的界面图像输入基于深度学习的文本区域检测网络,通过文本区域检测网络对界面图像进行文本区域检测,得到目标文本区域。
S1840,将目标文本区域输入基于深度学习的文本信息识别网络,通过文本信息识别网络对目标文本区域进行文本识别,得到文本识别信息。
S1850,将文本识别信息中的内容进行过滤。
S1860,从经过过滤处理的文本识别信息中获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息。
S1870,当通过拼写纠错工具获取到第二文本信息的拼写错误时,判定存在拼写异常;根据拼写异常,得到第二语言模式对应的界面文本异常。
S1880,获取待测试软件的语言配置文件。
S1881,从语言配置文件中获取第一文本信息在第二语言模式下的第三文本信息。
S1882,获取第三文本信息中的第一文本;获取待测试软件的语言配置文件在第二语言模式下的第二文本。
S1883,通过模糊字符串匹配工具计算第一文本与第二文本之间的最小编辑距离;根据最小编辑距离从第二文本中获取第一文本的模糊匹配文本。
S1884,将第一文本的模糊匹配文本和第二文本信息中的文本内容进行比对。
S1885,当根据文本内容的比对结果确定第二文本信息中存在与第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到文本翻译异常。
S1886,当根据文本内容的比对结果确定文本信息存在文本被截断、存在文本被省略或者文本换行有误时,得到文本显示异常。
S1887,将文本翻译异常和文本显示异常确定为第二语言模式对应的界面文本异常。
S1890,获取第二文本信息在第一语言模式下的第四文本信息;将第四文本信息作为参考,与第一文本信息进行文本比对,根据文本比对结果确定第一语言模式对应的界面文本异常;根据第一语言模式对应的界面文本异常,得到目标界面在第一语言模式下的显示测试结果。
上述界面语言的显示测试方法中,能够通过基于深度学习的模型对界面图像进行文本识别,基于所识别的文本识别信息获取第一语言模式和第二语言模式下的文本信息,并将这两者语言模式下的文本信息进行比对,基于比对结果快速获取到目标界面中的文本翻译异常和文本显示异常,进而准确得到目标界面的显示测试结果。
在一个实施例中,如图19所示,提供一种界面语言的显示测试方法。以中文为参考,确定英文、德文等其他语言模式的显示测试结果的具体实现流程如下(描述过程以其他语言模式为英文为例进行说明):
1、通过预先编写的程序模拟界面业务操作,自动化遍历待测试软件的各个目标界面。
2、对目标界面进行截图,生成界面截图,得到界面图像。
3、将界面图像上传至神经网络中,进行文本识别。
4、神经网络识别出不同语言文本,即得到中文和英文语言模式下的文本识别信息。
对于中文文本:
5、进行文本过滤。
6、在待测试软件的多语言配置文件查询其他语言,根据所查询的语言确定与该中文文本对应的其他语言文本。
7、对这些其他语言本文进行翻译检查,得到正确的英文参考语言文本。
对于英文文本:
8、进行文本检查,以剔除其中的文本错误,得到英文识别文本。
9、将英文参考语言文本与英文识别文本进行比对,根据比对结果确定英文的界面文本异常。
10、根据界面文本异常输出该待测试软件在英文模式下的显示测试结果。
本申请还提供一种应用场景,该应用场景应用上述的界面语言的显示测试方法。具体地,该界面语言的显示测试方法在该应用场景的应用如下:
总的流程分为自动化截图、文本识别、文本对比等几个阶段。下面做一个详细介绍(以中文为参考,确定英文模式下的测试结果,具体测试语言可以根据情况确定):
一、自动化截图
需要将待测试软件的各个界面保存成图片,作为后续处理流程的输入数据。目前的Windows UI自动化技术主要分为以下几类:
1、通过微软的MSAA、UIA等windows API操作UI控件,实现自动化界面访问。
2、通过AutoIt、AutoHotkey等工具模拟鼠标、键盘事件,实现自动化界面访问。
对所访问的目标界面进行截图,得到待测试软件的界面图像。
二、文本识别
有了界面的截图,接下来要做的就是识别出界面图像中的文本,即OCR技术。实现过程如下:
1、进行图像预处理。对界面图像进行几何变换(透视、扭曲、旋转等)、畸变校正、去除模糊、图像增强和光线校正等处理。
2、将界面图像输入至文本区域检测网络进行文字区域检测,得到目标文本区域。其中,文本区域检测网络主要包含三部分:由Compact Inception blocks组成的特征提取网络、由若干个自适应大小的RNN网络组成的特征加强网络、由Scores、Boxes及Refinement构成的文本区域提取网络。
3、将目标文本区域输入至文本信息识别网络进行文本识别,得到文本识别信息。其中,文本信息识别网络分为三部分:由4个卷积层构成的卷积神经网络、由RNN &Attention构成的特征解码网络和由CTC & Post Process构成的连接时序分类网络。
三、文本比对
经过文本识别已经可以将待测试软件界面图像中的文本提取出来,接下来要做的就是对提取出来文本进行二次处理,最后进行多语言翻译对比。主要通过以下步骤实现:
1、文本过滤
经过OCR识别后,已经得到了一系列文本,但受限OCR识别的精度,图片中的文本可能不是100%正确识别。所以对OCR所识别的文本识别信息进行如下过滤处理:过滤掉置信度低于设定阈值的文本,过滤掉单字符,过滤掉全数字,符号文本,过滤掉链接,过滤出中文文本和英文文本。
2、翻译检查
由于中英文的差异用一套模型进行文本纠错的话,效果没有达到最优。所以可以针对中英文分别进行处理。英文使用PyEnchant,支持自定义词库,通过简单的词典查找检查拼写错误。对于中文可以使用PyCorrector,一种基于深度学习模型的中文文本纠错工具进行纠错。同时,借助PyCorrector工具、从千兆中文文本训练的中文语言模型以及自定义的混淆集,对中文文本进行纠错。进一步的,通过爬取游戏网站、论坛等相关资源进行游戏领域的专项文本训练,生成更适合游戏的语言模型,在专业领域上对中文文本进行纠错。
3、文本比较
以中英检查为例,假设,经过文本过滤后得到的中文文本为:“检查更新”和“方网站I用户协议”。英文文本为:“ABC”、“Check Updates”、“Official Website | EULA”。
查找多语言配置文件,找出中文文本相关的配置信息:检查更新-Check Updates、官方网站-Official Website、用户协议-EULA
通过查询多语言配置,得到“检查更新” 所对应的英文是“Check Updates”,且在对应的英文识别结果中存在,说明这一项正确的进行了翻译且显示正常。而“方网站I用户协议”就无法在多语言配置中精确找到。在文本对比时采用模糊匹配的方法来增强匹配的容错性。通过FuzzyWuzzy计算两个字符串间的最小编辑距离来评估两个字符串的相似性。进而得到模糊匹配结果。根据模糊匹配的结果认为“方网站I用户协议”和“官方网站I用户协议”是相同的,根据多语言配置又查出对应的英文翻译为“Official Website | EULA”,而英文翻译在英文OCR的识别结果中存在。至此就可以判断关于对话框中英文进行了正确翻译,与人工检查效果一样。同时,英文对话框中也不存在界面显示异常。
本发明实施例利用UI自动化技术,自动遍历待测试软件的全部UI界面并截图保存。然后将所保存的UI截图(界面图像)上传至神经网络,利用深度学习方法进行文本识别,可以精准识别UI截图中的文本信息。通过文本纠错和模糊对比实现多语言翻译的智能检查,其中,文本纠错能有效提出所识别文本中的错误文本,文本模糊匹配技术可以提高翻译检查的容错性,可大大提升多语言测试效率。通过模拟全人工检查方案,利用自动化和深度学习技术大大提升检查效率。操作行为与全人工检查一致,可以覆盖所有情况。因此采用本发明实施例之后,检查效果和测试效率都将大大提升。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于与上述实施例中的界面语言的显示测试方法相同的思想,本发明还提供界面语言的显示测试装置,该装置可用于执行上述界面语言的显示测试方法。为了便于说明,界面语言的显示测试装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在一个实施例中,如图20所示,提供了一种界面语言的显示测试装置2000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:图像获取模块2001、文本识别模块2002、第一文本信息获取模块2003、第二文本信息获取模块2004、文本异常确定模块2005、和测试结果确定模块2006,其中:
图像获取模块2001,用于遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面。
文本识别模块2002,用于对所述界面图像进行文本识别,得到文本识别信息。
第一文本信息获取模块2003,用于根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息。
第二文本信息获取模块2004,用于获取所述第一文本信息在所述第二语言模式下的第三文本信息。
文本异常确定模块2005,用于将所述第三文本信息作为参考,与所述第二文本信息进行文本比对,根据文本比对结果确定所述第二语言模式对应的界面文本异常。
测试结果确定模块2006,用于根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
上述界面语言的显示测试装置中,能够通过图像文本识别的方式快速获取到目标界面中的文本翻译异常和文本显示异常,进而准确得到目标界面的显示测试结果。
在一个实施例中,文本异常确定模块,包括:文本内容比对子模块,用于将所述第三文本信息与所述第二文本信息的文本内容进行比对;翻译显示异常确定子模块,用于根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常;文本异常确定子模块,用于将所述文本翻译异常和所述文本显示异常确定为所述界面文本异常。
在一个实施例中,翻译显示异常确定子模块,包括:翻译异常确定单元,用于当根据所述文本内容的比对结果确定所述第二文本信息中存在与所述第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到所述文本翻译异常;显示异常确定单元,用于当根据所述文本内容的比对结果确定文本信息满足以下至少一项时,得到所述文本显示异常:当所述第一文本信息中的句尾文本不存在于所述第二文本信息时,判定存在文本被截断;当所述第一文本信息中的句中文本不存在于所述第二文本信息时,判定存在文本被省略;当所述第一文本信息在第一目标行的行尾文本与所述第二文本信息在所述第一目标行的行尾文本不对应,且,所述第一文本信息在第二目标行的行首文本与所述第二文本信息在所述第二目标行的行首文本不对应时,判定文本换行有误;所述第一目标行和所述第二目标行是相连续的行。
在一个实施例中,所述文本内容比对子模块,包括:第一文本获取单元,用于获取所述第三文本信息中的第一文本;第二文本获取单元,用于获取所述待测试软件的语言配置文件中的第二文本;编辑距离计算单元,用于通过模糊字符串匹配工具计算所述第一文本与所述第二文本之间的最小编辑距离;匹配文本获取单元,用于根据所述最小编辑距离从所述第二文本中获取所述第一文本的模糊匹配文本;文本比对单元,用于将所述第一文本的模糊匹配文本和所述第二文本信息中的文本进行比对。
在一个实施例中,所述装置,还包括:拼写异常确定模块,用于当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;界面文本异常确定模块,用于根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。
在一个实施例中,第二文本信息获取模块,包括:配置文件获取子模块,用于获取所述待测试软件的语言配置文件;所述语言配置文件包含所述目标界面在所述第一语言模式以及所述第二语言模式下的文本信息;文本信息获取子模块,用于从所述语言配置文件中获取所述第一文本信息在所述第二语言模式下的第三文本信息。
在一个实施例中,文本识别模块,包括:区域检测子模块,用于将所述界面图像输入基于深度学习的文本区域检测网络,通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域;文本识别子模块,用于将所述目标文本区域输入基于深度学习的文本信息识别网络,通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息。
在一个实施例中,所述文本区域检测网络包括特征提取网络、特征加强网络和文本区域提取网络;所述区域检测子模块,包括:特征提取单元,用于将所述界面图像输入所述特征提取网络,由所述特征提取网络中的紧凑型初始化块对所述界面图像进行文本特征提取,并根据所提取的文本特征得到文本特征序列;特征加强单元,用于将所述文本特征序列输入所述特征加强网络,由所述特征加强网络中的自适应循环神经网络获取所述文本特征序列与对应相邻特征序列的关联性,并根据所述关联性对所述文本特征序列进行文本区域预测,得到文本区域预测信息;区域提取单元,用于将所述文本区域预测信息输入所述文本区域提取网络,由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域。
在一个实施例中,所述文本区域提取网络包括区域提取网络、区域排序网络、区域确定网络和边缘调整网络;区域提取单元,包括:第一区域提取子单元,用于由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;区域排序子单元,用于由所述区域排序网络对所述第一文本区域进行排序;第二区域提取子单元,用于由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;边缘调整子单元,用于由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
在一个实施例中,所述文本信息识别网络包括卷积神经网络、特征解码网络和连接时序分类网络;文本识别子模块,包括:特征提取单元,用于将所述目标文本区域输入所述卷积神经网络,以通过所述卷积神经网络对所述目标文本区域进行图像特征提取,得到初始文本特征;特征解码单元,用于将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征;特征连接单元,用于将所述目标文本特征输入所述连接时序分类网络,以通过所述连接时序分类网络根据时序信息对所述目标文本特征进行连接,得到所述文本识别信息。
在一个实施例中,所述特征解码网络包括循环神经网络和注意力网络:特征解码单元,还用于将所述初始文本特征输入所述特征解码网络,以通过所述循环神经网络对所述初始文本特征进行解码得到文本特征信息,并通过所述注意力网络为所述初始文本特征生成权重,根据所述权重对所述文本特征信息进行调整,得到所述目标文本特征。
在一个实施例中,文本识别模块,还包括:图像修正子模块,用于对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
在一个实施例中,第一文本信息获取模块,包括:文本过滤子模块,用于将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;信息获取子模块,用于从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
在一个实施例中,所述第一语言模式为中文模式,所述第二语言模式为英文模式;所述装置,还包括:中文纠错模块,用于将所述第三文本信息输入中文纠错模型,通过所述中文纠错模型对所述第三文本信息进行文本纠错;所述中文纠错模型包括:基于深度学习的中文纠错工具、中文语言模型和业务领域语言模型,以及预设的语言混淆集;英文纠错模块,用于通过英文词典库检查所述第二文本信息中的文本错误,剔除所述第二文本信息中的文本错误;所述英文词典库包括通用英文词典和自定义英文词典。
在一个实施例中,图像获取模块,包括:界面遍历子模块,用于模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面;界面截图子模块,用于对所述目标界面进行截图,得到所述界面图像。
在一个实施例中,所述界面业务操作包括鼠标操作和键盘操作;界面遍历子模块,包括:控件获取单元,用于获取所述待测试软件中的界面控件;第一界面遍历单元,用于对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
在一个实施例中,界面遍历子模块,包括:操作流程获取单元,用于获取预先固化的所述鼠标操作和所述键盘操作的操作流程;第二界面遍历单元,用于根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
在一个实施例中,所述装置,还包括:第三文本信息获取模块,用于获取所述第二文本信息在所述第一语言模式下的第四文本信息;文本比对模块,用于将所述第四文本信息作为参考,与所述第一文本信息进行文本比对,根据文本比对结果确定所述第一语言模式对应的界面文本异常;显示测试结果确定模块,用于根据所述第一语言模式对应的界面文本异常,得到所述目标界面在所述第一语言模式下的显示测试结果。
关于界面语言的显示测试装置的具体限定可以参见上文中对于界面语言的显示测试方法的限定,在此不再赘述。上述界面语言的显示测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (36)
1.一种界面语言的显示测试方法,其特征在于,所述方法包括:
遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;
对所述界面图像进行文本识别,得到文本识别信息;
根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;
获取所述第一文本信息在所述第二语言模式下的第三文本信息;
获取所述第三文本信息中的第一文本;
获取所述待测试软件的语言配置文件中的第二文本;
计算所述第一文本与所述第二文本之间的最小编辑距离;
根据所述最小编辑距离从所述第二文本中获取所述第一文本的模糊匹配文本;
将所述第一文本的模糊匹配文本和所述第二文本信息中的文本进行比对,得到文本比对结果;
根据所述文本比对结果确定所述第二语言模式对应的界面文本异常;
根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述文本比对结果确定所述第二语言模式对应的界面文本异常,包括:
根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常;
将所述文本翻译异常和所述文本显示异常确定为所述界面文本异常。
3.根据权利要求2所述的方法,其特征在于,所述根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常,包括:
当根据所述文本内容的比对结果确定所述第二文本信息中存在与所述第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到所述文本翻译异常;
当根据所述文本内容的比对结果确定文本信息满足以下至少一项时,得到所述文本显示异常:
当所述第一文本信息中的句尾文本不存在于所述第二文本信息时,判定存在文本被截断;
当所述第一文本信息中的句中文本不存在于所述第二文本信息时,判定存在文本被省略;
当所述第一文本信息在第一目标行的行尾文本与所述第二文本信息在所述第一目标行的行尾文本不对应,且,所述第一文本信息在第二目标行的行首文本与所述第二文本信息在所述第二目标行的行首文本不对应时,判定文本换行有误;所述第一目标行和所述第二目标行是相连续的行。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息之后,还包括:
当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。
5.根据权利要求1所述的方法,其特征在于,所述获取所述第一文本信息在所述第二语言模式下的第三文本信息,包括:
获取所述待测试软件的语言配置文件;所述语言配置文件包含所述目标界面在所述第一语言模式以及所述第二语言模式下的文本信息;
从所述语言配置文件中获取所述第一文本信息在所述第二语言模式下的第三文本信息。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述界面图像进行文本识别,得到文本识别信息,包括:
将所述界面图像输入基于深度学习的文本区域检测网络,通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域;
将所述目标文本区域输入基于深度学习的文本信息识别网络,通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息。
7.根据权利要求6所述的方法,其特征在于,所述文本区域检测网络包括特征提取网络、特征加强网络和文本区域提取网络;
所述通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域,包括:
将所述界面图像输入所述特征提取网络,由所述特征提取网络中的紧凑型初始化块对所述界面图像进行文本特征提取,并根据所提取的文本特征得到文本特征序列;
将所述文本特征序列输入所述特征加强网络,由所述特征加强网络中的自适应循环神经网络获取所述文本特征序列与对应相邻特征序列的关联性,并根据所述关联性对所述文本特征序列进行文本区域预测,得到文本区域预测信息;
将所述文本区域预测信息输入所述文本区域提取网络,由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域。
8.根据权利要求7所述的方法,其特征在于,所述文本区域提取网络包括区域提取网络、区域排序网络、区域确定网络和边缘调整网络;
所述由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域,包括:
由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;由所述区域排序网络对所述第一文本区域进行排序;由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
9.根据权利要求6所述的方法,其特征在于,在所述将所述界面图像输入基于深度学习的文本区域检测网络之前,还包括:对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
10.根据权利要求1所述的方法,其特征在于,所述根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息,包括:将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
11.根据权利要求6所述的方法,其特征在于,所述文本信息识别网络包括卷积神经网络、特征解码网络和连接时序分类网络;
所述通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息,包括:
将所述目标文本区域输入所述卷积神经网络,以通过所述卷积神经网络对所述目标文本区域进行图像特征提取,得到初始文本特征;
将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征;
将所述目标文本特征输入所述连接时序分类网络,以通过所述连接时序分类网络根据时序信息对所述目标文本特征进行连接,得到所述文本识别信息。
12.根据权利要求11所述的方法,其特征在于,所述特征解码网络包括循环神经网络和注意力网络:
所述将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征,包括:
将所述初始文本特征输入所述特征解码网络,以通过所述循环神经网络对所述初始文本特征进行解码得到文本特征信息,并通过所述注意力网络为所述初始文本特征生成权重,根据所述权重对所述文本特征信息进行调整,得到所述目标文本特征。
13.根据权利要求1至5任一项所述的方法,其特征在于,所述第一语言模式为中文模式,所述第二语言模式为英文模式;
在所述将所述第三文本信息作为参考,与所述第二文本信息进行文本比对之前,还包括:
将所述第三文本信息输入中文纠错模型,通过所述中文纠错模型对所述第三文本信息进行文本纠错;所述中文纠错模型包括:基于深度学习的中文纠错工具、中文语言模型和业务领域语言模型,以及预设的语言混淆集;
通过英文词典库检查所述第二文本信息中的文本错误,剔除所述第二文本信息中的文本错误;所述英文词典库包括通用英文词典和自定义英文词典。
14.根据权利要求1至5任一项所述的方法,其特征在于,所述遍历待测试软件的目标界面,获取所述目标界面对应的界面图像,包括:
模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面;
对所述目标界面进行截图,得到所述界面图像。
15.根据权利要求14所述的方法,其特征在于,所述界面业务操作包括鼠标操作和键盘操作;所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取所述待测试软件中的界面控件;对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
16.根据权利要求14所述的方法,其特征在于,所述模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面,包括:获取预先固化的所述鼠标操作和所述键盘操作的操作流程;根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
17.根据权利要求1至5任一项所述的方法,其特征在于,在所述根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果之后,还包括:
获取所述第二文本信息在所述第一语言模式下的第四文本信息;
将所述第四文本信息作为参考,与所述第一文本信息进行文本比对,根据文本比对结果确定所述第一语言模式对应的界面文本异常;
根据所述第一语言模式对应的界面文本异常,得到所述目标界面在所述第一语言模式下的显示测试结果。
18.一种界面语言的显示测试装置,其特征在于,所述装置包括:
图像获取模块,用于遍历待测试软件的目标界面,获取所述目标界面对应的界面图像;所述目标界面为所述待测试软件在至少两种语言模式下的业务界面;
文本识别模块,用于对所述界面图像进行文本识别,得到文本识别信息;
第一文本信息获取模块,用于根据所述文本识别信息获取第一语言模式对应的第一文本信息和第二语言模式对应的第二文本信息;
第二文本信息获取模块,用于获取所述第一文本信息在所述第二语言模式下的第三文本信息;
文本异常确定模块,用于获取所述第三文本信息中的第一文本;获取所述待测试软件的语言配置文件中的第二文本;通过模糊字符串匹配工具计算所述第一文本与所述第二文本之间的最小编辑距离;根据所述最小编辑距离从所述第二文本中获取所述第一文本的模糊匹配文本;将所述第一文本的模糊匹配文本和所述第二文本信息中的文本进行比对,得到文本比对结果;根据所述文本比对结果确定所述第二语言模式对应的界面文本异常;
测试结果确定模块,用于根据所述第二语言模式对应的界面文本异常,得到所述目标界面在所述第二语言模式下的显示测试结果。
19.根据权利要求18所述的界面语言的显示测试装置,其特征在于,所述文本异常确定模块包括:
翻译显示异常确定子模块,用于根据文本内容的比对结果得到所述第二文本信息对应的文本翻译异常和文本显示异常;
文本异常确定子模块,用于将所述文本翻译异常和所述文本显示异常确定为所述界面文本异常。
20.根据权利要求19所述的界面语言的显示测试装置,其特征在于,所述翻译显示异常确定子模块,包括:翻译异常确定单元,用于当根据所述文本内容的比对结果确定所述第二文本信息中存在与所述第一语言模式对应的文本信息时,判定存在文本遗漏翻译,得到所述文本翻译异常;显示异常确定单元,用于当根据所述文本内容的比对结果确定文本信息满足以下至少一项时,得到所述文本显示异常:当所述第一文本信息中的句尾文本不存在于所述第二文本信息时,判定存在文本被截断;当所述第一文本信息中的句中文本不存在于所述第二文本信息时,判定存在文本被省略;当所述第一文本信息在第一目标行的行尾文本与所述第二文本信息在所述第一目标行的行尾文本不对应,且,所述第一文本信息在第二目标行的行首文本与所述第二文本信息在所述第二目标行的行首文本不对应时,判定文本换行有误;所述第一目标行和所述第二目标行是相连续的行。
21.根据权利要求18所述的界面语言的显示测试装置,其特征在于,所述装置,还包括:拼写异常确定模块,用于当通过拼写纠错工具获取到所述第二文本信息的拼写错误时,判定存在拼写异常;界面文本异常确定模块,用于根据所述拼写异常,得到所述第二语言模式对应的界面文本异常。
22.根据权利要求18所述的界面语言的显示测试装置,其特征在于,第二文本信息获取模块,包括:配置文件获取子模块,用于获取所述待测试软件的语言配置文件;所述语言配置文件包含所述目标界面在所述第一语言模式以及所述第二语言模式下的文本信息;文本信息获取子模块,用于从所述语言配置文件中获取所述第一文本信息在所述第二语言模式下的第三文本信息。
23.根据权利要求18至22任一项所述的界面语言的显示测试装置,其特征在于,文本识别模块,包括:区域检测子模块,用于将所述界面图像输入基于深度学习的文本区域检测网络,通过所述文本区域检测网络对所述界面图像进行文本区域检测,得到目标文本区域;文本识别子模块,用于将所述目标文本区域输入基于深度学习的文本信息识别网络,通过所述文本信息识别网络对所述目标文本区域进行文本识别,得到所述文本识别信息。
24.根据权利要求23所述的界面语言的显示测试装置,其特征在于,所述文本区域检测网络包括特征提取网络、特征加强网络和文本区域提取网络;所述区域检测子模块,包括:特征提取单元,用于将所述界面图像输入所述特征提取网络,由所述特征提取网络中的紧凑型初始化块对所述界面图像进行文本特征提取,并根据所提取的文本特征得到文本特征序列;特征加强单元,用于将所述文本特征序列输入所述特征加强网络,由所述特征加强网络中的自适应循环神经网络获取所述文本特征序列与对应相邻特征序列的关联性,并根据所述关联性对所述文本特征序列进行文本区域预测,得到文本区域预测信息;区域提取单元,用于将所述文本区域预测信息输入所述文本区域提取网络,由所述文本区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本区域,得到所述目标文本区域。
25.根据权利要求24所述的界面语言的显示测试装置,其特征在于,所述文本区域提取网络包括区域提取网络、区域排序网络、区域确定网络和边缘调整网络;区域提取单元,包括:第一区域提取子单元,用于由所述区域提取网络根据所述文本区域预测信息提取所述界面图像中的文本对应的第一文本区域;区域排序子单元,用于由所述区域排序网络对所述第一文本区域进行排序;第二区域提取子单元,用于由所述区域确定网络从排序后的所述第一文本区域中确定用于表征文本所在区域的第二文本区域;边缘调整子单元,用于由所述边缘调整网络对所述第二文本区域进行区域边缘的调整,得到所述目标文本区域。
26.根据权利要求23所述的界面语言的显示测试装置,其特征在于,所述文本信息识别网络包括卷积神经网络、特征解码网络和连接时序分类网络;文本识别子模块,包括:特征提取单元,用于将所述目标文本区域输入所述卷积神经网络,以通过所述卷积神经网络对所述目标文本区域进行图像特征提取,得到初始文本特征;特征解码单元,用于将所述初始文本特征输入所述特征解码网络,以通过所述特征解码网络对所述初始文本特征进行解码,得到目标文本特征;特征连接单元,用于将所述目标文本特征输入所述连接时序分类网络,以通过所述连接时序分类网络根据时序信息对所述目标文本特征进行连接,得到所述文本识别信息。
27.根据权利要求26所述的界面语言的显示测试装置,其特征在于,所述特征解码网络包括循环神经网络和注意力网络:特征解码单元,还用于将所述初始文本特征输入所述特征解码网络,以通过所述循环神经网络对所述初始文本特征进行解码得到文本特征信息,并通过所述注意力网络为所述初始文本特征生成权重,根据所述权重对所述文本特征信息进行调整,得到所述目标文本特征。
28.根据权利要求23所述的界面语言的显示测试装置,其特征在于,文本识别模块,还包括:图像修正子模块,用于对所述界面图像进行以下至少一项图像修正处理:几何变换、畸变校正、去除模糊、图像增强和光线校正。
29.根据权利要求18所述的界面语言的显示测试装置,其特征在于,第一文本信息获取模块,包括:文本过滤子模块,用于将所述文本识别信息中的以下至少一项内容进行过滤:置信度低于设定阈值的文本、单字符、全数字文本、全符号文本和链接;信息获取子模块,用于从经过过滤处理的所述文本识别信息中获取所述第一文本信息和所述第二文本信息。
30.根据权利要求18至22任一项所述的界面语言的显示测试装置,其特征在于,所述第一语言模式为中文模式,所述第二语言模式为英文模式;所述装置,还包括:中文纠错模块,用于将所述第三文本信息输入中文纠错模型,通过所述中文纠错模型对所述第三文本信息进行文本纠错;所述中文纠错模型包括:基于深度学习的中文纠错工具、中文语言模型和业务领域语言模型,以及预设的语言混淆集;英文纠错模块,用于通过英文词典库检查所述第二文本信息中的文本错误,剔除所述第二文本信息中的文本错误;所述英文词典库包括通用英文词典和自定义英文词典。
31.根据权利要求18至22任一项所述的界面语言的显示测试装置,其特征在于,图像获取模块,包括:界面遍历子模块,用于模拟界面业务操作,以遍历访问所述待测试软件的各个所述目标界面;界面截图子模块,用于对所述目标界面进行截图,得到所述界面图像。
32.根据权利要求31所述的界面语言的显示测试装置,其特征在于,所述界面业务操作包括鼠标操作和键盘操作;界面遍历子模块,包括:控件获取单元,用于获取所述待测试软件中的界面控件;第一界面遍历单元,用于对所述界面控件执行所述鼠标操作和所述键盘操作,以通过所述界面控件遍历打开所述待测试软件的各个所述目标界面。
33.根据权利要求31所述的界面语言的显示测试装置,其特征在于,界面遍历子模块,包括:操作流程获取单元,用于获取预先固化的所述鼠标操作和所述键盘操作的操作流程;第二界面遍历单元,用于根据所述操作流程模拟所述鼠标操作和所述键盘操作,以遍历访问所述待测试软件的各个所述目标界面。
34.根据权利要求18至22任一项所述的界面语言的显示测试装置,其特征在于,所述装置,还包括:第三文本信息获取模块,用于获取所述第二文本信息在所述第一语言模式下的第四文本信息;文本比对模块,用于将所述第四文本信息作为参考,与所述第一文本信息进行文本比对,根据文本比对结果确定所述第一语言模式对应的界面文本异常;显示测试结果确定模块,用于根据所述第一语言模式对应的界面文本异常,得到所述目标界面在所述第一语言模式下的显示测试结果。
35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述方法的步骤。
36.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893254.6A CN112100063B (zh) | 2020-08-31 | 2020-08-31 | 界面语言的显示测试方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893254.6A CN112100063B (zh) | 2020-08-31 | 2020-08-31 | 界面语言的显示测试方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100063A CN112100063A (zh) | 2020-12-18 |
CN112100063B true CN112100063B (zh) | 2022-03-01 |
Family
ID=73756741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893254.6A Active CN112100063B (zh) | 2020-08-31 | 2020-08-31 | 界面语言的显示测试方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100063B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667208A (zh) * | 2020-12-22 | 2021-04-16 | 深圳壹账通智能科技有限公司 | 翻译错误识别方法、装置、计算机设备及可读存储介质 |
CN112882947A (zh) * | 2021-03-15 | 2021-06-01 | 深圳市腾讯信息技术有限公司 | 一种界面测试方法、装置、设备及存储介质 |
CN113033188B (zh) * | 2021-03-19 | 2022-12-20 | 华果才让 | 一种基于神经网络的藏文语法纠错方法 |
CN112906404B (zh) * | 2021-04-26 | 2023-10-13 | 腾讯音乐娱乐科技(深圳)有限公司 | 翻译文案校验方法及电子设备和可读存储介质 |
CN113268416A (zh) * | 2021-05-17 | 2021-08-17 | 深圳Tcl新技术有限公司 | 一种应用程序的测试方法、装置、存储介质及终端 |
CN113238949A (zh) * | 2021-05-19 | 2021-08-10 | 北京仁科互动网络技术有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN113435217B (zh) * | 2021-06-25 | 2023-12-19 | 青岛海尔科技有限公司 | 语言测试处理方法、装置及电子设备 |
CN115543495A (zh) | 2021-06-30 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 界面管理方法、装置、设备及可读存储介质 |
CN113657361A (zh) * | 2021-07-23 | 2021-11-16 | 阿里巴巴(中国)有限公司 | 页面异常检测方法、装置及电子设备 |
CN113688834A (zh) * | 2021-07-27 | 2021-11-23 | 深圳中兴网信科技有限公司 | 车票识别方法、车票识别系统及计算机可读存储介质 |
CN113807295B (zh) * | 2021-09-24 | 2023-10-27 | 科大讯飞股份有限公司 | 手写识别方法、装置、电子设备和存储介质 |
CN116089256B (zh) * | 2022-05-13 | 2024-03-12 | 荣耀终端有限公司 | 终端测试方法、装置及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361064A (zh) * | 2005-12-16 | 2009-02-04 | Emil有限公司 | 文本编辑装置和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793322A (zh) * | 2012-11-05 | 2014-05-14 | 深圳中兴网信科技有限公司 | 一种针对软件本地化测试中翻译问题的检测方法及系统 |
CN107315989B (zh) * | 2017-05-03 | 2020-06-12 | 天方创新(北京)信息技术有限公司 | 针对医学资料图片的文本识别方法和装置 |
CN110287091A (zh) * | 2019-05-10 | 2019-09-27 | 国家计算机网络与信息安全管理中心 | 一种应用软件安装过程中的检测方法及装置 |
CN110569830B (zh) * | 2019-08-01 | 2023-08-22 | 平安科技(深圳)有限公司 | 多语言文本识别方法、装置、计算机设备及存储介质 |
CN111079408B (zh) * | 2019-12-26 | 2023-05-30 | 北京锐安科技有限公司 | 一种语种识别方法、装置、设备及存储介质 |
-
2020
- 2020-08-31 CN CN202010893254.6A patent/CN112100063B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361064A (zh) * | 2005-12-16 | 2009-02-04 | Emil有限公司 | 文本编辑装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112100063A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100063B (zh) | 界面语言的显示测试方法、装置、计算机设备和存储介质 | |
Nayef et al. | Icdar2017 robust reading challenge on multi-lingual scene text detection and script identification-rrc-mlt | |
CN107656922B (zh) | 一种翻译方法、装置、终端及存储介质 | |
TWI744283B (zh) | 一種單詞的分割方法和裝置 | |
CN111767228B (zh) | 基于人工智能的界面测试方法、装置、设备和介质 | |
Naz et al. | Segmentation techniques for recognition of Arabic-like scripts: A comprehensive survey | |
CN111310613B (zh) | 一种图像检测方法、装置以及计算机可读存储介质 | |
CN110175609B (zh) | 界面元素检测方法、装置及设备 | |
CN111507330A (zh) | 习题识别方法、装置、电子设备及存储介质 | |
CN114596566B (zh) | 文本识别方法及相关装置 | |
WO2021260554A1 (en) | Domain-specific grammar correction system, server and method for academic text | |
CN115438650B (zh) | 融合多源特征的合同文本纠错方法、系统、设备及介质 | |
Saar et al. | Browserbite: cross‐browser testing via image processing | |
CN111444905B (zh) | 基于人工智能的图像识别方法和相关装置 | |
CN112308069A (zh) | 一种软件界面的点击测试方法、装置、设备及存储介质 | |
CN113657361A (zh) | 页面异常检测方法、装置及电子设备 | |
CN112347997A (zh) | 一种试题检测识别方法、装置、电子设备及介质 | |
JP2019212115A (ja) | 検査装置、検査方法、プログラム及び学習装置 | |
Baek et al. | COO: comic onomatopoeia dataset for recognizing arbitrary or truncated texts | |
CN111008624A (zh) | 光学字符识别方法和产生光学字符识别的训练样本的方法 | |
JP2021096634A (ja) | 文字処理システム及びプログラム | |
Chu et al. | IterVM: iterative vision modeling module for scene text recognition | |
CN111079489A (zh) | 一种内容识别方法及电子设备 | |
US11756321B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN111832550B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035409 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |