掌桥专利:专业的专利平台
掌桥专利
首页

一种测试方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:10:19


一种测试方法、装置、电子设备及存储介质

技术领域

本发明涉及软件测试技术领域,更具体地说,涉及一种测试方法、装置、电子设备及存储介质。

背景技术

随着软件产品国际化发展的趋势,人们对产品国际化的需求不断增强,一个软件产品往往需要同时支持中文、英文、日语等众多语言,且在软件产品发布之前需对处于不同语言下的软件产品进行测试。

现有技术中,为了节省人力、时间或硬件资源,实现对多语言产品的自动化测试,产品的不同语言在不同的测试环境中,自动化的实现方式是不一样的,现有的自动化测试框架中,通常只支持一种语言,不支持其他语言的产品测试,例如,在中文版的测试框架中,仅支持中文下的产品测试,对于其他语言的产品测试具有一定的限制,影响多语言产品测试的准确性和测试效率。

发明内容

本发明提供一种测试方法、装置、电子设备及存储介质,用以解决现有技术中多语言产品测试效率低和准确性不高的技术问题,以实现提高多语言产品的测试效率和保证测试准确性的目的。

第一方面,本发明提供一种测试方法,包括:

获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;

对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;

回放所述第一测试界面的录制脚本,识别出所述录制脚本的固定部分;

基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言下的第二测试界面的录制脚本;

爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比对,输出测试结果;

其中,所述第二测试界面与所述第一测试界面的测试语言不同。

第二方面,本发明提供一种测试装置,包括:

获取模块,用于获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;

录制模块,用于对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;

回放模块,用于回放所述第一测试界面的录制脚本,识别出所述录制脚本的固定部分;

自学习模块,用于基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言下的第二测试界面的录制脚本;

爬虫和输出模块,用于爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比对,输出测试结果;

其中,所述第二测试界面与所述第一测试界面的测试语言不同。

第三方面,本发明提供一种电子设备,包括:处理器、存储器和总线,其中,

所述处理器和所述存储器通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述中任一所述的方法。

第四方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述中任一所述的方法。

本发明提供的一种测试方法、装置、电子设备及存储介质,测试方法:获取第一测试界面,并对第一测试界面进行测试录制,生成第一测试界面的录制脚本,回放录制脚本,识别出录制脚本中的固定部分,基于自学习算法将第一测试界面录制脚本中固定部分内容替换为第二测试语言对应的翻译内容,生成第二测试语言环境下的第二测试界面的录制脚本,爬取第二测试界面的文本信息,与第二测试界面录制脚本中的文本信息进行比较,获取测试结果。本发明实现了多语言产品的自动化测试,保证了测试的全面性和准确性,提高了测试效率。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种测试方法的流程示意图;

图2为本发明提供的一种录制脚本的流程示意图;

图3为本发明提供的一种测试装置的结果示意图;

图4为本发明提供的电子设备的结构示意图。

具体实施方式

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种测试方法的流程示意图。如图1所示,本发明提供的测试方法,包括以下步骤:

步骤101:获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;

步骤102:对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;

步骤103:回放所述第一测试界面的录制脚本,识别出所述录制脚本的固定部分;

步骤104:基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言环境下的第二测试界面的录制脚本;

步骤105:爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比较,输出测试结果;

其中,所述第二测试界面与所述第一测试界面的测试语言不同。

具体地,测试界面是指用户界面测试,用户界面测试英文名为User interfacetesting,简称UI测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致和各个功能模块的放置位置是否符合客户使用习惯,更重要的是要符合操作便捷,导航简单易懂,界面中的文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。

在本实施例中,对获取的第一测试界面进行测试,录制测试动作,生成第一测试界面的录制脚本;回放所述录制脚本,识别出所述录制脚本可变更内容中的固定部分,根据翻译字典将所述固定部分的内容替换为第二测试语言对应的翻译内容,生成第二测试语言对应的第二测试界面的录制脚本,爬取所述第二测试界面的文本信息与所述第二测试界面录制脚本中的文本信息进行对比,得到测试结果。需要说明的是,本实施例中的第一测试界面中的第一测试语言为测试人员熟悉的一种语言,如中文,第二测试语言可以为英文、日语等,且第二测试语言的翻译内容来源于翻译字典,在此不作具体限定。

在步骤104中,基于自学习算法对所述第一测试界面录制脚本中的固定部分进行自学习,根据翻译字典将固定部分的内容替换为第二测试语言对应的翻译内容,生成所述第二测试语言环境下的第二测试界面的录制脚本,需要说明的是,固定部分是指录制脚本中不会随登录用户的不同发生变化的部分,通过下面具体的例子进行详细解释。

举例说明,假如第一测试语言为中文,第一测试界面为中文对应的测试界面,中文测试界面为:

根据翻译字典,将上述中文测试界面中的固定中文内容修改为第二测试语言对应的内容,如第二测试语言为英文,得到如下内容:

根据翻译字典,对所述第一测试界面录制脚本中的固定部分进行替换,生成第二测试语言环境下的第二测试界面的录制脚本。

其中,自学习算法属于现有技术中较成熟的算法,在此不作具体解释。

在步骤105中,爬取第二测试界面,根据第二测试界面中的文本信息与第二测试界面的录制脚本中的文本信息进行比对,若相应位置的文本信息一致,则表示测试成功。需要说明的是,第二测试界面是指用户可以直接看到的第二测试语言环境下的测试界面。

其中,爬取方式有主动爬取方式和被动爬取方式,其中主动爬取方式是指爬虫自动爬取网站上所有界面,并生成以页面为单位的页面内容和位置信息文件的方式;被动爬取方式是根据用户在界面上的点击,爬取用户触发的页面,生成包含页面对应内容和位置信息文件的方式。在本实施例中优选的是主动爬取方式,用户可以根据实际需要选用不同的爬取方式,在此不作具体限定。

本发明实施例提供的测试方法,获取第一测试界面,并对第一测试界面进行测试录制,生成第一测试界面的录制脚本,回放录制脚本,识别出录制脚本中的固定部分,基于自学习算法将第一测试界面录制脚本中固定部分内容替换为第二测试语言对应的翻译内容,生成第二测试语言环境下的第二测试界面的录制脚本,爬取第二测试界面的文本信息,与第二测试界面录制脚本中的文本信息进行比较,获取测试结果。该方法实现了多语言产品的自动化测试,保证了测试的全面性和准确性,提高了测试效率。

在本发明的另一个实施例中,该方法还包括:回放所述第二测试界面的录制脚本,当自动启动浏览器时,确认所述第二测试界面的功能测试成功。

具体地,录制脚本是指将测试过程中的测试步骤录制下来生成的脚本文件,可以用于自动化测试中。

在本实施例中,通过回放第二测试界面的录制脚本,判断能否实现自动启动浏览器,若可以则表示第二测试界面的功能测试成功,需要说明的是,本实施例中回放第二测试界面的录制脚本可以是第二测试界面的动作录制脚本。

本发明实施例中,通过回放录制脚本判断测试成功与否,这种测试方式能够实现对多语言测试产品的自动化测试,提高多语言测试产品的测试效率。

在本发明的另一个实施例中,如图2所示,所述对所述第一测试界面进行测试录制,生成所述测试界面的录制脚本,包括:

步骤201:对所述第一测试界面进行触发动作的录制,生成所述第一测试界面的动作录制脚本;

步骤202:爬取所述第一测试界面的每一处文本信息,生成包含所述每一处文本信息和对应位置信息的规则文件;

步骤203:将所述规则文件保存在所述第一测试界面的动作录制脚本中,生成所述第一测试界面的录制脚本。

具体地,动作录制脚本是指将测试过程中的执行动作录制下来生成的脚本;第一测试界面可以是测试人员熟悉语言对应的测试界面,如中文测试界面。

在步骤202中,爬取第一测试界面的每一处文本信息,根据每一处文本信息和对应的位置信息生成第一测试界面的规则文件,需要说明的是,规则文件是指以页面为单位的键值对所构成的文件,如每一处文本信息的key:value文件,key可以作为唯一标识value内容的键,不局限于id、classname、xpath等。

其中,爬取是指采用网络爬虫技术获取所需信息的过程,网络爬虫是一种按照一定的规则自动地抓取网络信息的程序或者脚本,同时分为主动爬取和被动爬取。可以根据实际需要选用不同的爬取方式,在此不作具体限定。

在本实施例中,通过对第一测试界面进行触发操作时的动作进行录制,生成第一测试界面的动作录制脚本,然后爬取第一测试界面的每一处文本信息,根据每一处文本信息和对应的位置信息生成第一测试界面的规则文件,将所述规则文件保存在动作录制脚本文件中,形成第一测试界面的录制脚本。如第一测试界面为中文测试界面,将爬取到中文测试界面中的每一处文本信息和每一处文本信息的位置信息形成相应的键值对,将所有键值对组合生成中文测试界面的规则文件,保存在动作录制脚本中。

本发明实施例中,通过对第一测试界面的动作录制脚本的录制,爬取第一测试界面后生成规则文件,将规则文件保存在动作录制脚本文件中,生成第一测试界面的录制脚本,该方法保证了测试界面展示的全面性,同时,为后续其他语言环境的测试提供了测试基准。

在本发明的一个实施例中,所述基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言环境下的第二测试界面的录制脚本,包括:

对所述第一测试界面的录制脚本进行回放,获取所述第一测试界面的动作录制脚本和规则文件;

识别出所述动作录制脚本和规则文件中的固定部分,对所述固定部分内容进行断言,获取所述固定部分的断言内容;

根据翻译字典中所述第二测试语言对应的内容将所述断言内容进行替换,生成所述第二测试语言环境下的第二测试界面的录制脚本。

具体地,断言(assert)用于在代码中捕捉一些假设,常表示为一些布尔表达式,使用断言可以创建更稳定、品质更好且不易出错的代码,当需要在一个值为FALSE时中断当前操作的话,可以使用断言,单元测试中也使用断言。

在本实施例中,对所述第一测试界面的录制脚本进行回放,获得录制脚本包含的动作录制脚本和规则文件,对动作录制脚本和规则文件中的固定部分进行断言,得到断言内容,根据翻译字典中第二测试语言对应的翻译内容将所述断言内容替换掉,得到第二测试语言环境下的第二测试界面的录制脚本。需要说明的是,本实施例中基于自学习的方式来获取第二测试界面的录制脚本,自学习过程的实现方式可以通过下面具体的例子进行详细介绍。

1)构造输入参数的长度相等,比如第一次输入userA,第二次输入userB。

2)识别出测试界面可变更的内容。

首次返回:‘userA登录成功’,识别出界面变更部分为userA登录成功。

第二次返回:‘userB登录成功’,识别出界面变更部分userB登录成功。

3)获取动作录制脚本和规则文件中的固定部分,对比两次返回结果的内容,得出固定部分为‘登录成功’。

4)添加对固定部分的断言加入到录制脚本中。

再通过一个新建操作的例子来理解上述自学习的实现步骤。

如新建操作的用例为:

第一次新建:

识别出可变更内容中的固定部分为:新建成功,对该固定部分进行断言,并在翻译字典中查找该参数值第二测试语言对应的翻译内容,如第二测试语言为英文,在翻译字典中查找“新建成功”对应的英文翻译为“New success”,生成英文环境下新建操作的固定部分:

其中,翻译字典不局限于xml,excel,txt文档,只需要有翻译文字对应关系即可,不需要额外标记,而且只需要修改第一测试语言(中文)环境录制脚本中固定部分的断言内容,即assert(“新建成功”)改为assert(“New success”),就生成第二测试语言(英文)环境下的测试界面的录制脚本,这种操作方式非常简单,同时保证了录制脚本的准确性,提高了测试效率。

本发明实施例中,对第一测试界面的录制脚本进行回放操作,获取第一测试界面的动作录制脚本和规则文件,识别出所述动作录制脚本和规则文件中的固定部分,对其进行断言,根据翻译字典中的内容将断言内容替换为第二测试语言的内容,形成第二测试语言环境下的第二测试界面的录制脚本。该方法能够保证录制脚本的准确性,操作方便简单,提高了测试效率。

在本发明的另一个实施例中,所述爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比对,输出测试结果,包括:

将所述第二测试界面的录制脚本中的规则文件与爬取到所述第二测试界面中的各个位置的文本信息进行比对,若一致则确认所述第二测试界面测试成功,输出测试结果。

具体地,规则文件是用于检测测试界面中展示的内容是否准确、合理的基准文件,需要说明的是,第一测试界面中的规则文件与第二测试界面中的规则文件的测试语言不同。

在本实施例中,采用爬虫技术爬取第二测试界面,得到第二测试界面中各个位置的文本信息,将得到的第二测试界面中各个位置的文本信息与第二测试界面录制脚本中的规则文件进行对比,判断是否一致,若一致则表示测试成功,输出测试结果。需要说明的是,规则文件中包含了各个位置对应的第二测试语言的文本信息。

本实施例中,以第二测试界面的录制脚本中的规则文件为基准,将实际爬取到的第二测试界面的各个位置的文本信息与规则文件中各位置的文本信息进行对比,通过比对结果确认出第二测试界面的测试结果,该方法简单、真实,保证了测试的准确性。

图3为本发明实施例提供的一种测试装置的结果示意图,如图3所示,本发明提供的一种测试装置,包括:

获取模块301,用于获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;

录制模块302,用于对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;

回放模块303,用于回放所述第一测试界面的录制脚本,识别出所述录制脚本的可变部分和固定部分;

自学习模块304,用于基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言环境下的第二测试界面的录制脚本;

爬虫和输出模块305,用于爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比较,输出测试结果;

其中,所述第二测试界面与所述第一测试界面的测试语言不同。

具体地,爬虫又叫网络爬虫,是一种按照一定规则抓取网络信息的程序或者脚本,网络爬虫又称为网络机器人、网页蜘蛛。

本发明实施例提供的测试装置,获取模块用于获取第一测试界面,录制模块用于对第一测试界面测试时进行录制,生成录制脚本,回放模块用于回放第一测试界面的录制脚本,识别出固定部分,自学习模块用于将固定部分的内容替换为第二测试语言对应的内容,生成第二测试语言环境下的第二测试界面的录制脚本,爬虫和输出模块用于爬取第二测试界面,将爬取到的第二测试界面中的文本信息和录制脚本中的文本信息进行比对,输出测试结果。该装置用于多语言产品的自动化测试,保证了测试的全面性和准确性,提高了测试效率。

由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。

图4为本发明实施例提供的电子设备实体结构示意图,如图4所示,本发明提供一种电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;

其中,处理器401、存储器402通过总线403完成相互间的通信;

处理器401用于调用存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;回放所述第一测试界面的录制脚本,识别出所述录制脚本的固定部分;基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言下的第二测试界面的录制脚本;爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比对,输出测试结果;其中,所述第二测试界面与所述第一测试界面的测试语言不同。

本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取第一测试界面,其中,所述第一测试界面中的第一测试语言为多语言系统中测试人员熟悉的一种语言;对所述第一测试界面进行测试录制,生成所述第一测试界面的录制脚本;回放所述第一测试界面的录制脚本,识别出所述录制脚本的固定部分;基于自学习算法将所述固定部分的内容替换为第二测试语言对应的内容,生成所述第二测试语言下的第二测试界面的录制脚本;爬取所述第二测试界面,获取所述第二测试界面的文本信息,与所述第二测试界面的录制脚本中的文本信息进行比对,输出测试结果;其中,所述第二测试界面与所述第一测试界面的测试语言不同。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 电子设备的测试方法、装置、存储介质及电子设备
  • 电子设备振动测试方法、装置、电子设备及存储介质
技术分类

06120113195629