首页 / 专利库 / 软件 / 软件回归测试 / 页面权限测试方法、装置、计算机设备及存储介质

页面权限测试方法、装置、计算机设备及存储介质

阅读:746发布:2020-05-18

专利汇可以提供页面权限测试方法、装置、计算机设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开一种页面权限测试方法、装置、计算机设备及存储介质。该方法包括:获取包括目标程序ID的权限测试 请求 ;对目标程序ID对应的目标 软件 程序的权限 声明 代码进行静态代码扫描,获取第一权限列表;对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取第二权限列表;基于第一权限列表和第二权限列表,生成页面权限 正交 矩阵;从测试 用例 数据库 中,获取目标软件程序对应的用例权限正交矩阵;基于页面权限正交矩阵和用例权限正交矩阵,获取与目标程序ID相对应的页面用例正交矩阵;基于页面用例正交矩阵,获取与每一页面标识相对应的目标测试用例。本方法可实现对目标测试用例的精确 定位 ,提高用户权限测试的 覆盖 率。,下面是页面权限测试方法、装置、计算机设备及存储介质专利的具体信息内容。

1.一种页面权限测试方法,其特征在于,包括:
获取权限测试请求,所述权限测试请求包括目标程序ID;
对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表,所述第一权限列表包括N个用户权限;
对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取所述目标软件程序对应的第二权限列表,所述第二权限列表包括M个页面标识和与每一所述页面标识相对应的用户权限;
基于所述第一权限列表和所述第二权限列表,生成页面权限正交矩阵,所述页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵;
从测试用例数据库中,获取所述目标软件程序对应的用例权限正交矩阵,所述页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵;
基于所述页面权限正交矩阵和所述用例权限正交矩阵,获取与所述目标程序ID相对应的页面用例正交矩阵,所述页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵;
基于所述页面用例正交矩阵,获取与每一所述页面标识相对应的目标测试用例。
2.如权利要求1所述的页面权限测试方法,其特征在于,所述对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表,包括:
采用静态代码扫描工具和与所述目标程序ID相对应的语法规则,对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表。
3.如权利要求1所述的页面权限测试方法,其特征在于,所述对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取所述目标软件程序对应的第二权限列表,包括:
采用静态代码扫描工具和预先设置的权限关键字,对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取与所述权限关键字相对应的至少一个目标代码;
从至少一个所述目标代码中,提取与每一所述目标代码相对应的页面标识和用户权限;
将至少一个所述目标代码对应的页面标识和用户权限存储在预设数据表中,获取所述目标软件程序对应的第二权限列表。
4.如权利要求1所述的页面权限测试方法,其特征在于,所述基于所述第一权限列表和所述第二权限列表,生成页面权限正交矩阵,包括:
基于M个页面标识与N个用户权限,构建M*N的原始页面权限矩阵;
遍历所述第一权限列表和所述第二权限列表,对比每一行所述页面标识对应的用户权限与所在列的用户权限是否相同;若相同,则将所述原始页面矩阵中的矩阵值设置为1;若不相同,则将所述原始页面矩阵中的矩阵值设置为0,生成页面权限正交矩阵。
5.如权利要求1所述的页面权限测试方法,其特征在于,所述基于所述页面权限正交矩阵和所述用例权限正交矩阵,获取与所述目标程序ID相对应的页面用例正交矩阵,包括:
基于M个页面标识与A个场景测试用例,构建M*A的原始页面用例矩阵;
遍历所述页面权限正交矩阵和所述用例权限正交矩阵,对比每一所述页面标识对应的用户权限与所述场景测试用例对应的用户权限是否相同;若相同,则将所述原始页面用例矩阵中的矩阵值设置为1;若不相同,则将所述原始页面用例矩阵中的矩阵值设置为0,生成所述页面用例正交矩阵。
6.如权利要求1所述的页面权限测试方法,其特征在于,在所述获取与所述目标程序ID相对应的页面用例正交矩阵之后,所述页面权限测试方法还包括:
获取回归测试分析请求,所述回归测试分析请求包括目标程序ID和目标版本ID;
基于所述目标程序ID和所述目标版本ID查询代码仓库,获取目标版本程序代码和历史版本程序代码;
采用代码对比工具对所述目标版本程序代码和所述历史版本程序代码进行对比,获取改动代码模
对所述改动代码模块进行静态代码扫描,获取改动页面标识;
基于所述改动页面标识查询与所述目标程序ID相对应的页面用例正交矩阵,获取回归测试用例。
7.如权利要求1所述的页面权限测试方法,其特征在于,在所述获取与每一所述页面标识相对应的目标测试用例之后,所述页面权限测试方法还包括:
基于每一所述页面标识对应的目标测试用例进行用户权限测试,获取所述页面标识相对应的权限测试结果;
若所述权限测试结果为测试失败,获取与测试失败的用户权限相对应的缺陷修复期间,触发缺陷修复监听程序;
获取所述缺陷修复监听程序在所述缺陷修复期间内,监听到的缺陷修复结果;
基于所述权限测试结果和所述缺陷修复结果,获取权限测试分析报告。
8.一种页面权限测试装置,其特征在于,包括:
权限测试请求获取模块,用于获取权限测试请求,所述权限测试请求包括目标程序ID;
第一权限列表获取模块,用于对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表,所述第一权限列表包括N个用户权限;
第二权限列表获取模块,用于对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取所述目标软件程序对应的第二权限列表,所述第二权限列表包括M个页面标识和与每一所述页面标识相对应的用户权限;
页面权限矩阵获取模块,用于基于所述第一权限列表和所述第二权限列表,生成页面权限正交矩阵,所述页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵;
用例权限矩阵获取模块,用于从测试用例数据库中,获取所述目标软件程序对应的用例权限正交矩阵,所述页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵;
页面用例矩阵获取模块,用于基于所述页面权限正交矩阵和所述用例权限正交矩阵,获取与所述目标程序ID相对应的页面用例正交矩阵,所述页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵;
目标测试用例获取模块,用于基于所述页面用例正交矩阵,获取与每一所述页面标识相对应的目标测试用例。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
7任一项所述页面权限测试方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述页面权限测试方法的步骤。

说明书全文

页面权限测试方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及软件测试技术领域,尤其涉及一种页面权限测试方法、装置、计算机设备及存储介质。

背景技术

[0002] 软件测试是指在特定条件下对软件程序进行操作,以发现软件程序错误,衡量软件质量能否满足设计要求的评估过程。在软件程序的测试过程中,会涉及对页面进行权限类测试,以测试软件程序中某一页面是否具有特定的权限,如某一页面是否具有访问网络或者访问相机的权限。在页面权限测试过程中,主要依据测试人员个人经验梳理需要进行权限测试的页面对应的测试用例,容易导致测试覆盖不全、测试周期长且测试结果受测试人员经验或者其他主观因素影响。

发明内容

[0003] 本发明实施例提供一种页面权限测试方法、装置、计算机设备及存储介质,以解决当前页面权限测试时人工确定需要进行测试的页面对应的测试用例所存在的问题。
[0004] 一种页面权限测试方法,包括:
[0005] 获取权限测试请求,所述权限测试请求包括目标程序ID;
[0006] 对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表,所述第一权限列表包括N个用户权限;
[0007] 对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取所述目标软件程序对应的第二权限列表,所述第二权限列表包括M个页面标识和与每一所述页面标识相对应的用户权限;
[0008] 基于所述第一权限列表和所述第二权限列表,生成页面权限正交矩阵,所述页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵;
[0009] 从测试用例数据库中,获取所述目标软件程序对应的用例权限正交矩阵,所述页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵;
[0010] 基于所述页面权限正交矩阵和所述用例权限正交矩阵,获取与所述目标程序ID相对应的页面用例正交矩阵,所述页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵;
[0011] 基于所述页面用例正交矩阵,获取与每一所述页面标识相对应的目标测试用例。
[0012] 一种页面权限测试装置,包括:
[0013] 权限测试请求获取模,用于获取权限测试请求,所述权限测试请求包括目标程序ID;
[0014] 第一权限列表获取模块,用于对所述目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取所述目标软件程序对应的第一权限列表,所述第一权限列表包括N个用户权限;
[0015] 第二权限列表获取模块,用于对所述目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取所述目标软件程序对应的第二权限列表,所述第二权限列表包括M个页面标识和与每一所述页面标识相对应的用户权限;
[0016] 页面权限矩阵获取模块,用于基于所述第一权限列表和所述第二权限列表,生成页面权限正交矩阵,所述页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵;
[0017] 用例权限矩阵获取模块,用于从测试用例数据库中,获取所述目标软件程序对应的用例权限正交矩阵,所述页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵;
[0018] 页面用例矩阵获取模块,用于基于所述页面权限正交矩阵和所述用例权限正交矩阵,获取与所述目标程序ID相对应的页面用例正交矩阵,所述页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵;
[0019] 目标测试用例获取模块,用于基于所述页面用例正交矩阵,获取与每一所述页面标识相对应的目标测试用例。
[0020] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述页面权限测试方法的步骤。
[0021] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述页面权限测试方法的步骤。
[0022] 上述页面权限测试方法、装置、计算机设备及存储介质,通过对目标软件程序进行静态代码扫描,以实现快速获取第一权限列表和第二权限列表,其扫描过程无需编译和搭建运行环境,可节省大量人和时间成本,提高效率。先基于第一权限列表和第二权限列表,以形成页面权限正交矩阵,再基于所形成的页面权限正交矩阵和预先设置的用例权限正交矩阵,形成用例权限正交矩阵,以使该用例权限正交矩阵以结构化的形式,显示每一页面可采用的场景测试用例,有助于页面权限测试时确定对应的场景测试用例。再基于页面用例正交矩阵确定每一页面标识对应的目标测试用例,可实现对目标测试用例的精确定位,以便采用该目标测试用例对页面标识对应的页面进行页面权限测试,提高页面权限测试过程中对用户权限测试的覆盖率。附图说明
[0023] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0024] 图1是本发明一实施例中页面权限测试方法的一应用环境示意图;
[0025] 图2是本发明一实施例中页面权限测试方法的一流程图
[0026] 图3是本发明一实施例中页面权限测试方法的另一流程图;
[0027] 图4是本发明一实施例中页面权限测试方法的另一流程图;
[0028] 图5是本发明一实施例中页面权限测试装置的一示意图;
[0029] 图6是本发明一实施例中计算机设备的一示意图。

具体实施方式

[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 本发明实施例提供的页面权限测试方法,该页面权限测试方法可应用如图1所示的应用环境中。具体地,该页面权限测试方法应用在软件测试系统中,该软件测试系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现精确定位需要进行权限测试的页面对应的测试用例,无需测试人员干预,提高测试效率并降低测试成本,保证权限测试覆盖率。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0032] 在一实施例中,如图2所示,提供一种页面权限测试方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
[0033] S201:获取权限测试请求,权限测试请求包括目标程序ID。
[0034] 其中,权限测试请求是用于触发服务器对目标软件程序进行权限测试的请求。目标程序ID是用于识别需要进行测试的目标软件程序的标识。该目标软件程序具体为需要进行权限测试的软件程序,具体可以为一Android APP。可以理解地,该软件测试系统上存储有多个开发人员上传的需要进行测试的软件程序,可根据目标程序ID确定本次权限测试请求的目标软件程序。
[0035] S202:对目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取目标软件程序对应的第一权限列表,第一权限列表包括N个用户权限。
[0036] 其中,静态源代码扫描是近年被人提及较多的软件应用安全解决方案之一。它是指在软件工程中,开发人员写好源代码后,无需经过编译器编译,而直接使用一些扫描工具对其进行扫描,找出代码当中存在的一些语义缺陷、安全漏洞的解决方案。静态代码扫描过程,无需进行编译、也无需去搭建运行环境就可以对开发人员所写的源代码进行扫描。其可以节省大量的人力和时间成本,提高开发效率,并且能够发现很多靠人力无法发现的安全漏洞,站在黑客的度上去审查开发人员编写的代码,大大降低项目中的安全险,提高软件质量。
[0037] 权限声明代码是用于记录目标软件程序所包含的所有用户权限的代码。该权限声明代码记录在一权限声明文件中,以实现对目标软件程序中的用户权限进行统一管理。例如,Android应用程序的权限声明代码存储在AndroidManifest.xml中,用于对Android应用程序中应用到的用户权限进行声明。在目标软件程序为Android应用程序时,在其AndroidManifest.xml上声明所有用户权限,可以通过静态代码扫描AndroidManifest.xml上的权限声明代码,获取目标软件程序中所有用户权限,将这些用户权限存储在数据表中,以形成第一权限列表。本实施例中,设置第一权限列表中存储的用户权限的数量为N个,即第一权限列表中包含N个用户权限。
[0038] 本实施例中,权限声明代码所声明的用户权限包括但不限于本实施例中的访问相机、访问网络、访问通讯录、存储、麦克风、设备定位和读写访问等使用权限。例如,权限声明文件中,可采用CAMERA来声明能够访问设备的相机,即具有访问相机的用户权限;可采用ACCESS_COARSE_LOCATION来声明允许程序通过访问网络来大致确定自己设备的位置,即具有设备定位的用户权限;可采用ACCESS_NETWORK_STATE来声明允许应用程序访问网络信息,即具有访问网络的用户权限。
[0039] 在一实施例中,步骤S202,即对目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取目标软件程序对应的第一权限列表,具体包括如下步骤:
[0040] 采用静态代码扫描工具和与目标程序ID相对应的语法规则,对目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取目标软件程序对应的第一权限列表。
[0041] 其中,该静态代码扫描工具是开源的静态代码扫描工具,如可以是SonarQube扫描工具。SonarQube扫描工具采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等二十几种编程语言的代码质量管理与检测。
[0042] 其中,与目标程序ID相对应的语法规则是在目标软件程序开发过程中预先配置可实现静态代码扫描目的自定义语法规则。该语法规则与编写该目标软件程序所采集的编程语言相匹配。一般来说,采用JAVA编辑的目标软件程序需符合JAVA的语法规则,采用C++编辑的目标软件程序需符合C++的语法规则。
[0043] 本实施例中,服务器采用开源的静态代码扫描工具(包括但不限于SonarQube),对目标软件程序的AndroidManifest.xml这一权限声明文件中的权限声明代码进行静态代码扫描,将符合预先设置的与目标程序ID相对应的语法规则的用户权限的识别出来,存储在第一权限列表中,以获取目标软件程序中所包含的所有用户权限,实现用户权限的自动获取。
[0044] S203:对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取目标软件程序对应的第二权限列表,第二权限列表包括M个页面标识和与每一页面标识相对应的用户权限。
[0045] 目标软件程序的主程序代码是目标软件程序中实现软件功能的代码,该主程序代码记录在主程序文件中。由于目标软件程序中,不同页面对应不同的软件功能,而这个页面的软件功能通过功能模块实现,这些功能模块形成主程序代码。在任一页面的功能模块中,可能包含用户权限,也可能不包含用户权限,例如,在需要访问网络的页面功能中,其包含访问网络这一用户权限;在前端页面跳转时,其不包含访问网络这一用户权限。
[0046] 本实施例中,服务器通过采用开源的静态代码扫描工具(包括但不限于SonarQube),对目标软件程序的主程序代码进行扫描,以获取主程序代码中包括的所有页面标识及其对应的用户权限,基于该页面标识及其对应的用户权限形成第二权限列表。其中,页面标识是用于唯一识别目标软件程序中不同页面的标识。在第二权限列表中,存储有从主程序代码扫描时出的包含用户权限的M个页面标识以及与每一页面标识相对应的用户权限。此处的M个页面标识可以理解为包含用户权限的M个页面对应的唯一标识。
[0047] 在一实施例中,步骤S203,即对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取目标软件程序对应的第二权限列表,具体包括如下步骤:
[0048] (1)采用静态代码扫描工具和预先设置的权限关键字,对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取与权限关键字相对应的至少一个目标代码。
[0049] 其中,权限关键字是指在目标软件程序开发过程中,用于限定页面使用特定用户权限的关键字。例如,在Android应用程序中,采用通用关键字Manifest.permission作为权限关键字,即在目标软件程序的主程序代码中采用Manifest.permission X这种表述说明其可实现用户权限X,即在任一页面对应的功能模块中出现Manifest.permission X这种表述,则认定该功能模块为包含用户权限的功能模块,X为具体的用户权限。
[0050] 本实施例中,服务器采用开源的静态代码扫描工具(包括但不限于SonarQube),对目标软件程序的主程序代码进行静态代码扫描,获取包含权限关键字(如Manifest.permission)的至少一个功能模块,将这些功能模块确定为目标代码,从而获取与权限关键字相对应的至少一个目标代码。即该目标代码是包含用户权限的功能模块。
[0051] (2)从至少一个目标代码中,提取与每一目标代码相对应的页面标识和用户权限。
[0052] 在静态代码扫描工具扫描出至少一个目标代码之后,采用页面关键字匹配成每一目标代码中的页面标识,并获取权限关键字之后的用户权限,从而确定其对应的页面标识和用户权限。例如,在包括权限关键字的目标代码中,包括Manifest.permission XCCESS_NETWORK_STATE来确定其用户权限为ACCESS_NETWORK_STATE,即允许应用程序访问网络信息(简称为访问网络)。页面关键字是指目标软件程序开发过程中,用于限定代码为特定页面的关键字,其确定页面标识的过程与确定用户权限的过程类似,不再赘述。
[0053] (3)将至少一个目标代码对应的页面标识和用户权限存储在预设数据表中,获取目标软件程序对应的第二权限列表。
[0054] 其中,预设数据表是预先设置的二维数据表。服务器在获取至少一个目标代码对应的页面标识和用户权限之后,将每一目标代码对应的页面标识及其对应的用户权限作为一条页面权限数据存储在预设数据表中,以形成第二权限列表。例如,在第二权限列表中,第一列存储页面标识,第二列、第三列……第K列分别用于存储每一页面标识对应的用户权限。
[0055] 本实施例中,服务器采用开源的静态代码扫描工具(包括但不限于SonarQube),对目标软件程序的主程序代码进行静态代码扫描,可快速获取包含用户权限的目标代码;再识别出目标代码中包含的页面标识和用户权限,以形成第二权限列表,以将目标软件程序中每一页面所应用的用户权限采用数据表形式展示,以便后续实现对不同页面所应用到的用户权限进行测试,保证测试的覆盖率,提高测试效率。
[0056] S204:基于第一权限列表和第二权限列表,生成页面权限正交矩阵,页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵。
[0057] 具体地,服务器在获取第一权限列表和第二权限列表之后,基于第一权限列表和第二权限列表形成一页面权限正交矩阵,该页面权限正交矩阵是以M个页面标识为行,以N个用户权限为列形成的矩阵,矩阵中的矩阵值采用1和0表示,其中,1表示页面标识对应的功能模块包含对应的用户权限,0表示页面标识对应的功能模块没有包含对应的用户权限。可以理解地,通过第一权限列表和第二权限列表,可以清楚明了地反映目标软件程序中的每一页面对应的用户权限与整个目标软件程序中所有的用户权限之间的映射关系。
[0058] 在一实施例中,步骤S204,即基于第一权限列表和第二权限列表,生成页面权限正交矩阵,具体包括如下步骤:
[0059] (1)基于M个页面标识与N个用户权限,构建M*N的原始页面权限矩阵。即构建以M个页面标识为行,N个用户权限为列的原始页面权限矩阵。
[0060] (2)遍历第一权限列表和第二权限列表,对比每一行页面标识对应的用户权限与所在列的用户权限是否相同;若相同,则将原始页面矩阵中的矩阵值设置为1;若不相同,则将原始页面矩阵中的矩阵值设置为0,生成页面权限正交矩阵。
[0061] 例如,目标软件程序中第一权限列表中存储的所有用户权限包括访问网络、访问WIFI、统计电池信息、访问相机、读写访问和定位,分别用P1、P2、P3、P4、P5和P6表示,则N为6。第二权限列表中包含4个页面,分别用页面标识Y1、Y2、Y3和Y4表示,则M为4,设Y1页面对应的用户权限为访问网络、访问WIFI和定位,Y2页面对应的用户权限为访问网络和访问相机;Y3页面对应的用户权限为读写访问和统计电池信息,Y4页面对应的访问WIFI、统计电池信息、访问相机、读写访问和定位,则其形成的页面权限正交矩阵如下表一所示,可清楚地反映目标软件程序中每一页面对应的用户权限与整个目标软件程序中所有的用户权限之间的映射关系。
[0062] 表一页面权限正交矩阵
[0063]  P1 P2 P3 P4 P5 P6
Y1 1 1 0 0 0 1
Y2 1 0 0 1 0 0
Y3 0 0 1 0 1 0
Y4 0 1 1 1 1 1
[0064] S205:从测试用例数据库中,获取目标软件程序对应的用例权限正交矩阵,页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵。
[0065] 其中,测试用例数据库是用于存储所有与目标软件程序相对应的场景测试用例的数据库。在软件测试过程中,测试人员每一创建一个场景测试用例,需将该场景测试用例与其所测试到的用户权限存储在用例权限正交矩阵中,以便实现对场景测试用例的统一管理,以使每一场景测试用例所测试的用户权限更直观,以便后续基于该权限用例正交矩阵确定页面权限测试过程使得的场景测试用例。即服务器在获取权限测试请求之后,需基于目标程序ID,从测试用例数据库中,获取目标软件程序相对应的用例权限正交矩阵,以便辅助确定页面权限测试过程中采集的场景测试用例。
[0066] 在用例权限正交矩阵中,采用L1、L2……LA分别表示测试用例数据库中的A个场景测试用例,如下表二所示。由表二可知,L1对应的场景测试用例对P1、P2和P6这几个用户权限进行测试,则对访问网络、访问WIFI和定位这几个用户权限进行测试。
[0067] 表二用例权限正交矩阵
[0068]  P1 P2 P3 P4 P5 P6
L1 1 1 0 0 0 1
L2 1 1 0 1 1 0
…… …… …… …… …… …… ……
LA 0 0 1 0 1 0
[0069] 本实施例中所采用的场景测试用例包括但不限于如下测试用例:1)启动运行时允许授权_调用相关场景页面_可使用。2)启动运行时拒绝授权&勾选不再弹窗_调用相关场景页面_提示不可使用。3)启动运行时拒绝授权&不勾选不再弹窗_调用相关场景页面弹窗提示选择允许_可使用。4)启动运行时拒绝授权&不勾选不再弹窗_调用相关场景页面弹窗提示选择不允许_不可使用。5)启动允许时选择询问授权_调用相关场景页面_继续弹窗提示。6)已允许授权&后台设置禁止_调用相关场景页面_不可使用。7)已允许授权&后台设置询问_调用相关场景页面_弹窗询问。8)已拒绝授权&勾选不再弹窗&后台设置询问_调用相关场景页面_弹窗询问。9)已拒绝授权&勾选不再弹窗&后台设置允许_调用相关场景页面_可使用。
[0070] S206:基于页面权限正交矩阵和用例权限正交矩阵,获取与目标程序ID相对应的页面用例正交矩阵,页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵。
[0071] 具体地,服务器在获取页面权限正交矩阵和用例权限正交矩阵之后,基于页面权限正交矩阵和用例权限正交矩阵形成一页面用例正交矩阵,该页面用例正交矩阵是以M个页面标识为行,以A个场景测试用例为列形成的矩阵,矩阵中的矩阵值采用1和0表示,1表示页面标识对应的用户权限与场景测试用例对应的用户权限相同,0表示页面标识对应的用户权限与场景测试用例对应的用户权限不相同。通过该页面用例正交矩阵,可清楚明了地反映目标软件程序中的每一页面可采用的场景测试用例。
[0072] 在一实施例中,步骤S206中,基于页面权限正交矩阵和用例权限正交矩阵,获取与目标程序ID相对应的页面用例正交矩阵,具体包括如下步骤:
[0073] (1)基于M个页面标识与A个场景测试用例,构建M*A的原始页面用例矩阵。即构建以M个页面标识为行,A个场景测试用例为列的原始页面用例矩阵。
[0074] (2)遍历页面权限正交矩阵和用例权限正交矩阵,对比每一页面标识对应的用户权限与场景测试用例对应的用户权限是否相同;若相同,则将原始页面用例矩阵中的矩阵值设置为1;若不相同,则将原始页面用例矩阵中的矩阵值设置为0,生成页面用例正交矩阵。
[0075] 例如,基于上述表一所提供的页面权限正交矩阵和表二所提供的用例权限正交矩阵,构建的页面用例正交矩阵如下表三所示。由于Y1对应的用户权限为P1、P2和P6,而L1对应的用户权限也为P1、P2和P6,则将原始页面用例矩阵中Y1和L1对应的矩阵值设置为1;而L2对应的用户权限为P1、P2、P4和P5,则将原始页面用例矩阵中Y1与L2对应的矩阵值设置为0。
[0076] 表三页面用例正交矩阵
[0077]  L1 L2 …… LA
Y1 1 0 …… 0
Y2 0 0 …… 0
Y3 0 0 …… 1
Y4 0 0 …… 0
[0078] S207:基于页面用例正交矩阵,获取与每一页面标识相对应的目标测试用例。
[0079] 由于页面用例正交矩阵中,以结构化形式显示每一页面标识对应的页面与测试用例数据库中提供的所有场景测试用例之间的相互关系,可根据该页面用例正交矩阵中的矩阵值,确定任一场景测试用例测试过程中是否会测试某一页面对应的所有用户权限。具体地,服务器可基于页面用例正交矩阵,确定每一页面标识对应的矩阵值为1的场景测试用例为其对应的目标测试用例,以使后续对该页面标识对应的页面的功能模块进行测试时,实现准确定位到与每一页面标识对应的目标测试用例,基于该目标测试用例进行测试,有助于保障页面权限测试的覆盖率,避免测试人员自主确定页面对应的测试用例过程中存在的测试覆盖不全和测试周期长的问题,有助于降低测试人员的人工成本和时间成本。
[0080] 本实施例所提供的页面权限测试方法中,通过对目标软件程序进行静态代码扫描,以实现快速获取第一权限列表和第二权限列表,其扫描过程无需编译和搭建运行环境,可节省大量人力和时间成本,提高效率。先基于第一权限列表和第二权限列表,以形成页面权限正交矩阵,再基于所形成的页面权限正交矩阵和预先设置的用例权限正交矩阵,形成用例权限正交矩阵,以使该用例权限正交矩阵以结构化的形式,显示每一页面可采用的场景测试用例,有助于页面权限测试时确定对应的场景测试用例。再基于页面用例正交矩阵确定每一页面标识对应的目标测试用例,可实现对目标测试用例的精确定位,以便采用该目标测试用例对页面标识对应的页面进行页面权限测试,提高页面权限测试过程中对用户权限测试的覆盖率。
[0081] 在一实施例中,为了保障软件程序的质量,目标软件程序开发过程中进行多次回归测试,该回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的过程。由于目标软件程序在开发过程中,需要多次修改目标软件程序中的主程序代码或者其他代码,使得其需要进行多次回归测试,若代码改动涉及到某些包含用户权限的页面改动时,还需要基于这些改动页面进行页面权限测试,因此,需分析代码改动之后,进行页面权限测试所需采用的回归测试用例。该回归测试用例可以理解为在回归测试过程中采用的场景测试用例。如图3所示,在步骤206之后,即在获取与目标程序ID相对应的页面用例正交矩阵之后,页面权限测试方法还包括:
[0082] S301:获取回归测试分析请求,回归测试分析请求包括目标程序ID和目标版本ID。
[0083] 其中,回归测试分析请求是用于触发服务器进行回归测试分析,以确定回归测试用例的请求。目标程序ID是用于识别需要进行测试的目标软件程序的标识。具体地,可根据目标程序ID和目标版本ID可唯一确定本次需要进行回归测试的目标版本程序代码。
[0084] S302:基于目标程序ID和目标版本ID查询代码仓库,获取目标版本程序代码和历史版本程序代码。
[0085] 代码仓库是用于存储特定软件程序所有版本的代码的数据库。此处的特定软件程序为目标程序ID对应的目标软件程序。目标版本程序代码是与目标程序ID和目标版本ID相对应的程序代码。历史版本程序代码是与目标程序ID相对应的在目标版本之前的历史版本对应的程序代码。例如,对于微信程序而言,其目标程序ID可唯一识别微信程序,以避免于其他APP的标识;目标版本ID是指用于唯一识别该微信版本的标识,例如V5.0,则目标版本程序代码为V5.0对应的程序代码;对于微信程序而言,在V5.0之前还包括V3.0和V4.0等历史版本,则V3.0和V4.0对应的程序代码为历史版本程序代码。
[0086] 进一步地,服务器在基于目标程序ID和目标版本ID查询代码仓库,可直接获取目标版本程序代码;然后,基于目标版本ID查询该目标版本程序代码之前的所有历史版本程序代码,选取距离系统当前时间最近的历史版本程序代码作为本次回归测试分析所需的历史版本程序代码,以便执行后续的步骤S303,实现对最接近的历史版本程序代码进行回归测试分析。
[0087] S303:采用代码对比工具对目标版本程序代码和历史版本程序代码进行对比,获取改动代码模块。
[0088] 其中,代码对比工具是指用于实现代码对比的工具。该代码对比工具可以采用开源的工具,如Beyond compare、DiffMerge和WinMerge等。具体地,服务器采用开源的代码对比工具对目标版本程序代码和历史版本程序代码进行对比,以获取改动代码模块。该改动代码模块具体为目标版本程序代码相对于历史版本程序代码发生改动的功能模块。可以理解地,通过代码对比工具分析出来改动代码模块已经发生代码改动,因此,需针对该改动代码模块进行回归测试,以保证改动代码模块没有引入新的错误或导致其他代码产生错误。
[0089] S304:对改动代码模块进行静态代码扫描,获取改动页面标识。
[0090] 由于改动代码模块是已经发生代码改动的功能模块,该改动代码模块包含页面标识。本实施例中,服务器在获取改动代码模块之后,可采用开源的静态代码扫描工具对该改动代码模块进行静态代码扫描,以获取该改动代码模块中包含的页面标识,确定为改动页面标识。本步骤在获取改动页面标识的过程与步骤S203中的过程类似,即采用静态代码扫描工具和预先设置的权限关键字,对改动代码模块进行静态代码扫描,以从改动代码模块中提取改动页面标识。
[0091] S305:基于改动页面标识查询与目标程序ID相对应的页面用例正交矩阵,获取回归测试用例。
[0092] 具体地,服务器在获取改动页面标识之后,基于该改动页面标识匹配与目标程序ID相对应的页面用例正交矩阵,将与该改动页面标识相对应的目标测试用例确定为回归测试用例。可以理解地,步骤S305所确定的回归测试用例可实现对改动页面标识对应的页面所包含的所有用户权限进行测试,以保证页面测试的覆盖率,提高回归测试用例定位的准确率,保证回归测试的测试效果。
[0093] 本实施例所提供的页面权限测试方法中,通过代码对比工具对目标版本程序代码和历史版本程序代码进行对比,可快速获取改动代码模块,以确定回归测试所针对的页面权限测试的代码。通过对改动代码模块进行静态代码扫描,可快速获取其对应的改动页面标识,基于该改动页面标识查询页面用例正交矩阵,可准确定位其对应的回归测试用例,提高回归测试用例定位的准确率,保证回归测试的测试效果。
[0094] 在一实施例中,如图4所示,在步骤S207之后,即在获取与每一页面标识相对应的目标测试用例之后,页面权限测试方法还包括:
[0095] S401:基于每一页面标识对应的目标测试用例进行用户权限测试,获取页面标识相对应的权限测试结果。
[0096] 具体地,服务器在获取目标软件程序中,每一页面标识对应的目标测试用例之后,执行该目标测试用例,以实现对该页面标识相对应的功能模块进行用户权限测试,以获取对应的权限测试结果。可以理解地,该权限测试结果包括测试成功和测试失败两种,即测试成功是指该页面标识对应的功能模块可执行其对应的用户权限;而测试失败是指该页面标识对应的功能模块不能执行其对应的用户权限。
[0097] S402:若权限测试结果为测试失败,获取与测试失败的用户权限相对应的缺陷修复期间,触发缺陷修复监听程序。
[0098] 具体地,服务器在任一页面标识对应的权限测试结果为测试失败时,先获取测试失败的用户权限,该测试失败的用户权限是指在目标测试用例对应的多个用户权限中,对页面标识对应的功能模块测试失败的用户权限。例如,一目标测试用例包括访问网络和定位这两个用户权限,而对某一页面标识对应的功能模块进行测试时,可进行访问网络但不可定位,则说明定位这一用户权限为测试失败的用户权限。然后,根据测试失败的用户权限查询设置的权限修复时间表,获取与该测试失败的用户权限相对应的缺陷修复期间。该权限修复时间表是预先基于每一种用户权限对应的软件代码的修复难度,确定每一种用户权限及其对应的修复时间之间关系的数据表。进而,服务器还触发缺陷修复监听程序,缺陷修复监听程序用于监听是否收到修复成功的事件的程序。可以理解地,该缺陷修复监听程序为一事件监听程序,用于监听特定事件是否发生。
[0099] S403:获取缺陷修复监听程序在缺陷修复期间内,监听到的缺陷修复结果。
[0100] 具体地,服务器可获取缺陷修复监听程序在缺陷修复期限内监听到的缺陷修复结果。该缺陷修复结果包括修复成功和修复失败两种,其中,修复成功是指缺陷修复监听程序可在缺陷修复期间内,监听到某一缺陷被成功修复形成的事件时形成的修复结果。相应地,修复失败是指缺陷修复监听程序在缺陷修复期间内,未监听到某一缺陷被成功修复形成的事件时形成的修复结果。
[0101] S404:基于权限测试结果和缺陷修复结果,获取权限测试分析报告。
[0102] 具体地,服务器在获取到权限测试结果和缺陷修复结果之后,将权限测试结果和缺陷修复结果填充到预设配置的分析报告模板中,即可自动快速获取相应的权限测试分析报告。例如,在一权限测试分析报告中,以页面标识为行标识,以目标测试用例为第1列的列标识,以目标测试用例中包含若干用户权限为第2列及其之后列的列标识,并将测试成功、测试失败、修复成功和修复失败等结果填充到相应填充区域,以形成权限测试分析报告,以使该权限测试分析报告可直观反映用户权限测试结果及修复结果,实现权限测试分析报告的自动生成。
[0103] 本实施例所提供的页面权限测试方法中,在对用户权限测试过程中,获取权限测试结果,并通过缺陷修复监听程序获取相应的缺陷修复结果,再利用权限测试结果和缺陷修复结果自动化生成权限测试分析报告,以使该权限测试分析报告可清楚直观反映用户权限测试结果及修复结果,有助于对目标软件程序进行质量审核。
[0104] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0105] 在一实施例中,提供一种页面权限测试装置,该页面权限测试装置与上述实施例中页面权限测试方法一一对应。如图5所示,该页面权限测试装置包括权限测试请求获取模块501、第一权限列表获取模块502、第二权限列表获取模块503、页面权限矩阵获取模块504、用例权限矩阵获取模块505、页面用例矩阵获取模块506和目标测试用例获取模块507。
各功能模块详细说明如下:
[0106] 权限测试请求获取模块501,用于获取权限测试请求,权限测试请求包括目标程序ID。
[0107] 第一权限列表获取模块502,用于对目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取目标软件程序对应的第一权限列表,第一权限列表包括N个用户权限。
[0108] 第二权限列表获取模块503,用于对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取目标软件程序对应的第二权限列表,第二权限列表包括M个页面标识和与每一页面标识相对应的用户权限。
[0109] 页面权限矩阵获取模块504,用于基于第一权限列表和第二权限列表,生成页面权限正交矩阵,页面权限正交矩阵为基于M个页面标识与N个用户权限形成的矩阵。
[0110] 用例权限矩阵获取模块505,用于从测试用例数据库中,获取目标软件程序对应的用例权限正交矩阵,页面权限正交矩阵为基于A个场景测试用例与N个用户权限形成的矩阵。
[0111] 页面用例矩阵获取模块506,用于基于页面权限正交矩阵和用例权限正交矩阵,获取与目标程序ID相对应的页面用例正交矩阵,页面用例正交矩阵为基于M个页面标识与A个场景测试用例形成的矩阵。
[0112] 目标测试用例获取模块507,用于基于页面用例正交矩阵,获取与每一页面标识相对应的目标测试用例。
[0113] 优选地,第一权限列表获取模块502,用于采用静态代码扫描工具和与目标程序ID相对应的语法规则,对目标程序ID对应的目标软件程序的权限声明代码进行静态代码扫描,获取目标软件程序对应的第一权限列表。
[0114] 优选地,第二权限列表获取模块503包括静态扫描处理单元、标识权限提取单元和权限列表获取单元。
[0115] 静态扫描处理单元,用于采用静态代码扫描工具和预先设置的权限关键字,对目标程序ID对应的目标软件程序的主程序代码进行静态代码扫描,获取与权限关键字相对应的至少一个目标代码。
[0116] 标识权限提取单元,用于从至少一个目标代码中,提取与每一目标代码相对应的页面标识和用户权限。
[0117] 权限列表获取单元,用于将至少一个目标代码对应的页面标识和用户权限存储在预设数据表中,获取目标软件程序对应的第二权限列表。
[0118] 优选地,页面权限矩阵获取模块504包括原始页面权限矩阵获取单元和正交页面权限矩阵获取单元。
[0119] 原始页面权限矩阵获取单元,用于基于M个页面标识与N个用户权限,构建M*N的原始页面权限矩阵。
[0120] 正交页面权限矩阵获取单元,用于遍历第一权限列表和第二权限列表,对比每一行页面标识对应的用户权限与所在列的用户权限是否相同;若相同,则将原始页面矩阵中的矩阵值设置为1;若不相同,则将原始页面矩阵中的矩阵值设置为0,生成页面权限正交矩阵。
[0121] 优选地,页面用例矩阵获取模块506包括原始页面用例矩阵获取单元和正交页面用例矩阵获取单元。
[0122] 原始页面用例矩阵获取单元,用于基于M个页面标识与A个场景测试用例,构建M*A的原始页面用例矩阵。
[0123] 正交页面用例矩阵获取单元,用于遍历页面权限正交矩阵和用例权限正交矩阵,对比每一页面标识对应的用户权限与场景测试用例对应的用户权限是否相同;若相同,则将原始页面用例矩阵中的矩阵值设置为1;若不相同,则将原始页面用例矩阵中的矩阵值设置为0,生成页面用例正交矩阵。
[0124] 优选地,在目标测试用例获取模块507之后,页面权限测试装置还包括测试分析请求获取单元、程序代码获取单元、改动代码模块获取单元、改动页面标识获取单元和回归测试用例获取单元。
[0125] 测试分析请求获取单元,用于获取回归测试分析请求,回归测试分析请求包括目标程序ID和目标版本ID。
[0126] 程序代码获取单元,用于基于目标程序ID和目标版本ID查询代码仓库,获取目标版本程序代码和历史版本程序代码。
[0127] 改动代码模块获取单元,用于采用代码对比工具对目标版本程序代码和历史版本程序代码进行对比,获取改动代码模块。
[0128] 改动页面标识获取单元,用于对改动代码模块进行静态代码扫描,获取改动页面标识。
[0129] 回归测试用例获取单元,用于基于改动页面标识查询与目标程序ID相对应的页面用例正交矩阵,获取回归测试用例。
[0130] 优选地,在目标测试用例获取模块507之后,页面权限测试装置还包括权限测试结果获取单元、监听程序触发单元、缺陷修复结果获取单元和测试分析报告获取单元。
[0131] 权限测试结果获取单元,用于基于每一页面标识对应的目标测试用例进行用户权限测试,获取页面标识相对应的权限测试结果;
[0132] 监听程序触发单元,用于若权限测试结果为测试失败,获取与测试失败的用户权限相对应的缺陷修复期间,触发缺陷修复监听程序;
[0133] 缺陷修复结果获取单元,用于获取缺陷修复监听程序在缺陷修复期间内,监听到的缺陷修复结果;
[0134] 测试分析报告获取单元,用于基于权限测试结果和缺陷修复结果,获取权限测试分析报告。
[0135] 关于页面权限测试装置的具体限定可以参见上文中对于页面权限测试方法的限定,在此不再赘述。上述页面权限测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0136] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于执行页面权限测试方法过程中采用或者生成的数据,如用例权限正交矩阵或页面用例正交矩阵。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种页面权限测试方法。
[0137] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中页面权限测试方法的步骤,例如图2所示的步骤S201-S207,或者图3至图4中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现页面权限测试装置这一实施例中的各模块/单元的功能,例如图5所示的权限测试请求获取模块501、第一权限列表获取模块502、第二权限列表获取模块503、页面权限矩阵获取模块504、用例权限矩阵获取模块505、页面用例矩阵获取模块506和目标测试用例获取模块507的功能,为避免重复,这里不再赘述。
[0138] 在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中页面权限测试方法的步骤,例如图2所示的步骤S201-S207,或者图3至图4中所示的步骤,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述页面权限测试装置这一实施例中的各模块/单元的功能,例如图5所示的权限测试请求获取模块501、第一权限列表获取模块502、第二权限列表获取模块503、页面权限矩阵获取模块504、用例权限矩阵获取模块505、页面用例矩阵获取模块506和目标测试用例获取模块507的功能,为避免重复,这里不再赘述。
[0139] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0140] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0141] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈