CN113515452A - 应用的自动测试方法、系统、电子设备及存储介质 - Google Patents
应用的自动测试方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113515452A CN113515452A CN202110677057.5A CN202110677057A CN113515452A CN 113515452 A CN113515452 A CN 113515452A CN 202110677057 A CN202110677057 A CN 202110677057A CN 113515452 A CN113515452 A CN 113515452A
- Authority
- CN
- China
- Prior art keywords
- application
- test
- metadata
- target application
- testing
- 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.)
- Pending
Links
- 238000010998 test method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 374
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims description 2
- 238000004088 simulation Methods 0.000 abstract description 5
- 230000009897 systematic effect Effects 0.000 abstract description 5
- 238000011161 development Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 5
- 229910052711 selenium Inorganic materials 0.000 description 5
- 239000011669 selenium Substances 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种应用的自动测试方法、系统、电子设备及存储介质,应用于应用测试领域。本申请的应用的自动测试方法,包括:获取待测试的目标应用,提取待测试目标应用的应用元数据,对提取到的应用元数据进行处理,得到测试元数据,根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,目标应用就能够自动被加载出来,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
Description
技术领域
本申请涉及应用测试领域,特别涉及一种应用的自动测试方法、系统、电子设备及存储介质。
背景技术
随着信息发展的逐渐深入,软件应用的发展速度十分迅猛,为了保证应用的最终质量,在应用的开发过程中,需要对应用进行质量控制,比如对应用进行测试,对应用进行测试能够及时发现应用存在的缺陷,根据缺陷对应用进行进一步优化,并且确保应用的正常使用。目前针对应用的测试方法,通常是根据具体的应用编写适用于应用的测试代码,但是在多个应用需要测试的情况下,需要根据不同的应用编写不同的测试代码,导致应用的测试效率低下。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种应用的自动测试方法、系统、电子设备及存储介质,能够针对不同的应用进行系统性的自动化测试,提高应用的测试效率。
根据本申请的第一方面实施例的应用的自动测试方法,包括:
获取待测试的目标应用;
提取所述目标应用的应用元数据;
对所述应用元数据进行处理,得到测试元数据;
根据所述测试元数据测试所述目标应用,得到应用测试数据。
根据本申请实施例的应用的自动测试方法,至少具有如下有益效果:
获取待测试的目标应用,提取待测试目标应用的应用元数据,对提取到的应用元数据进行处理,得到测试元数据,根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,目标应用就能够自动被加载出来,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
根据本申请的一些实施例,所述获取待测试的目标应用,包括:
获取多个测试应用,并获取每一所述测试应用对应的域名信息和账号信息;
根据多个所述域名信息和多个所述账号信息从多个所述测试应用中选出所述目标应用。
根据本申请的一些实施例,所述对所述应用元数据进行处理,得到测试元数据,包括:
获取预设的元数据解析规则;
根据所述元数据解析规则提取相应的应用元数据,作为测试元数据。
根据本申请的一些实施例,所述测试元数据包括模型元数据和页面元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述模型元数据和所述页面元数据获取所述目标应用的多个页面控件和每一所述页面控件对应的测试范围;
在每一所述页面控件对应的所述测试范围内,生成与每一所述页面控件对应的第一测试数据;
向每一所述页面控件输入与每一所述页面控件对应的所述第一测试数据,得到每一所述页面控件对应的控件数据;
将每一所述页面控件对应的所述第一测试数据和所述控件数据进行比对,得到多个第一比对结果;
根据多个所述第一比对结果,得到所述应用测试数据。
根据本申请的一些实施例,所述测试元数据包括接口元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述接口元数据获取所述目标应用的多个应用接口和每一所述应用接口对应的接口协议;
根据每一所述应用接口的接口协议生成每一所述应用接口对应的第二测试数据;
向每一所述应用接口输入与每一所述应用接口对应的所述第二测试数据,得到每一所述应用接口对应的接口数据;
将每一所述应用接口对应的所述第二测试数据和所述接口数据进行比对,得到多个第二比对结果;
根据多个所述第二比对结果,得到所述目标应用的应用测试数据。
根据本申请的一些实施例,所述应用元数据包括流程元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述流程元数据,获取所述目标应用对应的多个测试节点;
根据多个所述测试节点,得到多条测试路径;
获取每一所述测试路径对应的页面信息;
对每一所述测试路径对应的所述页面信息进行处理,得到路径测试顺序和每一所述测试路径对应的测试元数据;
根据所述路径测试顺序和每一所述测试路径对应的测试元数据测试所述目标应用,得到应用测试数据。
根据本申请的一些实施例,所述根据所述流程元数据,获取所述目标应用对应的多个测试节点,包括:
根据所述流程元数据获取所述目标应用对应的多个用户账号;
获取所述目标应用在每一所述用户账号的登录状态下对应的多个测试节点。
根据本申请的第二方面实施例的应用的自动测试系统,包括:
获取模块:所述获取模块用于获取待测试的目标应用;
提取模块:所述提取模块用于提取所述目标应用的应用元数据;
处理模块:所述处理模块用于对所述应用元数据进行处理,得到测试元数据;
测试模块:所述测试模块用于根据所述测试元数据测试所述目标应用,得到应用测试数据。
根据本申请实施例的应用的自动测试系统,至少具有如下有益效果:
本申请实施例的应用的自动测试系统,包括:获取模块、提取模块、处理模块和测试模块,获取模块获取待测试的目标应用,提取模块提取待测试目标应用的应用元数据,处理模块对提取到的应用元数据进行处理,得到测试元数据,测试模块根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,系统就能自动加载目标应用,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
根据本申请的第三方面实施例的电子设备,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如本申请第一方面实施例任一项所述的应用的自动测试方法。
根据本申请的第四方面实施例的计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如本申请第一方面实施例所述的应用的自动测试方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
下面结合附图和实施例对本申请做进一步的说明,其中:
图1为本申请一些实施例提供的应用的自动测试方法的流程图;
图2为本申请一些实施例提供的应用的自动测试方法中步骤S100的具体流程图;
图3为本申请一些实施例提供的应用的自动测试方法中步骤S300的具体流程图;
图4为本申请一些实施例提供的应用的自动测试方法中步骤S400的第一流程图;
图5为本申请一些实施例提供的应用的自动测试方法中步骤S400的第二流程图;
图6为本申请一些实施例提供的应用的自动测试方法中步骤S400的第三流程图;
图7为本申请一些实施例提供的应用的自动测试方法中步骤S431的具体流程图;
图8为本申请一些实施例提供的应用的自动测试方法中的具体应用流程图;
图9为本申请一些实施例提供的应用的自动测试系统的模块结构框图。
附图说明:
获取模块100、提取模块200、处理模块300、测试模块400。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
随着信息发展的逐渐深入,软件应用的发展速度十分迅猛,为了保证应用的最终质量,在应用的开发过程中,需要对应用进行质量控制,比如对应用进行测试,对应用进行测试能够及时发现应用存在的缺陷,根据缺陷对应用进行进一步优化,并且确保应用的正常使用。目前针对应用的测试方法,通常是根据具体的应用编写适用于应用的测试代码,但是在多个应用需要测试的情况下,需要根据不同的应用编写不同的测试代码,导致应用的测试效率低下。
基于此,本申请提出一种应用的自动测试方法、系统、电子设备及存储介质,能够获取待测试的目标应用,提取待测试目标应用的应用元数据,对提取到的应用元数据进行处理,得到测试元数据,根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,目标应用就能够自动被加载出来,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
第一方面,本申请实施例提供了一种应用的自动测试方法。
参照图1,图1为本申请一些实施例提供的应用的自动测试方法的流程图,具体包括步骤:
S100,获取待测试的目标应用;
S200,提取目标应用的应用元数据;
S300,对应用元数据进行处理,得到测试元数据;
S400,根据测试元数据测试目标应用,得到应用测试数据。
在步骤S100中,获取待测试的目标应用,在实际应用中,待测试的目标应用可以通过低代码开发平台(Low-Code Development Platform,LCDP)来构建,其中低代码开发平台是无需编码或通过少量代码就可以快速生成应用程序的开发平台,通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。低代码开发平台能够构建业务流程、逻辑和数据模型等所需的功能,必要时还可以添加自己的代码,完成业务逻辑、功能构建后,即可一键交付应用并进行更新,自动跟踪所有更改并处理数据库脚本和部署流程,实现在IOS,Android,Web等多个平台上的部署,本申请可获取通过低代码开发平台构建的应用,作为待测试的目标应用,并且对目标应用进行测试。
在一些实施例中,如图2所示,步骤S100具体包括步骤:
S110,获取多个测试应用,并获取每一测试应用对应的域名信息和账号信息;
S120,根据多个域名信息和多个账号信息从多个测试应用中选出目标应用。
在步骤S110中,获取多个测试应用,并获取每一测试应用对应的域名信息和账号信息,本申请实施例能够获取多个请求测试的测试应用,并且获取测试应用对应的域名信息和账号信息,其中域名信息是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识,域名信息和IP地址相互映射,得到测试应用的域名信息就能够访问目标应用,账号信息包括测试应用中已注册的用户名称、用户密码等。
在步骤S120中,根据多个域名信息和多个账号信息从多个测试应用中选出目标应用,由于域名信息标识多个测试应用中的目标应用,账号信息标识目标应用中具体登录的账号以及目标应用的登录界面,所以域名信息和账号信息结合能够自动识别并区分目标应用,针对指定域名信息和账号信息下的目标应用进行测试。在实际应用中,本申请实施例能够自动获取通过低代码开发平台构建的测试应用和测试应用的应用数据,并且对于通过低代码开发平台构建的应用都可以使用同一种自动测试方法对这些应用进行测试,无需针对单个通过低代码开发平台构建的测试应用重新编写测试代码,这样增强了测试方法的复用性,使本申请实施例的应用的自动测试方法能够适用于更多的应用,并且由于低代码开发平台的特性,本申请实施例不需要检查项目代码,大幅度降低测试的时间和沟通成本,减少对存储资源和计算资源的占用,提升开发效率,通过域名和应用id就能自动识别并区分不同的测试应用,从多个测试应用中选取目标应用,对目标应用进行自动化测试。
在步骤S200中,提取目标应用的应用元数据,其中应用元数据又称中介数据、中继数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找和文件记录等功能。在实际应用中,通过低代码开发平台构建的目标应用由应用元数据驱动,提取目标应用的应用元数据首先生成用于提取应用元数据的接口请求,接着通过接口请求提取目标应用的应用元数据。
在步骤S300中,对应用元数据进行处理,得到测试元数据,测试数据用于测试目标应用。
在一些实施例中,如图3所示,步骤S300具体包括步骤:
S310,获取预设的元数据解析规则;
S320,根据元数据解析规则提取相应的应用元数据,作为测试元数据。
在步骤S310中,获取预设的元数据解析规则,例如在本申请实施例中需要获取多种类型的元数据,元数据解析规则就可以根据用于标识不同类型元数据的唯一字段制定。
在步骤S320中,根据元数据解析规则提取相应的应用元数据,作为测试元数据,本申请实施例可以获取测试应用中的多个唯一字段,根据这些唯一字段就能获取对应的元数据,作为测试元数据,并且能够从测试元数据中获取模型设计的相关信息。
在步骤S400中,根据测试元数据测试目标应用,得到应用测试数据,用户只需要自动目标应用或者默认对全部测试应用进行测试时,就能够自动加载所选的目标应用,分析目标应用的应用元数据得到测试元数据,然后根据测试元数据进行系统性的模拟测试,自动生成应用测试数据,根据生成的应用测试数据能够得到应用测试结论,并且根据应用测试结论判断目标应用的自动化测试是否通过。
在一些实施例中,如图4所示,步骤S400具体包括步骤:
S411,根据模型元数据和页面元数据获取目标应用的多个页面控件和每一页面控件对应的测试范围;
S412,在每一页面控件对应的测试范围内,生成与每一页面控件对应的第一测试数据;
S413,向每一页面控件输入与每一页面控件对应的第一测试数据,得到每一页面控件对应的控件数据;
S414,将每一页面控件对应的第一测试数据和控件数据进行比对,得到多个第一比对结果;
S415,根据多个第一比对结果,得到应用测试数据。
在一些实施例中,测试元数据包括模型元数据和页面元数据,其中模型元数据指的是目标应用的领域数据,包括领域建模、领域模型等数据型元数据,代表应用页面在操作过程中数据在数据库中的组织形式,页面元数据包括目标应用的元数据,通过页面元数据可以解析到目标应用的前端数据,包括控件、元素及其属性、绑定的事件等,本申请实施例中获取模型元数据和页面元数据是为了测试目标应用的前端页面,具体包括应用前端的页面控件,比如文本框控件、下拉项控件、单选控件、开关控件、复选框控件、富文本控件、穿梭框控件、地址控件和日期控件等是否正常。
在步骤S411中,根据模型元数据和页面元数据获取目标应用的多个页面控件和每一页面控件对应的测试范围,具体为,根据模型元数据和页面元数据找到目标应用的前端页面上必填的控件,以及控件对应的测试范围,具体可以为数据输入的范围,例如,根据模型元数据和页面元数据在目标应用的前端页面上获取到必填的控件,例如用户名,以及控件对应的测试范围,例如该控件只能输入范围规定为0至10个字符,所以该控件对应的测试范围为0至10字符,也就是测试数据只能在该测试范围内对该控件进行测试,在实际应用中,根据模型元数据和页面元数据,使用selenium对目标应用进行UI输入操作,获取到的测试元数据中包含了页面中控件的id等信息,selenium可以通过控件的id等信息定位到控件,然后模拟人类的手动操作,从而实现自动化输入及提交,其中selenium是一种Web应用程序的自动化测试工具,selenium测试直接运行在浏览器中,就像真正的用户在操作一样,selenium的主要功能包括:测试与浏览器的兼容性,也就是测试目标应用的程序进而查看目标应用是否能够正常地工作在不同浏览器和操作系统之上,以及测试系统功能,也就是创建回归测试检验软件功能和用户需求。
在步骤S412中,在每一页面控件对应的测试范围内,生成与每一页面控件对应的第一测试数据,第一测试数据只能在页面控件对应的测试范围内选取,可以采用随机选取的方式,输入符合页面控件输入范围的第一测试数据,例如某个控件的输入范围为0至10个字符,随机在0-10范围内选取第一测试数据的范围,并且根据第一测试数据的范围随机生成第一测试数据。
在步骤S413中,向每一页面控件输入与每一页面控件对应的第一测试数据,得到每一页面控件对应的控件数据,本申请实施例的控件数据是指第一测试数据输入指定控件后,得到的输出反馈数据。
在步骤S414中,将每一页面控件对应的第一测试数据和控件数据进行比对,得到多个第一比对结果,具体地,读取向控件输入第一测试数据后得到的控件数据,对比读取数据和输入数据的一致性,第一比对结果表示读取数据和输入数据是否一致,第一比对结果包括一致和不一致,根据第一比对结果能够判断该控件的功能是否正常。
在步骤S415中,根据多个第一比对结果,得到应用测试数据,根据多个第一比对结果,就能得到目标应用的前端页面多个控件功能是否正常,让用户明确了解到目标应用出现功能异常的部位,并能够及时优化异常部位。
在一些实施例中,如图5所示,步骤S400具体还包括步骤:
S421,根据接口元数据获取目标应用的多个应用接口和每一应用接口对应的接口协议;
S422,根据每一应用接口的接口协议生成每一应用接口对应的第二测试数据;
S423,向每一应用接口输入与每一应用接口对应的第二测试数据,得到每一应用接口对应的接口数据;
S424,将每一应用接口对应的第二测试数据和接口数据进行比对,得到多个第二比对结果;
S425,根据多个第二比对结果,得到目标应用的应用测试数据。
在一些实施例中,测试元数据包括接口元数据,其中接口元数据包括目标应用采用的协议、流程配置等,本申请通过获取接口元数据,根据接口元数据测试目标应用,主要是用于测试目标应用中的系统组件接口,还用于检测外部系统与本系统之间以及内部各个子系统之间的交互点,接口测试需要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
在步骤S421中,根据接口元数据获取目标应用的多个应用接口和每一应用接口对应的接口协议,本申请实施例提到的应用接口指的是应用程序编程接口,简称API(Application Programming Interface),就是软件系统不同组成部分衔接的约定,本申请实施例提到的接口协议包括swagger接口协议,其中swagger是一个规范且完整的框架,用于生成、描述、调用和可视化的Web服务,支持API自动生成同步的在线文档,使用swagger后可以直接通过代码生成文档,不需要手动编写接口文档,能够节约编写接口文档的时间,提高测试效率。
在步骤S422中,根据每一应用接口的接口协议生成每一应用接口对应的第二测试数据,不同的接口协议对应不同的第二测试数据,在实际应用中,可以读取目标应用的swagger接口协议,并且通过Python API获取对应的第二测试数据。
在步骤S423中,向每一应用接口输入与每一应用接口对应的第二测试数据,得到每一应用接口对应的接口数据,在实际应用中,Python API向应用接口输入第二测试数据,然后读取应用接口返回的数据,也就是本申请实施例提到的接口数据。
在步骤S424中,将每一应用接口对应的第二测试数据和接口数据进行比对,得到多个第二比对结果,具体地,比对第二测试数据和接口数据是否一致,第二比对结果表示第二测试数据和接口数据是否一致,第二比对结果包括一致和不一致,根据第二比对结果能够判断目标应用的应用接口是否正常。
在步骤S425中,根据多个第二比对结果,得到目标应用的应用测试数据,根据多个第二比对结果,就能得到目标应用的多个应用接口是否正常,让用户明确了解到目标应用出现功能异常的应用接口,并能够及时优化异常部位。
在一些实施例中,如图6所示,步骤S400具体还包括步骤:
S431,根据流程元数据,获取目标应用对应的多个测试节点;
S432,根据多个测试节点,得到多条测试路径;
S433,获取每一测试路径对应的页面信息;
S434,对每一测试路径对应的页面信息进行处理,得到路径测试顺序和每一测试路径对应的测试元数据;
S435,根据路径测试顺序和每一测试路径对应的测试元数据测试目标应用,得到应用测试数据。
在一些实施例中,应用元数据包括流程元数据,流程元数据则代表测试流程中每个测试节点的数据信息。
在一些实施例中,应用元数据包括领域元数据,其中领域元数据包括目标应用的逻辑模型、关系模型和物理模型等,根据目标应用的领域元数据可以自动生成基于表单、流程的测试程序和测试数据,进行数据驱动模拟。
在步骤S431中,根据流程元数据,获取目标应用对应的多个测试节点,本申请实施例的流程元数据用来存储目标应用的测试流程信息,流程元数据适用于测试复杂的流程类应用,由于流程中包含多个节点,对应不同的节点有不同操作,将不同操作的节点称为测试节点,由于测试流程中每个节点可能包含多种操作,例如同意、转办和审阅等操作,每种类型的操作对于节点都是一个测试节点,每条执行路径只包含每个测试节点中的某一种操作,所以多个测试节点可以生成多条执行路径。在实际应用中,通过流程元数据分析可以得到测试节点、测试节点绑定的领域模型、测试节点执行路径以及测试节点执行逻辑节点的参与者,根据解析出来的领域模型可以得到目标应用的页面元数据,页面元数据主要包括页面控件id、是否是系统控件绑定的控件类型的输入类型,根据页面元数据可以得到页面元素id和页面元素等,为自动化测试提供数据支持。
在一些实施例中,如图7所示,步骤S431具体包括步骤:
S4311,根据流程元数据获取目标应用对应的多个用户账号;
S4312,获取目标应用在每一用户账号的登录状态下对应的多个测试节点。
在步骤S4311中,根据流程元数据获取目标应用对应的多个用户账号,由于涉及流程类的目标应用,涉及到多个流程节点,每个节点需要不同用户进行类似审批等操作,所以需要获取目标应用的RBAC权限管理设计中的组或组织,也就是组织机构信息,其中RBAC是实施面向企业安全策略的一种有效的访问控制方式,其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合,每一种角色对应一组相应的权限,一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限,这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销,本申请实施例的组织机构信息就包含了目标应用中涉及的所有用户信息,不同的用户打开目标应用的界面不一样,其实现的功能也不一样,所以需要获取不同操作权限对应的多个用户的用户账号。
在步骤S4312中,获取目标应用在每一用户账号的登录状态下对应的多个测试节点,由于用户操作权限不一样,为了使测试结果更加准确,并且尽量覆盖所有的执行路径,所以需要获取不同用户登录目标应用对应的多个测试节点,用来生成测试路径。
在步骤S432中,根据多个测试节点,得到多条测试路径,测试路径指目标应用所有可操作性的路径,例如目标应用中的流程操作路径和表单填写提交路径等。
在步骤S433中,获取每一测试路径对应的页面信息,页面信息主要包括目标应用前端页面的页面控件,例如表单等,根据页面信息提取对应的页面元数据,根据页面元数据对目标应用的页面控件进行测试。
在步骤S434中,对每一测试路径对应的页面信息进行处理,得到路径测试顺序和每一测试路径对应的测试元数据,由于用户有多种操作权限,并且对于某些流程节点,需要按照操作权限的顺序执行测试,例如普通用户填写完表单后由管理员用户对普通用户填写完的表单进行审批等,涉及到一定的操作顺序,所以需要根据页面信息得到路径测试顺序,按照路径测试顺序对测试路径进行测试,测试元数据还包括页面元数据、模型元数据等,依据页面元数据和模型元数据对目标应用的测试页面进行测试。
在步骤S435中,根据路径测试顺序和每一测试路径对应的测试元数据测试目标应用,得到应用测试数据,具体地,按照路径测试顺序对测试路径进行测试,并且根据测试路径对应的页面元数据、模型元数据等对目标应用进行测试,得到应用测试数据。
在一些实施例中,如图8所示,本申请实施例对目标应用的UI测试过程如下:首先配置目标应用的测试基本信息,例如域名和当前登录用户等,接着分析和提取目标应用的各个元数据信息,生成测试元数据,然后测试用户登录的情况,具体为打开目标应用的默认界面,根据页面中的页面元数据与模型元数据信息,对页面控件进行输入并提交,根据流程设计元数据分析下一路径中的用户信息和页面信息,然后切换用户登录,根据令牌获取待办任务或待阅任务,如果是待阅任务,且第一轮测试所有均同意,如果需要多轮测试,后续会随机选择审批结果,测试完成后登出当前的登录用户账号,判断所有测试路径是否执行完成,如果所有测试路径没有执行完成,则重新对下一测试路径进行测试,如果所有测试路径已经执行完成,则发送测试报告。本申请实施例对目标应用的API测试过程如下:首先配置目标应用的测试基本信息,例如域名和当前登录用户等,接着测试账户登录,获取令牌等信息,获取领域模型元数据、页面设计元数据和流程设计元数据,并分析和提取各个元数据信息,生成测试元数据,获取组织机构数据,根据流程设计元数据分析出下一测试路径中的用户信息和页面信息,然后切换用户后台登录,根据令牌获取待办任务或待阅任务,判断所有测试路径是否执行完成,如果所有测试路径没有执行完成,则重新对下一测试路径进行测试,如果所有测试路径已经执行完成,则发送测试报告。
在本申请实施例中,获取待测试的目标应用,提取待测试目标应用的应用元数据,对提取到的应用元数据进行处理,得到测试元数据,根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,目标应用就能够自动被加载出来,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
第二方面,如图9所示,本申请实施例还提供了一种应用的自动测试系统,包括:获取模块100、提取模块200、处理模块300和测试模块400,获取模块100获取待测试的目标应用,提取模块200提取待测试目标应用的应用元数据,处理模块300对提取到的应用元数据进行处理,得到测试元数据,测试模块400根据测试元数据测试目标应用,得到应用测试数据,用户只需要指定待测试的目标应用,系统就能自动加载目标应用,提取并分析目标应用的应用元数据,得到目标应用的测试元数据,根据测试元数据对目标应用进行系统性地模拟测试,自动生成应用测试数据,得到目标应用的测试结果,从而提高应用的测试效率。
第三方面,本申请实施例还提供了一种电子设备。
在一些实施例中,电子设备包括:至少一个处理器,以及与至少一个处理器通信连接的存储器;其中,存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现本申请实施例中任一项应用的自动测试方法。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请实施例描述的应用的自动测试方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述的应用的自动测试方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述应用的自动测试方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,比如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的应用的自动测试方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中提到的应用的自动测试方法。
第四方面,本申请实施例还提供了计算机可读存储介质。
在一些实施例中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于执行第一方面实施例中提到的应用的自动测试方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,比如,被上述电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述应用的自动测试方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本申请实施例作了详细说明,但是本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。此外,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
Claims (10)
1.应用的自动测试方法,其特征在于,包括:
获取待测试的目标应用;
提取所述目标应用的应用元数据;
对所述应用元数据进行处理,得到测试元数据;
根据所述测试元数据测试所述目标应用,得到应用测试数据。
2.根据权利要求1所述的应用的自动测试方法,其特征在于,所述获取待测试的目标应用,包括:
获取多个测试应用,并获取每一所述测试应用对应的域名信息和账号信息;
根据多个所述域名信息和多个所述账号信息从多个所述测试应用中选出所述目标应用。
3.根据权利要求1所述的应用的自动测试方法,其特征在于,所述对所述应用元数据进行处理,得到测试元数据,包括:
获取预设的元数据解析规则;
根据所述元数据解析规则提取相应的应用元数据,作为测试元数据。
4.根据权利要求1至3任一项所述的应用的自动测试方法,其特征在于,所述测试元数据包括模型元数据和页面元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述模型元数据和所述页面元数据获取所述目标应用的多个页面控件和每一所述页面控件对应的测试范围;
在每一所述页面控件对应的所述测试范围内,生成与每一所述页面控件对应的第一测试数据;
向每一所述页面控件输入与每一所述页面控件对应的所述第一测试数据,得到每一所述页面控件对应的控件数据;
将每一所述页面控件对应的所述第一测试数据和所述控件数据进行比对,得到多个第一比对结果;
根据多个所述第一比对结果,得到所述应用测试数据。
5.根据权利要求1至3任一项所述的应用的自动测试方法,其特征在于,所述测试元数据包括接口元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述接口元数据获取所述目标应用的多个应用接口和每一所述应用接口对应的接口协议;
根据每一所述应用接口的接口协议生成每一所述应用接口对应的第二测试数据;
向每一所述应用接口输入与每一所述应用接口对应的所述第二测试数据,得到每一所述应用接口对应的接口数据;
将每一所述应用接口对应的所述第二测试数据和所述接口数据进行比对,得到多个第二比对结果;
根据多个所述第二比对结果,得到所述目标应用的应用测试数据。
6.根据权利要求1至3任一项所述的应用的自动测试方法,其特征在于,所述应用元数据包括流程元数据;
对应的,所述根据所述测试元数据测试所述目标应用,得到应用测试数据,包括:
根据所述流程元数据,获取所述目标应用对应的多个测试节点;
根据多个所述测试节点,得到多条测试路径;
获取每一所述测试路径对应的页面信息;
对每一所述测试路径对应的所述页面信息进行处理,得到路径测试顺序和每一所述测试路径对应的测试元数据;
根据所述路径测试顺序和每一所述测试路径对应的测试元数据测试所述目标应用,得到应用测试数据。
7.根据权利要求6所述的应用的自动测试方法,其特征在于,所述根据所述流程元数据,获取所述目标应用对应的多个测试节点,包括:
根据所述流程元数据获取所述目标应用对应的多个用户账号;
获取所述目标应用在每一所述用户账号的登录状态下对应的多个测试节点。
8.应用的自动测试系统,其特征在于,包括:
获取模块:所述获取模块用于获取待测试的目标应用;
提取模块:所述提取模块用于提取所述目标应用的应用元数据;
处理模块:所述处理模块用于对所述应用元数据进行处理,得到测试元数据;
测试模块:所述测试模块用于根据所述测试元数据测试所述目标应用,得到应用测试数据。
9.电子设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如权利要求1至7任一项所述的应用的自动测试方法。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至7任一项所述的应用的自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677057.5A CN113515452A (zh) | 2021-06-18 | 2021-06-18 | 应用的自动测试方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677057.5A CN113515452A (zh) | 2021-06-18 | 2021-06-18 | 应用的自动测试方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113515452A true CN113515452A (zh) | 2021-10-19 |
Family
ID=78065918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677057.5A Pending CN113515452A (zh) | 2021-06-18 | 2021-06-18 | 应用的自动测试方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515452A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203057A (zh) * | 2022-08-16 | 2022-10-18 | 北京永洪商智科技有限公司 | 低代码测试自动化方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576432A (zh) * | 2009-10-08 | 2012-07-11 | 国际商业机器公司 | 自动的测试执行计划生成 |
CN109857624A (zh) * | 2018-12-21 | 2019-06-07 | 北京奇虎科技有限公司 | 一种用于确定应用的运行性能的方法及系统 |
CN110198247A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 接口测试方法及系统 |
CN110603525A (zh) * | 2017-03-31 | 2019-12-20 | 沃拉斯提技术解决方案公司 | Web应用程序的测试方法和系统 |
US20210064352A1 (en) * | 2019-08-28 | 2021-03-04 | Red Hat, Inc. | Configuration management through information and code injection at compile time |
-
2021
- 2021-06-18 CN CN202110677057.5A patent/CN113515452A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102576432A (zh) * | 2009-10-08 | 2012-07-11 | 国际商业机器公司 | 自动的测试执行计划生成 |
CN110603525A (zh) * | 2017-03-31 | 2019-12-20 | 沃拉斯提技术解决方案公司 | Web应用程序的测试方法和系统 |
CN110198247A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 接口测试方法及系统 |
CN109857624A (zh) * | 2018-12-21 | 2019-06-07 | 北京奇虎科技有限公司 | 一种用于确定应用的运行性能的方法及系统 |
US20210064352A1 (en) * | 2019-08-28 | 2021-03-04 | Red Hat, Inc. | Configuration management through information and code injection at compile time |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203057A (zh) * | 2022-08-16 | 2022-10-18 | 北京永洪商智科技有限公司 | 低代码测试自动化方法、装置、设备及存储介质 |
CN115203057B (zh) * | 2022-08-16 | 2023-03-28 | 北京永洪商智科技有限公司 | 低代码测试自动化方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008113B (zh) | 一种测试方法、装置、电子设备 | |
US11449370B2 (en) | System and method for determining a process flow of a software application and for automatically generating application testing code | |
CN107145437B (zh) | 一种java注解测试方法及装置 | |
CN109726099A (zh) | 一种应用灰度发布方法、装置及设备 | |
Quinton et al. | SALOON: a platform for selecting and configuring cloud environments | |
CN105389263A (zh) | 应用软件权限监控方法、系统及设备 | |
CN109871312B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN111273942A (zh) | 一种代码生成方法、存储介质、电子设备及系统 | |
CN111752841A (zh) | 单测模拟方法、装置、设备与计算机可读存储介质 | |
JP6877215B2 (ja) | コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法 | |
US9274933B2 (en) | Pretest setup planning | |
CN113515452A (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN117407312A (zh) | 应用测试方法、装置、计算机设备及存储介质 | |
CN111767218A (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
WO2016048294A1 (en) | Infrastructure rule generation | |
CN116661739A (zh) | 一种业务规则的处理方法、装置、设备及存储介质 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN109634865B (zh) | 一种代码转测方法、装置及转测终端 | |
KR102111392B1 (ko) | 테스트 통합 관리시스템 및 그 제어방법 | |
CN113282504A (zh) | 一种增量代码覆盖率检测方法及业务开发方法、装置 | |
CN108366040B (zh) | 一种可编程防火墙的逻辑代码检测方法、装置及电子设备 | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
US20240028302A1 (en) | Systems and methods for improving efficiency and control compliance across software development life cycles using domain-specific controls | |
CN117573550A (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 |