CN115114135B - 软件数据测试方法、装置、设备、介质及产品 - Google Patents
软件数据测试方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN115114135B CN115114135B CN202110286446.5A CN202110286446A CN115114135B CN 115114135 B CN115114135 B CN 115114135B CN 202110286446 A CN202110286446 A CN 202110286446A CN 115114135 B CN115114135 B CN 115114135B
- Authority
- CN
- China
- Prior art keywords
- assertion
- data
- tested
- software
- interface
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 243
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 abstract description 17
- 230000004048 modification Effects 0.000 abstract description 17
- 238000012423 maintenance Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000013515 script Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
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/3696—Methods or tools to render software testable
-
- 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
-
- 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/3692—Test management for test results analysis
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为本发明第一实施例提供的软件数据测试方法的流程示意图;
图3为本发明第二实施例提供的软件数据测试方法的流程示意图;
图4为本发明第二实施例提供的软件数据测试方法的步骤203的详细流程示意图;
图5为本发明第三实施例提供的软件数据测试装置的结构示意图;
图6为本发明第四实施例提供的软件数据测试装置的结构示意图;
图7为本发明第五实施例提供的电子设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。随着计算机技术的不断发展,越来越多的软件被开发并投入到应用中。软件从开发到普及应用一般要经历多个测试过程,比如开发环境的测试过程、系统集成测试、用户验收测试、生产环境测试等,不同的测试过程,待测软件的待测数据接口的运行环境是不同的,通过各种运行环境的测试可以使投入应用的软件性能更为稳定,降低数据的出错率。
目前对于软件的测试,一般是通过测试工具调用待测软件的待测数据接口,从而对软件的数据进行测试。在测试过程中,断言使用较为频繁,断言的作用是用于判断软件的数据在运行时是否出现了错误,从而根据断言可以对测试结果进行初步的判断。在具体测试时,一般是将断言数据和测试软件的数据接口进行绑定,比如直接将断言数据写在数据接口下。当测试工具测试软件的数据时,软件的相关数据在运行过程中将产生对应的测试断言结果,此时,写入数据接口的断言数据将对该测试断言结果进行判断,从而确定软件的运行情况是否出现错误。由于软件需要进行多次多种测试环境下的测试,不同的测试环境下需要使用的断言数据是不同的,同时,断言数据也需要进行定期的维护修改,以降低测试时的出错率。此时,由于断言数据和数据接口的绑定关系,需要从绑定的数据接口中进行修改,修改维护的效率较低。
所以针对现有技术中当断言需要进行修改维护时,修改维护的效率较低的技术问题,发明人在研究中发现,可以将断言数据从数据接口中独立出来,从而提高断言数据的修改维护效率。具体的,通过构建断言数据库,在断言数据库中存储有断言数据和待测软件的待测数据接口之间的映射关系,以使测试软件时可以通过断言数据库获取对应的断言数据。在对待测软件进行具体测试时,首先获取待测软件的待测数据接口,并根据待测数据接口从预先构建的断言数据库中获取对应的断言数据。然后对获取得到的断言数据进行配置,以使断言数据可以用于判断待测软件的待测数据接口的测试过程。同时,采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。本发明实施例的软件数据测试方法,由于将断言数据预先存储于预先构建的断言数据库中,当需要使用对应的断言数据时,从断言数据库中获取对应的断言数据即可,断言数据与待测数据接口呈相互独立的关系。当需要对断言进行修改维护时,只需要修改断言数据库中的断言数据,修改维护的效率较高。
发明人基于上述的创造性发现,提出了本申请的技术方案。
下面对本发明实施例提供的软件数据测试方法的应用场景进行介绍。如图1所示,其中,1为第一电子设备,2为第二电子设备,3为第三电子设备,4为第四电子设备。本发明实施例提供的软件数据测试方法对应的应用场景的网络架构中包括:第一电子设备1、第二电子设备2、第三电子设备3和第四电子设备4。第二电子设备2存储待测的软件及软件中的数据接口相关信息,第三电子设备3作为断言数据库存储断言数据。当需要进行软件测试时,第一电子设备1获取第二电子设备2中待测软件的待测数据接口,并根据待测数据接口从第三电子设备3中获取对应的断言数据。然后第一电子设备1对获取得到的断言数据进行配置,以使断言数据可以用于判断待测软件的待测数据接口的测试过程。同时,采用测试工具,比如jmeter工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。最后,第一电子设备1将测试结果发送至第四电子设备4,以供第四电子设备4进行测试结果的后续处理,比如进行测试结果的统计,根据测试结果查找待测软件的程序问题等。本发明实施例的软件数据测试方法,由于将断言数据预先存储于预先构建的断言数据库中,当需要使用对应的断言数据时,从断言数据库中获取对应的断言数据即可。断言数据与待测数据接口呈相互独立的关系,当需要对断言进行修改维护时,只需要修改断言数据库中的断言数据,修改维护的效率较高。
下面结合说明书附图对本发明实施例进行介绍。
图2为本发明第一实施例提供的软件数据测试方法的流程示意图,如图2所示,本实施例中,本发明实施例的执行主体为软件数据测试装置,该软件数据测试装置可以集成在电子设备中。则本实施例提供的软件数据测试方法包括以下几个步骤:
步骤S101,获取待测软件的待测数据接口,并根据待测数据接口从预先构建的断言数据库中获取对应的断言数据。其中,断言数据库存储有断言数据与待测数据接口之间的映射关系。
本实施例中,预先构建的断言数据库中存储有断言数据与待测数据接口之间的映射关系,映射关系可以是断言数据的标识与待测数据接口的标识之间的映射关系,或者是其他的映射关系,本实施例对此不作限定。
本实施例中,获取待测软件的待测数据接口的方式可以是通过其他电子设备中存储的待测软件获取,也可以通过其他的移动存储设备中存储的待测软件获取,本实施例对此不作限定。
本实施例中,通过将断言数据存储入预先构建的断言数据库中,在进行软件测试时,可以通过直接从断言数据库中调用对应的断言数据,在需要对断言数据进行修改时,也可以直接从断言数据库中修改对应的断言数据,提高了断言数据的修改维护的效率。
步骤S102,配置断言数据。
本实施例中,配置断言数据是用于使断言数据可以判断待测软件的待测数据接口的测试情况。一般配置的方式可以是通过配置文件配置断言数据,也可以直接从数据层面上编写断言数据,本实施例对此不作限定。
步骤S103,采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。
本实施例中,测试工具可以使用常用的测试工具,如jmeter来进行测试,jmeter是针对Java(中文为:计算机编程语言)的压力测试工具,可以测试Java环境对应的软件。
本实施例中,可以通过测试工具对待测数据接口进行数据测试,然后根据配置后的断言数据判断待测数据接口的运行情况,从而生成测试结果。
本实施例中,测试结果可以用于查找待测软件的具体运行问题。
本发明实施例提供的一种软件数据测试方法,该方法包括:该软件数据测试方法包括:获取待测软件的待测数据接口,并根据待测数据接口从预先构建的断言数据库中获取对应的断言数据。其中,断言数据库存储有断言数据与待测数据接口之间的映射关系。配置断言数据。采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。本发明实施例的软件数据测试方法,首先获取待测软件的待测数据接口,并根据待测数据接口从预先构建的断言数据库中获取对应的断言数据。然后对获取得到的断言数据进行配置,以使断言数据可以用于判断待测软件的待测数据接口的测试过程。同时,采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。本发明实施例的软件数据测试方法,由于将断言数据预先存储于预先构建的断言数据库中,当需要使用对应的断言数据时,从断言数据库中获取对应的断言数据即可。断言数据与待测数据接口呈相互独立的关系,当需要对断言进行修改维护时,只需要修改断言数据库中的断言数据,修改维护的效率较高。
图3为本发明第二实施例提供的软件数据测试方法的流程示意图,如图3所示,本实施例提供的软件数据测试方法,是在本发明上一实施例提供的软件数据测试方法的基础上,对其中的各个步骤的进一步细化。则本实施例提供的软件数据测试方法包括以下步骤。
需要说明的是,断言数据包括待测软件数据接口名称和变量标识。待测数据接口包括接口标识。
步骤S201,获取待测软件的待测数据接口,根据待测数据接口的接口标识从断言数据库中确定对应的待测软件数据接口名称。其中,断言数据库中存储有接口标识与待测软件数据接口名称之间的映射关系。
本实施例中,由于断言数据库中存储有接口标识与待测软件数据接口名称之间的映射关系,因而可以通过待测数据接口的接口标识确定对应的待测软件数据接口名称,从而根据待测软件数据接口名称获取与待测数据接口对应的断言数据,进而提高了获取待测数据接口对应断言数据的效率。
本实施例中,步骤201的获取待测软件的待测数据接口的实现方式与本发明上一实施例中的步骤101的实现方式类似,在此不再一一赘述。
可选的,本实施例中,根据待测数据接口从预先构建的断言数据库中获取对应的断言数据之前,还包括:
根据待测数据接口的至少一种运行环境生成对应的断言数据。
将对应的断言数据存储入断言数据库中。
本实施例中,由于待测数据接口在进行测试时的运行环境有多种,每一种运行环境都可能对应不同的断言数据,因而,在构建断言数据库时,会根据待测数据接口的运行环境预先生成对应的断言数据。同时,考虑到待测数据接口的各种运行环境的复杂情况,可以在存储断言数据时通过设置新的编写规则实现复杂断言。比如可以通过!表示预期不包含,|表示或,&表示且,同时也支持正则表达式等。这样当断言数据需要满足复杂的判断过程时,比如断言数据需要判断待测数据接口在测试过程中生成的测试断言结果在对应的运行环境下是否都属于一个数值范围内时,此时,可以通过编写规则实现一个数据量更少的断言数据来判断待测数据接口在该运行环境下的测试断言结果。比如,当待测数据接口在测试时,返回的数值在该运行环境下,分别为1、2、3、4,那么可以通过编写规则将断言数据编写为1至4之间的范围为正确的测试断言结果,而不需要将断言数据编写为1或2或3或4时为正确的测试断言结果,从而降低断言数据的数据冗杂程度,提高待测软件的整体测试效率。
步骤S202,根据待测软件数据接口名称获取对应的断言数据。
本实施例中,由于断言数据库中存储有接口标识与待测软件数据接口名称之间的映射关系,因而可以通过待测数据接口的接口标识确定对应的待测软件数据接口名称,从而根据待测软件数据接口名称获取与待测数据接口对应的断言数据,进而提高了获取待测数据接口对应断言数据的效率。
步骤S203,根据断言数据的变量标识从预设的变量数据库中获取对应的变量值并根据变量值配置断言数据。其中,变量数据库存储有变量标识与变量值之间的映射关系。
本实施例中,由于变量数据库存储有变量标识与变量值之间的映射关系,因而可以通过断言数据的变量标识从预设的变量数据库中获取对应的变量值。
本实施例中,由于断言数据包括初始断言结果和断言的判断框架,根据变量值配置断言数据是将变量值取代断言数据中原本的初始断言结果,使配置后断言数据中的断言结果能用于判断待测数据接口在测试时的运行情况。
本实施例中,变量值可以是数值、字母、文字等,本实施例对此不作限定。变量数据库可以是测试工具中的变量数据库,也可以是另设的独立的变量数据库,本实施例对此不作限定。
步骤S204,构建公共断言,公共断言是表示配置后的断言数据与待测数据接口之间的关联关系的断言。
本实施例中,公共断言表示配置后的断言数据与待测数据接口之间的关联关系,通过公共断言可以调用配置后的断言数据。
本实施例中,构建公共断言时,用于调用配置后的断言数据的执行数据写在公共断言处,其并不会写在待测数据接口上。因而,配置后的断言数据与待测数据接口是虽具有关联性,但在数据层面上是独立分开的,从而进一步提高了断言数据的修改维护效率。
步骤S205,采用测试工具对待测数据接口进行数据测试,并执行公共断言,以根据公共断言中的关联关系调用配置后的断言数据。
本实施例中,在进行测试时,测试工具可以通过公共断言直接调用配置后的断言数据,而不需要测试工具本身建立配置后的断言数据与待测数据接口之间的关联关系,从而提高了调用配置后的断言数据的便利性。
步骤S206,根据配置后的断言数据生成测试结果。
本实施例中,步骤206的实现方式与本发明上一实施例中的步骤103的实现方式类似,在此不再一一赘述。
本发明实施例提供的一种软件数据测试方法,考虑到待测数据接口的不同运行环境对应不同断言数据的复杂情况,可以在存储断言数据时通过设置新的编写规则实现复杂断言。这样当断言数据需要满足复杂的判断过程,比如断言数据需要判断待测数据接口在测试过程中生成的测试断言结果在对应的运行环境下是否都属于一个数值范围内时,可以通过编写规则实现一个数据量更少的断言数据可以判断待测数据接口在该运行环境下的测试断言结果,从而降低断言数据的数据冗杂程度。同时,通过构建公共断言来调用配置后的断言数据,执行调用的数据写在公共断言处,而不会写在待测数据接口上,从而进一步提高了断言数据与待测数据接口之间的独立性,进而也提高了断言数据的修改维护效率。
图4为本发明第二实施例提供的软件数据测试方法的步骤203的详细流程示意图。如图4所示,本实施例提供的软件数据测试方法,是在本发明上一实施例提供的软件数据测试方法的基础上,对步骤203进行的进一步的细化。则本实施例提供的软件数据测试方法包括以下步骤。
需要说明的是,断言数据还包括至少一种初始断言结果。变量标识包括至少一种运行环境标识。初始断言结果、运行环境标识与变量值呈一一对应关系。
步骤S2301,根据运行环境标识从预设的变量数据库中获取对应的变量值。
本实施例中,由于待测数据接口中有多种的运行环境,因而,每种的运行环境都可能对应不同的变量值。在断言数据库中存储的断言数据包括初始断言结果,初始断言结果需要进行配置,从而生成配置后的目标断言结果。在配置初始断言结果时,是将变量值替换掉初始断言结果,从而形成目标断言结果。若待测数据接口有4种运行环境,则断言数据中初始断言结果也将有4种,配置的变量值也对应有四种。
步骤S2302,采用变量值将初始断言结果进行替换,形成目标断言结果,并根据目标断言结果生成配置后的断言数据。
本实施例中,目标断言结果用于在测试待测数据接口的运行情况时,与待测数据接口运行后的测试断言结果进行比较,当目标断言结果与测试断言结果相同时,则代表待测数据接口的运行是正常的,没有出现错误。
可选的,本实施例中,采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果,包括:
采用测试工具对待测数据接口进行数据测试,以获得数据测试时对应的测试断言结果。
将测试断言结果与配置后的断言数据中的断言结果进行比较,并根据比较结果生成测试结果。
本实施例中,当配置后的断言数据中的断言结果与测试断言结果相同时,则代表待测数据接口的运行是正常的,没有出现错误,当配置后的断言数据中的断言结果与测试断言结果不同时,则代表待测数据接口的运行出现了错误,此时,可以根据生成的测试结果进行对应的数据修改或进一步的检测。
同时,为了更好的理解本实施例的软件数据测试方法,下面将详细的介绍软件数据测试中断言数据的设置相关流程,本设置流程以编写脚本代码的设置流程进行描述。
本实施例采用jmeter作为测试工具,同时,待测的软件属于java环境。本实施例中,将断言数据存储在assert.csv文件中,变量值存储在testConfig.json配置文件中。
在进行断言数据设置时,首先在jmx脚本(全称为Java Management Extensions,中文为Java管理扩展)中添加beanshell sampler,其中,beanshell sampler用于编写java的脚本。通过beanshell sampler编写java代码解析当前目录下的assert.csv文件并循环获取断言数据的待测软件的数据接口名称和初始断言结果。
在beanshell sampler中编写java代码解析当前目录下的testConfig.json配置文件,将配置文件中配置的变量通过jmeter中提供的vars.putObject()方法将变量转换为jmx脚本中可直接使用的变量,通过此方法其优先级比在jmx中通过用户自定义变量控件中设置的变量优先级高。
将待测数据接口的变量值配置断言数据,同时,在jmx脚本线程组下直接添加公共的beanshell断言,实现所有线程组下运行接口都会执行此公共断言,在测试时,可以调用配置后的断言数据。
最后,根据预定义的断言解析规则解析断言数据内容,并确定断言数据中的判断框架,若配置后的断言数据中的断言结果与待测数据接口的测试断言结果相同,则确定为测试正常,若配置后的断言数据中的断言结果与待测数据接口的测试断言结果不同,则确定为测试不正常。
图5为本发明第三实施例提供的软件数据测试装置的结构示意图,如图5所示,本实施例中,该软件数据测试装置300包括:
获取模块301,用于获取待测软件的待测数据接口,并根据待测数据接口从预先构建的断言数据库中获取对应的断言数据。其中,断言数据库存储有断言数据与待测数据接口之间的映射关系。
配置模块302,用于配置断言数据。
测试模块303,用于采用测试工具对待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果。
本实施例提供的软件数据测试装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
同时,图6为本发明第四实施例提供的软件数据测试装置的结构示意图,如图6所示,本发明提供的软件数据测试装置另一实施例在上一实施例提供的软件数据测试装置的基础上,对软件数据测试装置400进行了进一步的细化。
可选的,本实施例中,断言数据包括待测软件数据接口名称。待测数据接口包括接口标识。
获取模块301在根据待测数据接口从预先构建的断言数据库中获取对应的断言数据时,具体用于:
根据待测数据接口的接口标识从断言数据库中确定对应的待测软件数据接口名称。根据待测软件数据接口名称获取对应的断言数据。
断言数据还包括:变量标识。
配置模块302具体用于:
根据变量标识从预设的变量数据库中获取对应的变量值,并根据变量值配置断言数据。其中,变量数据库存储有变量标识与变量值之间的映射关系。
可选的,本实施例中,断言数据还包括至少一种初始断言结果。变量标识包括至少一种运行环境标识。初始断言结果、运行环境标识与变量值呈一一对应关系。
配置模块302在根据变量标识从预设的变量数据库中获取对应的变量值时,具体用于:
根据运行环境标识从预设的变量数据库中获取对应的变量值。
配置模块302在根据变量值配置断言数据时,具体用于:
采用变量值将初始断言结果进行替换,形成目标断言结果,并根据目标断言结果生成配置后的断言数据。
可选的,本实施例中,测试模块303具体用于:
采用测试工具对待测数据接口进行数据测试,以获得数据测试时对应的测试断言结果。将测试断言结果与配置后的断言数据中的断言结果进行比较,并根据比较结果生成测试结果。
可选的,本实施例中,软件数据测试装置400还包括:
构建公共断言模块,用于构建公共断言,公共断言是表示配置后的断言数据与待测数据接口之间的关联关系的断言。
测试模块303具体用于:
采用测试工具对待测数据接口进行数据测试,并执行公共断言,以根据公共断言中的关联关系调用配置后的断言数据。根据配置后的断言数据生成测试结果。
可选的,本实施例中,还包括:
断言数据存储模块401,用于根据待测数据接口的至少一种运行环境生成对应的断言数据。将对应的断言数据存储入断言数据库中。
本实施例提供的软件数据测试装置可以执行图2-图4所示方法实施例的技术方案,其实现原理和技术效果与图2-图4所示方法实施例类似,在此不再一一赘述。
如图7所示,图7是本发明第五实施例提供的电子设备的结构示意图。电子设备旨在各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,该电子设备包括:处理器501、存储器502。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理。
存储器502即为本发明所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本发明所提供的软件数据测试方法。本发明的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本发明所提供的软件数据测试方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本发明实施例中的软件数据测试方法对应的程序指令/模块(例如,附图5所示的获取模块301,配置模块302和测试模块303)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的软件数据测试方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明实施例的其它实施方案。本发明旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求书来限制。
Claims (8)
1.一种软件数据测试方法,其特征在于,包括:
获取待测软件的待测数据接口,并根据所述待测数据接口从预先构建的断言数据库中获取对应的断言数据;其中,所述断言数据库存储有断言数据与待测数据接口之间的映射关系;
配置所述断言数据;
采用测试工具对所述待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果;
所述断言数据包括待测软件数据接口名称;所述待测数据接口包括接口标识;
所述根据所述待测数据接口从预先构建的断言数据库中获取对应的断言数据,包括:
根据所述待测数据接口的接口标识从所述断言数据库中确定对应的待测软件数据接口名称;
根据所述待测软件数据接口名称获取对应的断言数据;
所述断言数据还包括:变量标识;
所述配置所述断言数据,包括:
根据所述变量标识从预设的变量数据库中获取对应的变量值,并根据所述变量值配置所述断言数据;其中,所述变量数据库存储有变量标识与变量值之间的映射关系;
所述断言数据还包括至少一种初始断言结果;所述变量标识包括至少一种运行环境标识;所述初始断言结果、所述运行环境标识与所述变量值呈一一对应关系;
所述根据所述变量标识从预设的变量数据库中获取对应的变量值,包括:
根据所述运行环境标识从预设的变量数据库中获取对应的变量值;
所述根据所述变量值配置所述断言数据包括:
采用所述变量值将所述初始断言结果进行替换,形成目标断言结果,并根据所述目标断言结果生成配置后的断言数据。
2.根据权利要求1所述的方法,其特征在于,所述采用测试工具对所述待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果,包括:
采用测试工具对所述待测数据接口进行数据测试,以获得数据测试时对应的测试断言结果;
将所述测试断言结果与配置后的断言数据中的断言结果进行比较,并根据比较结果生成测试结果。
3.根据权利要求1所述的方法,其特征在于,所述采用测试工具对所述待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果之前,还包括:
构建公共断言,所述公共断言是表示配置后的断言数据与待测数据接口之间的关联关系的断言;
所述采用测试工具对所述待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果,包括:
采用测试工具对所述待测数据接口进行数据测试,并执行所述公共断言,以根据所述公共断言中的关联关系调用配置后的断言数据;
根据配置后的断言数据生成测试结果。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述待测数据接口从预先构建的断言数据库中获取对应的断言数据之前,还包括:
根据所述待测数据接口的至少一种运行环境生成对应的断言数据;
将对应的断言数据存储入断言数据库中。
5.一种软件数据测试装置,其特征在于,包括:
获取模块,用于获取待测软件的待测数据接口,并根据所述待测数据接口从预先构建的断言数据库中获取对应的断言数据;其中,所述断言数据库存储有断言数据与待测数据接口之间的映射关系;
配置模块,用于配置所述断言数据;
测试模块,用于采用测试工具对所述待测数据接口进行数据测试,并根据配置后的断言数据生成测试结果;
所述断言数据包括待测软件数据接口名称;所述待测数据接口包括接口标识;
所述获取模块在根据待测数据接口从预先构建的断言数据库中获取对应的断言数据时,具体用于:
根据所述待测数据接口的接口标识从所述断言数据库中确定对应的待测软件数据接口名称;
根据所述待测软件数据接口名称获取对应的断言数据;
所述断言数据还包括:变量标识;
所述配置模块具体用于:
根据所述变量标识从预设的变量数据库中获取对应的变量值,并根据所述变量值配置所述断言数据;其中,所述变量数据库存储有变量标识与变量值之间的映射关系;
所述断言数据还包括至少一种初始断言结果;所述变量标识包括至少一种运行环境标识;所述初始断言结果、所述运行环境标识与所述变量值呈一一对应关系;
所述配置模块在根据变量标识从预设的变量数据库中获取对应的变量值时,具体用于:
根据所述运行环境标识从预设的变量数据库中获取对应的变量值;
所述配置模块在根据变量值配置断言数据时,具体用于:
采用所述变量值将所述初始断言结果进行替换,形成目标断言结果,并根据所述目标断言结果生成配置后的断言数据。
6.一种电子设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为由所述处理器执行如权利要求1至4任一项所述的软件数据测试方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至4任一项所述的软件数据测试方法。
8.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的软件数据测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286446.5A CN115114135B (zh) | 2021-03-17 | 2021-03-17 | 软件数据测试方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286446.5A CN115114135B (zh) | 2021-03-17 | 2021-03-17 | 软件数据测试方法、装置、设备、介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115114135A CN115114135A (zh) | 2022-09-27 |
CN115114135B true CN115114135B (zh) | 2024-05-17 |
Family
ID=83323325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286446.5A Active CN115114135B (zh) | 2021-03-17 | 2021-03-17 | 软件数据测试方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114135B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992427A (zh) * | 2017-12-26 | 2018-05-04 | 顺丰科技有限公司 | 创建业务测试场景的方法、装置、设备及其存储介质 |
CN110427188A (zh) * | 2019-08-02 | 2019-11-08 | 深圳前海微众银行股份有限公司 | 单测断言程序的配置方法、装置、设备及存储介质 |
CN110704306A (zh) * | 2019-09-09 | 2020-01-17 | 平安普惠企业管理有限公司 | 测试中的断言处理方法、装置、设备及存储介质 |
CN110990250A (zh) * | 2019-10-12 | 2020-04-10 | 平安医疗健康管理股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN111124870A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 一种接口测试方法及装置 |
CN111615688A (zh) * | 2019-05-28 | 2020-09-01 | 深圳市大疆创新科技有限公司 | 一种断言验证代码绑定方法及装置 |
CN111625464A (zh) * | 2020-05-28 | 2020-09-04 | 杭州鸿雁电器有限公司 | 接口的测试方法、装置、存储介质和处理器 |
CN112433933A (zh) * | 2020-04-09 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种接口自动化测试的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678855B2 (en) * | 2014-12-30 | 2017-06-13 | International Business Machines Corporation | Managing assertions while compiling and debugging source code |
-
2021
- 2021-03-17 CN CN202110286446.5A patent/CN115114135B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992427A (zh) * | 2017-12-26 | 2018-05-04 | 顺丰科技有限公司 | 创建业务测试场景的方法、装置、设备及其存储介质 |
CN111124870A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 一种接口测试方法及装置 |
CN111615688A (zh) * | 2019-05-28 | 2020-09-01 | 深圳市大疆创新科技有限公司 | 一种断言验证代码绑定方法及装置 |
CN110427188A (zh) * | 2019-08-02 | 2019-11-08 | 深圳前海微众银行股份有限公司 | 单测断言程序的配置方法、装置、设备及存储介质 |
CN110704306A (zh) * | 2019-09-09 | 2020-01-17 | 平安普惠企业管理有限公司 | 测试中的断言处理方法、装置、设备及存储介质 |
CN110990250A (zh) * | 2019-10-12 | 2020-04-10 | 平安医疗健康管理股份有限公司 | 接口测试方法、装置、设备及存储介质 |
CN112433933A (zh) * | 2020-04-09 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种接口自动化测试的方法及设备 |
CN111625464A (zh) * | 2020-05-28 | 2020-09-04 | 杭州鸿雁电器有限公司 | 接口的测试方法、装置、存储介质和处理器 |
Non-Patent Citations (5)
Title |
---|
Chapter Five - Approaches and Tools for Automated End-to-End Web Testing;Maurizio Leotta等;Advances in Computers;20160222;第101卷;第193-237页 * |
Debugging Maude programs via runtime assertion checking and trace slicing;María Alpuente等;Journal of Logical and Algebraic Methods in Programming;20160808;第85卷(第5期);第707-736页 * |
EJB组件的单元测试方法研究与实现;陶小玲 等;计算机系统应用;20090715;第18卷(第7期);第195-198页 * |
UML技术与测试驱动开发技术结合的研究;张海峰;中国优秀硕士学位论文全文数据库 信息科技辑;20090615(第6期);I138-157 * |
基于Junit的接口测试框架的设计与实现;江屿;中国优秀硕士学位论文全文数据库 信息科技辑;20160515(第5期);I138-732 * |
Also Published As
Publication number | Publication date |
---|---|
CN115114135A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN110941546A (zh) | Web页面用例的自动化测试方法、装置、设备及存储介质 | |
WO2019161619A1 (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN110765024A (zh) | 模拟测试方法、装置、电子设备和计算机可读存储介质 | |
CN111597110B (zh) | 页面测试方法、装置、电子设备及存储介质 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN112799953A (zh) | 一种接口测试方法及装置、计算机设备及存储介质 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN110888800A (zh) | 服务交互功能的测试方法、装置、存储介质及测试系统 | |
CN115114135B (zh) | 软件数据测试方法、装置、设备、介质及产品 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN115934537A (zh) | 接口测试工具生成方法、装置、设备、介质及产品 | |
CN110633213A (zh) | 单元测试方法、装置、计算机设备和存储介质 | |
CN113434382A (zh) | 数据库性能监控方法、装置、电子设备及计算机可读介质 | |
CN106055468A (zh) | 用于界面的自动化测试方法和系统 | |
CN112181802A (zh) | 测试方法及装置 | |
CN112182083A (zh) | 文件生成方法、装置、设备及存储介质 | |
CN111901185B (zh) | 一种用于VoIP话机自动化测试系统的账号管理方法及装置 | |
CN117130945B (zh) | 一种测试方法和装置 | |
CN113297088B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN113806213B (zh) | 高可扩展性sdk自动测试系统和方法 | |
CN117709255B (zh) | 间接访问寄存器的测试方法、装置、设备及介质 | |
CN113407446B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |