CN117435503A - 测试工具的生成方法、测试方法、装置、设备及介质 - Google Patents
测试工具的生成方法、测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117435503A CN117435503A CN202311610614.7A CN202311610614A CN117435503A CN 117435503 A CN117435503 A CN 117435503A CN 202311610614 A CN202311610614 A CN 202311610614A CN 117435503 A CN117435503 A CN 117435503A
- Authority
- CN
- China
- Prior art keywords
- test
- product
- tested
- file
- data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 445
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000010998 test method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 27
- 238000013101 initial test Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000013136 deep learning model Methods 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000011056 performance test Methods 0.000 claims description 7
- 238000011990 functional testing Methods 0.000 claims description 6
- 238000013112 stability test Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 abstract description 9
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012430 stability testing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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/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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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
技术领域
本公开涉及计算机技术领域,尤其涉及软件开发技术领域、测试技术领域、语音交互技术领域等,具体涉及测试工具的生成方法、测试方法、装置、电子设备、存储介质以及程序产品。
背景技术
随着通信技术的不断发展,不同功能类型的多种应用程序也应运而生。在应用程序投入使用之前,需要对其进行测试,以保证在投入使用的过程中,充分发挥其功能。
发明内容
本公开提供了一种测试工具的生成方法、测试方法、装置、电子设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种测试工具的生成方法,包括:确定待测试产品的测试任务信息,其中,测试任务信息包括关于待测试产品的产品属性信息和测试任务类型;基于产品属性信息,生成与待测试产品相匹配的代码文件,其中,代码文件包括用于执行测试的测试代码;基于测试任务类型,生成与待测试产品相匹配的配置文件和资源文件,其中,配置文件包括用于执行测试的测试任务配置数据,资源文件包括用于执行测试的资源数据;以及基于代码文件、配置文件和资源文件,生成测试工具,以便利用测试工具对待测试产品进行测试。
根据本公开的另一方面,提供了一种测试方法,包括:加载测试工具,其中,测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件;响应于测试命令,利用资源文件的资源数据,按照配置文件中的测试任务数据运行代码文件的测试代码,得到测试数据;基于测试数据和参考数据,得到测试结果;其中,测试工具是利用上述的测试工具的生成方法生成的。
根据本公开的另一方面,提供了一种测试工具的生成装置,包括:任务确定模块,用于确定待测试产品的测试任务信息,其中,测试任务信息包括关于待测试产品的产品属性信息和测试任务类型;代码生成模块,用于基于产品属性信息,生成与待测试产品相匹配的代码文件,其中,代码文件包括用于执行测试的测试代码;文件生成模块,用于基于测试任务类型,生成与待测试产品相匹配的配置文件和资源文件,其中,配置文件包括用于执行测试的测试任务配置数据,资源文件包括用于执行测试的资源数据;以及工具生成模块,用于基于代码文件、配置文件和资源文件,生成测试工具,以便利用测试工具对待测试产品进行测试。
根据本公开的另一方面,提供了一种测试装置,包括:工具加载模块,用于加载测试工具,其中,测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件;代码运行模块,用于响应于测试命令,利用资源文件的资源数据,按照配置文件中的测试任务数据运行代码文件的测试代码,得到测试数据;结果生成模块,用于基于测试数据和参考数据,得到测试结果;其中,测试工具是利用上述的测试工具的生成装置生成的。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1A示意性示出了根据本公开实施例的可以应用测试工具的生成方法及装置的示例性系统架构;
图1B示意性示出了根据本公开实施例的可以服务器的架构示意图;
图2示意性示出了根据本公开实施例的测试工具的生成方法的流程图;
图3示意性示出了根据本公开另一实施例的测试工具的生成方法的流程图;
图4示意性示出了根据本公开实施例的测试方法的流程图;
图5示意性示出了根据本公开实施例的测试工具的生成装置的框图;
图6示意性示出了根据本公开实施例的测试装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现测试工具的生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供了一种测试工具的生成方法、测试方法、装置、电子设备、存储介质以及程序产品。
根据本公开的实施例,提供一种测试工具的生成方法,包括:确定待测试产品的测试任务信息,其中,测试任务信息包括关于待测试产品的产品属性信息和测试任务类型;基于产品属性信息,生成与待测试产品相匹配的代码文件,其中,代码文件包括用于执行测试的测试代码;基于测试任务类型,生成与待测试产品相匹配的配置文件和资源文件,其中,配置文件包括用于执行测试的测试任务配置数据,资源文件包括用于执行测试的资源数据;以及基于代码文件、配置文件和资源文件,生成测试工具,以便利用测试工具对待测试产品进行测试。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1A示意性示出了根据本公开实施例的可以应用测试工具的生成方法及装置的示例性系统架构。
需要注意的是,图1A所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用测试工具的生成方法及装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的测试工具的生成方法及装置。
如图1A所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
开发人员可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送测试工具等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所装载的待测试产品提供测试工具的后台管理服务器(仅为示例)。
需要说明的是,本公开实施例所提供的测试工具的生成方法一般可以由服务器105执行。相应地,本公开实施例所提供的测试工具的生成装置一般可以设置于服务器105中。本公开实施例所提供的测试工具的生成方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的测试工具的生成装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1A中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图1B示意性示出了根据本公开实施例的可以服务器的架构示意图。
如图1B所示,服务器的架构可以包括平台层、中控层和能力层。
如图1B所示,平台层,可以用于接收来自用户的测试任务信息。测试任务信息可以包括:待测试产品的产品名称、代码分支标识、产品版本信息、待集成的测试任务配置数据或者资源数据。平台层,还可以用于状态信息展示。例如,测试工具的生成任务启动之后,平台层可以展示测试工具的生成任务的执行状态,例如:新建任务状态、任务执行中状态、任务完成状态等,同时也会显示任务启动前所填写或者选择的所有测试任务信息,供其他人参考。平台层,也可以用于接收能力层已经生成的测试工具,并将测试工具储存在数据库(例如MySQL或者Redis)中,以便进行查找和版本对比。
如图1B所示,中控层,可以与平台层和能力层分别建立连接,作为平台层和能力层的中间层,用于进行信息转发。例如,中控层可以将能力层的MAC(Media Access ControlAddress媒体存取控制位址,也称为局域网地址),直译为或者其他编号上传给平台层,平台层对能力层进行注册,以便能够发送信息至能力层。中控层还可以接收平台层下发的测试任务信息,并将该测试任务信息进行处理,得到处理后的测试任务信息,按照标准格式发送给能力层。此外,中控层还可以对测试工具的生成操作进行记录,生成日志,方便后期排查问题和优化升级。
如图1B所示,能力层,可以将中控层处理好的测试任务信息,按照所约定的协议进一步的处理,并利用与Android(安卓)、Linux(基于UNIX操作系统发展而来的一种克隆系统)等操作系统所对应的编译工具启动打包,生成测试工具。
应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的测试工具的生成方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,确定待测试产品的测试任务信息。
根据本公开的实施例,测试任务信息可以包括关于待测试产品的产品属性信息和测试任务类型。
根据本公开的实施例,测试任务信息可以是来自客户的或者根据客户提供的需求编写生成的。对测试任务信息的来源不做限定。只要是包含与测试工具的生成所需的相关信息即可。
根据本公开的实施例,待测试产品的产品属性信息可以包括:用于标识待测试产品的产品属性的信息,例如,产品标识信息、产品版本信息、代码分支等。
根据本公开的实施例,测试任务类型,可以用于表征测试任务的测试类型的信息。具体地,测试任务类型可以包括:功能测试、性能测试、稳定性测试、异常测试和功能接口测试。
在操作S220,基于产品属性信息,生成与待测试产品相匹配的代码文件。
根据本公开的实施例,代码文件包括用于执行测试的测试代码。
根据本公开的实施例,测试代码可以是用于测试待测试产品的程序代码、脚本。可以是基于产品属性信息,预先编写得到的测试代码,也可以是基于待测试产品的产品属性信息,对已编写的代码进行修改,得到的测试代码。只要是能够基于产品属性信息,生成的代码文件即可。
在操作S230,基于测试任务类型,生成与待测试产品相匹配的配置文件和资源文件。
根据本公开的实施例,配置文件可以包括用于执行测试的测试任务配置数据。
根据本公开的实施例,测试任务配置数据,可以用于指导代码文件的运行。例如,测试任务配置数据,可以包括执行次数、线程数、执行频次等。可以基于测试任务配置数据,按照执行次数、线程数、执行频次等运行代码文件,执行测试。
根据本公开的实施例,通过将代码文件中的测试代码与配置文件中的测试任务配置数据分别封装,能够实现代码文件中的测试代码与配置文件中的测试任务配置数据解耦,提高两者的解耦性,便于灵活配置测试流程,提高测试效率的同时,提高测试工具的生成。
根据本公开的实施例,资源文件包括用于执行测试的资源数据。
根据本公开的实施例,资源数据可以用于辅助测试工具测试待测试产品。对资源数据的类型不做限定,可以是引擎、深度学习模型还可以是图片、数据表、知识图谱或者其他数据。例如,包括用于对待测试产品接收到的语音交互信息进行语义识别的深度学习模型,还可以包括用于对待测试产品接收到查询信息进行搜索的搜索引擎等。
在操作S240,基于代码文件、配置文件和资源文件,生成测试工具,以便利用测试工具对待测试产品进行测试。
根据本公开的实施例,基于代码文件、配置文件和资源文件,生成测试工具,能够使得测试工具中的测试代码与测试任务配置数据解耦,提高两者的解耦性,由此提高测试工具生成的灵活性和便捷性。此外,在测试工具中还设置有资源文件,能够提供额外的资源配置,提高测试工具的应用范围。
根据本公开的示例性实施例,待测试产品可以包括语音SDK(SoftwareDevelopment Kit,软件开发工具包)。语音SDK,可以指软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,利用语音SDK进行语音交互应用程序的开发,能够快速建立应用软件。
为了满足人类与智能终端设备之间方便且快捷的交互,在终端设备中装载语音功能成为了目前最便利的选择之一。为了保障产品的质量,在投入使用之前需要全方位的对语音SDK产品或者包含语音SDK产品的设备进行测试,包括但不仅限于功能测试、性能测试、稳定性测试、异常测试等。
根据一相关示例,可以由开发人员通过编译工具例如Android Studio(安卓工作室)人工生成测试工具。但是经实际开发发现,编译生成测试工具,成本高、且出错概率大。
根据另一相关示例,还可以使用命令行或者脚本进行编译,生成测试工具。例如,使用固定的源码仓库生成单一待测试产品的测试工具。但是经实际开发发现,该方法部分操作仍然需要人工手动完成,无法完成全自动化生成测试工具,且针对不同待测试产品,无法实现灵活配置。
利用本公开实施例提供的测试工具的生成方法,将代码文件、配置文件和资源文件进行解耦,根据测试任务信息合理配置,节约人力物力,提高测试工具的生成效率的同时,提高灵活性和广泛性。
根据本公开的实施例,针对如图2所示的操作S230中的,基于测试任务类型,生成与待测试产品相匹配的资源文件,可以包括如下操作。
例如,基于测试任务类型,确定待测试产品的运行环境。在确定运行环境包括离线运行环境的情况下,确定待测试产品的待测试功能。基于待测试产品的待测试功能,获取资源数据。打包资源数据,生成与待测试产品相匹配的资源文件。
根据本公开的实施例,可以基于测试任务类型,确定待测试产品的运行环境。该运行环境可以指测试运行环境。运行环境可以包括离线运行环境或者在线运行环境。离线运行环境可以指终端设备与云服务器或者其他服务器网络断开、无法信号连接的运行环境。在线运行环境可以指终端设备与云服务器或者其他服务器信号连接的运行环境。
根据本公开的实施例,在确定运行环境包括在线运行环境的情况下,可以直接利用云服务器或者其他服务器提供的资源数据。可以预先在配置文件的测试任务配置数据中添加用于启动资源文件的触发条件。该触发条件可以包括:运行环境。在确定运行环境为离线运行环境的情况下,确定满足触发条件。反之,则不满足触发条件。响应于用于指示满足触发条件的信息,生成启动资源文件的指令。
根据本公开的实施例,可以利用打包工具封装资源数据,生成资源文件。
根据本公开的实施例,在测试工具中添加资源文件,能够使得在待测试产品的运行环境包括离线运行环境的情况下,也能满足测试要求,提高测试工具的使用范围,由此提高用户个性化体验。
根据本公开的示例性实施例,多个待测试产品各自的应用场景,所支持的待测试功能以及所装载的终端设备均不同,则多个待测试产品各自所配置的资源文件也不同。可以仅基于待测试产品的待测试功能,确定与待测试产品相对应的资源数据。还可以基于待测试产品的应用场景,所支持的待测试功能以及所装载的终端设备的设备类型,确定与待测试产品相对应的资源数据。由此提供的资源文件在保证精度的同时,降低资源文件的数据量,提高运行效率。
根据本公开的示例性实施例,资源数据包括以下至少一项:用于意图识别的深度学习模型、离线引擎、与待测试产品相关的基础数据。
根据本公开的实施例,意图识别的深度学习模型的类别不做限定,例如可以包括卷积神经网络、编码解码器、循环神经网络等。只要是能够在交互过程中,进行意图识别的深度学习模型即可。
根据本公开的实施例,离线引擎可以指适用于离线运行环境中的工具。例如,离线引擎可以包括离线运算工具或者离线搜索工具。
根据本公开的实施例,与待测试产品相关的基础数据可以包括:图片、数据表、知识图谱或者其他数据。
根据本公开的实施例,资源数据可以包括用于意图识别的深度学习模型、离线引擎、与待测试产品相关的基础数据其中的一种或多种,由此提高资源数据的数据种类和数量,由此提高包括资源文件的测试工具的测试范围,由此提高该测试工具的生成方法的应用范围。
根据本公开其他实施例,在执行如图2所示的操作S230后、在执行如图2所示的操作S240之前,测试工具还可以执行如下操作:确定资源文件的生成结果。可以从预定文件中确定是否存在资源文件。在确定预定文件中存在资源文件的情况下,确定资源文件生成成功。否则,确定资源文件生成失败。可重新执行操作S230,基于测试任务类型,生成与待测试产品相匹配的资源文件。
根据本公开的实施例,执行生成资源文件的操作后,执行资源文件生成成功与否的确定操作,能够提高生成准确性的同时,避免后续无效操作的执行,提高处理效率。
根据本公开的实施例,针对如图2所示的操作S220,基于待测试产品的产品属性信息,生成与待测试产品相匹配的代码文件,可以包括如下操作。
例如,从产品属性信息中确定待测试产品的产品标识。在从代码库中确定与产品标识相对应的测试代码的情况下,从代码库中获取测试代码。基于与待测试产品所应用的操作系统,确定目标编译工具。利用目标编译工具,对测试代码、功能调用接口和待测试产品进行封装,生成代码文件。
根据本公开的实施例,可以基于预定字段例如产品标识的字段位置,从测试任务信息中确定待测试产品的产品标识。产品属性信息还可以包括待测试产品的版本信息。
根据本公开的实施例,可以基于产品标识,从代码库中确定测试代码。但是并不局限于此。还可以基于产品标识,从代码库中确定测试代码集合。基于版本信息,从测试代码集合中确定与版本信息相匹配的测试代码。
根据本公开的实施例,利用产品属性信息中的产品标识和版本信息,能够在待测试产品包括不同版本的多个产品的情况下,精准且快速地定位到目标测试代码。
根据本公开的实施例,在从代码库中确定与产品标识或者版本信息相对应的测试代码的情况下,从代码库中获取测试代码。在从代码库中未确定与产品标识或者版本信息相对应的测试代码的情况下,可以利用编译工具编译相关测试代码。
根据本公开的实施例,可以从测试任务信息中确定与待测试产品所应用的操作系统,例如,待测试产品装载于终端设备中,终端设备应用A操作系统。可以预先从测试任务信息中确定对应的A操作系统的相关信息。确定与操作系统相匹配的目标编译工具。例如针对安卓操作系统,可以利用与安卓操作系统相匹配的目标编译工具,对测试代码、功能调用接口和待测试产品进行封装,生成代码文件。但是并不局限于此。还可以仅将测试代码、功能调用接口和待测试产品的相关信息进行封装,生成代码文件。在待测试产品提供功能调用接口的情况下,也可以仅将测试代码和待测试产品进行封装,生成代码文件。
根据本公开的示例性实施例,针对安卓操作系统,还可以将代码文件进一步封装为APK(Android application package)文件。以便能够不需要修改终端设备的运行代码的情况下,使得测试工具能够顺利测试,提高系统的兼容性,进而由此提高智能语音测试中功能测试、性能测试、稳定性测试的测试能力。
根据本公开其他实施例,在执行如图2所示的操作S220后在执行如图2所示的操作S230之前,测试工具还可以执行如下操作:确定代码文件的生成结果。可以从预定文件中确定是否存在代码文件。在确定预定文件中存在代码文件的情况下,确定代码文件生成成功。否则,确定代码文件生成失败。可重新执行操作S220,基于待测试产品的产品属性信息,生成与待测试产品相匹配的代码文件。
根据本公开的实施例,执行生成代码文件的操作后,执行代码文件生成成功与否的确定操作,能够提高生成准确性的同时,避免后续无效操作的执行,提高处理效率。
根据本公开的实施例,针对如图2所示的操作S230中的,基于测试任务类型,生成与待测试产品相匹配的配置文件,可以包括如下操作。
例如,基于测试任务类型,确定待测试产品的测试任务流程信息。基于测试任务流程信息,确定待测试产品的测试任务数据。基于测试任务流程信息和测试任务数据,生成与待测试产品相匹配的配置文件。
根据本公开的实施例,测试任务配置数据包括测试任务流程信息和测试任务数据。
根据本公开的实施例,测试任务流程信息包括以下至少一项:关于功能测试任务的任务流程信息、关于性能测试任务的任务流程信息、关于稳定性测试的任务流程信息。
根据本公开的实施例,测试任务数据包括以下至少一项:线程数、执行频次、运行时长。
根据本公开的实施例,测试任务类型可以包括:功能测试、性能测试、稳定性测试、异常测试和功能接口测试等。
根据本公开的实施例,针对功能性测试,测试任务流程信息可以包括关于功能性测试任务的任务流程信息。针对性能测试,测试任务流程信息可以包括关于性能测试任务的任务流程信息。针对稳定性测试,测试任务流程信息可以包括关于稳定性测试的任务流程信息。
根据本公开的实施例,测试任务流程信息,可以指流程框架,或者流程概要。可以作为模板流程信息。
根据本公开的实施例,测试任务数据可以包括以下至少一项:线程数、执行频次、运行时长。测试任务数据可以指具体测试任务参数数值。
根据本公开的实施例,可以将测试任务配置数据拆分为模板流程信息和具体参数数值,将两者解耦,使得测试任务配置数据能够在灵活配置的同时,提高配置效率。此外,测试任务配置数据中的测试任务流程信息和测试任务数据的种类丰富,且广泛,能够提高基于测试任务配置数据生成的配置文件的应用范围。
根据本公开其他实施例,在执行如图2所示的操作S220后在执行如图2所示的操作S230之前,测试工具还可以执行如下操作:确定配置文件的生成结果。可以从预定文件中确定是否存在配置文件。在确定预定文件中存在配置文件的情况下,确定配置文件生成成功。否则,确定配置文件生成失败。可重新执行操作S220,基于待测试产品的测试任务类型,生成与待测试产品相匹配的配置文件。
根据本公开的实施例,执行生成配置文件的操作后,执行配置文件生成成功与否的确定操作,能够提高生成准确性的同时,避免后续无效操作的执行,提高处理效率。
根据本公开的实施例,针对如图2所示的操作S240,基于代码文件、配置文件和资源文件,生成测试工具,可以包括:对代码文件、配置文件和资源文件进行打包,生成压缩文件格式的文件,生成测试工具。
根据本公开的示例性实施例,针对如图2所示的操作S210,确定待测试产品的测试任务信息,可以包括:接收待测试产品的初始测试任务信息。对初始测试任务信息进行格式转换,得到目标格式的初始测试任务信息。对目标格式的初始测试任务信息进行字段识别,得到测试任务信息。
根据本公开的实施例,可以为平台层配置多个接口,利用平台层的多个接口接收来自不同的多个客户的关于待测试产品的信息。可以将该信息作为初始测试任务信息。
根据本公开的实施例,响应于接收到待测试产品的初始测试任务信息。可以对初始测试任务信息进行数据格式的识别,得到数据格式识别结果。在确定数据格式识别结果与目标格式不匹配的情况下,对初始测试任务信息进行格式转换,得到目标格式的初始测试任务信息。
根据本公开的实施例,对目标格式的初始测试任务信息进行字段识别,得到多个字段识别结果。基于多个字段识别结果,得到测试任务信息。能够利用格式转换以及字段识别,将与目标格式的内容进行转换,且将与待测试任务无关的信息进行过滤,以便基于测试任务信息,准确且快速的生成测试工具,提高生成测试工具的准确性和有效性。
根据本公开的实施例,设置对初始测试任务信息进行数据格式的识别以及在确定数据格式识别结果与目标格式不匹配的情况下,对初始测试任务信息进行格式转换等操作,能够解决因不同的多个初始测试任务信息的信息类型、格式不同而导致的无法识别初始测试任务信息中的字段,进而无法准确生成与客户需求相匹配的测试工具的问题。
根据本公开的实施例,在执行如图2所示的操作S210之前,测试工具的生成方法还可以包括如下操作。
例如,基于待测试产品的产品类型,从多个线程中确定候选线程。在确定候选线程的当前状态处于空闲状态的情况下,将候选线程作为目标线程,以便利用目标线程执行生成代码文件、配置文件、资源文件和测试工具的操作。
根据本公开的实施例,可以设置多个线程并行执行测试工具的生成方法。
根据本公开的实施例,可以将多个线程基于产品类型进行划分,得到用于生成产品类型A的线程和用于生成产品类型B的线程。可以基于待测试产品的产品类型,从多个线程中确定候选线程。将候选线程作为目标线程,利用目标线程执行测试工具的生成方法。但是并不局限于此。还可以确定候选线程的状态,在确定候选线程的当前状态处于空闲状态的情况下,将候选线程作为目标线程,利用目标线程执行测试工具的生成方法。
与直接将候选线程作为目标线程的方式相比,确定候选线程的状态,在确定候选线程的当前状态处于空闲状态的情况下,将候选线程作为目标线程,可以提高测试工具的生成效率,避免无效等待。
根据本公开的实施例,利用上述操作,能够实现不同产品类型的多个待测试产品各自的测试工具并行生成,或者同一产品类型多个待测试产品各自的测试工具并行生成。
图3示意性示出了根据本公开另一实施例的测试工具的生成方法的流程图。
如图3所示,测试工具的生成方法可以包括操作S310~S390。
在操作S310,确定待测试产品的测试任务信息。
在操作S320,基于待测试产品的产品类型,从多个线程中确定候选线程。
在操作S330,确定候选线程的当前状态是否处于空闲状态?在确定候选线程的当前状态处于空闲状态的情况下,执行操作S340,在确定候选线程的当前状态处于非空闲状态的情况下,执行操作S350。
在操作S340,将候选线程作为目标线程。
在操作S350,排队等候,直至候选线程的当前状态处于空闲状态。
在操作S360,利用目标线程基于产品属性信息,生成与待测试产品相匹配的代码文件。
在操作S370,利用目标线程基于测试任务类型,生成与待测试产品相匹配的配置文件。
在操作S380,利用目标线程基于测试任务类型,生成与待测试产品相匹配的资源文件。
在操作S390,利用目标线程基于代码文件、配置文件和资源文件,生成测试工具。
图4示意性示出了根据本公开实施例的测试方法的流程图。
如图4所示,该方法包括操作S410~S430。
在操作S410,加载测试工具。测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件。
在操作S420,响应于测试命令,利用资源文件的资源数据,按照配置文件中的测试任务数据运行代码文件的测试代码,得到测试数据。
在操作S430,基于测试数据和参考数据,得到测试结果。
根据本公开的实施例,测试工具是如图2所示的测试工具的生成方法生成的。
根据本公开的实施例,可以将测试工具加载至终端设备中,或者将测试工具保存至终端设备。终端设备可以接收来自服务器的测试命令。按照配置文件中的测试任务数据运行代码文件的测试代码,对待测试产品进行测试,并利用资源文件的资源数据处理中间数据,得到运行结果。可以将运行结果作为测试数据。但是并不局限于此。还可以将运行结果以及中间数据或者测试过程中的其他数据例如通知数据或者报警数据作为测试数据。
根据本公开的实施例,参考数据可以为根据待测试产品的需求,预定的目标性能数据或者目标功能数据。参考数据的数据类型不做限定,可以为阈值范围。
根据本公开的实施例,可以对测试数据和参考数据进行比对,得到测试结果。测试结果可以包括表征待测试产品通过测试的结果和表征待测试产品未通过测试的结果。可以基于测试结果,确定待测试产品是否可以投入使用。
根据本公开的实施例,通过测试工具的生成方法和测试方法,生成测试全链路,提高待测试产品测试的灵活性、智能性和精准性。
根据本公开的实施例,针对如图4所示的操作S430,测试方法还可以包括:利用运行状态监测工具监测用于装载待测试产品的终端设备的运行状态,得到运行状态数据。基于运行状态数据,更新终端设备的运行性能。
根据本公开的实施例,运行状态监测工具可以包括运行数据采集工具,例如插件。但是并不局限于此。还可以是其他用于采集运行数据的工具。
根据本公开的实施例,可以在测试文件中添加用于采集运行数据的代码,以便在对测试产品进行测试的过程中,利用代码文件中的相关代码对运行状态数据进行采集。
与利用代码文件中的相关代码对运行状态数据进行采集的方式相比,利用运行状态监测工具采集运行状态数据,能够避免因同时运行两种不同的流程而导致的降低运行效率的问题。
根据本公开的实施例,运行状态数据可以包括中央处理器、存储器、接口等的运行状态数据,例如,流量、响应延时时长。
根据本公开的实施例,可以基于运行状态数据,确定终端设备的硬件是否满足运行需求。在运行状态数据表征终端设备的运行性能不满足运行需求的情况下,可以更新终端设备的运行性能,例如,更新终端设备的相关硬件,或者更新终端设备。
根据本公开的实施例,可以通过更新终端设备的运行性能,提高测试精度,避免因外界因素影响而导致的测试精度低的问题。
图5示意性示出了根据本公开实施例的测试工具的生成装置的框图。
如图5所示,该实施例的测试工具的生成装置500包括任务确定模块510、代码生成模块520、文件生成模块530和工具生成模块540。
任务确定模块510,用于确定待测试产品的测试任务信息,其中,测试任务信息包括关于待测试产品的产品属性信息和测试任务类型。
代码生成模块520,用于基于产品属性信息,生成与待测试产品相匹配的代码文件,其中,代码文件包括用于执行测试的测试代码。
文件生成模块530,用于基于测试任务类型,生成与待测试产品相匹配的配置文件和资源文件,其中,配置文件包括用于执行测试的测试任务配置数据,资源文件包括用于执行测试的资源数据。
工具生成模块540,用于基于代码文件、配置文件和资源文件,生成测试工具,以便利用测试工具对待测试产品进行测试。
根据本公开的实施例,文件生成模块530包括环境确定单元、功能确定单元、数据获取单元和资源文件生成单元。
环境确定单元,用于基于测试任务类型,确定待测试产品的运行环境。
功能确定单元,用于在确定运行环境包括离线运行环境的情况下,确定待测试产品的待测试功能。
数据获取单元,用于基于待测试产品的待测试功能,获取资源数据。
资源文件生成单元,用于打包资源数据,生成与待测试产品相匹配的资源文件。
根据本公开的实施例,测试任务配置数据包括测试任务流程信息和测试任务数据;
文件生成模块530,还包括流程确定单元、任务确定单元和配置文件生成单元。
流程确定单元,用于基于测试任务类型,确定待测试产品的测试任务流程信息。
任务确定单元,用于基于测试任务流程信息,确定待测试产品的测试任务数据。
配置文件生成单元,用于基于测试任务流程信息和测试任务数据,生成与待测试产品相匹配的配置文件。
根据本公开的实施例,代码生成模块520包括标识确定单元、代码获取单元、工具确定单元和代码生成单元。
标识确定单元,用于从产品属性信息中确定待测试产品的产品标识。
代码获取单元,用于在从代码库中确定与产品标识相对应的测试代码的情况下,从代码库中获取测试代码。
工具确定单元,用于基于与待测试产品所应用的操作系统,确定目标编译工具。
代码生成单元,用于利用目标编译工具,对测试代码、功能调用接口和待测试产品进行封装,生成代码文件。
根据本公开的实施例,任务确定模块510包括信息接收单元、格式转换单元和字段识别单元。
信息接收单元,用于接收待测试产品的初始测试任务信息。
格式转换单元,用于对初始测试任务信息进行格式转换,得到目标格式的初始测试任务信息。
字段识别单元,用于对目标格式的初始测试任务信息进行字段识别,得到测试任务信息。
根据本公开的实施例,测试工具的生成装置500还包括候选线程确定模块和目标线程确定模块。
候选线程确定模块,用于基于待测试产品的产品类型,从多个线程中确定候选线程。
目标线程确定模块,用于在确定候选线程的当前状态处于空闲状态的情况下,将候选线程作为目标线程,以便利用目标线程执行生成代码文件、配置文件、资源文件和测试工具的操作。
根据本公开的实施例,资源数据包括以下至少一项:用于意图识别的深度学习模型、离线引擎、与待测试产品相关的基础数据。
根据本公开的实施例,测试任务流程信息包括以下至少一项:关于功能测试任务的任务流程信息、关于性能测试任务的任务流程信息、关于稳定性测试的任务流程信息;
测试任务数据包括以下至少一项:线程数、执行频次、运行时长。
图6示意性示出了根据本公开实施例的测试装置的框图。
如图6所示,该实施例的测试装置600包括工具加载模块610、代码运行模块620和结果生成模块630。
工具加载模块610,用于加载测试工具,其中,测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件;
代码运行模块620,用于响应于测试命令,利用资源文件的资源数据,按照配置文件中的测试任务数据运行代码文件的测试代码,得到测试数据;
结果生成模块630,用于基于测试数据和参考数据,得到测试结果。
其中,测试工具是利用测试工具的生成方法生成的。
根据本公开的实施例,测试装置600还包括数据确定模块和性能更新模块。
数据确定模块,用于利用运行状态监测工具监测用于装载待测试产品的终端设备的运行状态,得到运行状态数据;以及
性能更新模块,用于基于运行状态数据,更新终端设备的运行性能。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例的方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例的方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例的方法。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至输入/输出(I/O)接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如测试工具的生成方法或测试方法。例如,在一些实施例中,测试工具的生成方法或测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的测试工具的生成方法或测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试工具的生成方法或测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种测试工具的生成方法,包括:
确定待测试产品的测试任务信息,其中,所述测试任务信息包括关于所述待测试产品的产品属性信息和测试任务类型;
基于所述产品属性信息,生成与所述待测试产品相匹配的代码文件,其中,所述代码文件包括用于执行测试的测试代码;
基于所述测试任务类型,生成与所述待测试产品相匹配的配置文件和资源文件,其中,所述配置文件包括用于执行测试的测试任务配置数据,所述资源文件包括用于执行测试的资源数据;以及
基于所述代码文件、所述配置文件和所述资源文件,生成测试工具,以便利用所述测试工具对所述待测试产品进行测试。
2.根据权利要求1所述的方法,其中,所述基于所述测试任务类型,生成与所述待测试产品相匹配的资源文件,包括:
基于所述测试任务类型,确定所述待测试产品的运行环境;
在确定所述运行环境包括离线运行环境的情况下,确定所述待测试产品的待测试功能;
基于所述待测试产品的待测试功能,获取所述资源数据;以及
打包所述资源数据,生成与所述待测试产品相匹配的所述资源文件。
3.根据权利要求1所述的方法,其中,所述测试任务配置数据包括测试任务流程信息和测试任务数据;
所述基于所述测试任务类型,生成与所述待测试产品相匹配的配置文件,包括:
基于所述测试任务类型,确定所述待测试产品的所述测试任务流程信息;
基于所述测试任务流程信息,确定所述待测试产品的所述测试任务数据;以及
基于所述测试任务流程信息和所述测试任务数据,生成与所述待测试产品相匹配的所述配置文件。
4.根据权利要求1所述的方法,其中,所述基于待测试产品的产品属性信息,生成与所述待测试产品相匹配的代码文件,包括:
从所述产品属性信息中确定所述待测试产品的产品标识;
在从代码库中确定与所述产品标识相对应的测试代码的情况下,从所述代码库中获取所述测试代码;
基于与所述待测试产品所应用的操作系统,确定目标编译工具;以及
利用所述目标编译工具,对所述测试代码、功能调用接口和所述待测试产品进行封装,生成所述代码文件。
5.根据权利要求1至4中任一项所述的方法,其中,所述确定待测试产品的测试任务信息,包括:
接收所述待测试产品的初始测试任务信息;
对所述初始测试任务信息进行格式转换,得到目标格式的初始测试任务信息;以及
对所述目标格式的初始测试任务信息进行字段识别,得到所述测试任务信息。
6.根据权利要求1所述的方法,还包括:
基于所述待测试产品的产品类型,从多个线程中确定候选线程;以及
在确定所述候选线程的当前状态处于空闲状态的情况下,将所述候选线程作为目标线程,以便利用所述目标线程执行生成所述代码文件、所述配置文件、所述资源文件和所述测试工具的操作。
7.根据权利要求1所述的方法,其中,所述资源数据包括以下至少一项:用于意图识别的深度学习模型、离线引擎、与所述待测试产品相关的基础数据。
8.根据权利要求3所述的方法,其中,所述测试任务流程信息包括以下至少一项:关于功能测试任务的任务流程信息、关于性能测试任务的任务流程信息、关于稳定性测试的任务流程信息;
所述测试任务数据包括以下至少一项:线程数、执行频次、运行时长。
9.一种测试方法,包括:
加载测试工具,其中,所述测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件;
响应于测试命令,利用所述资源文件的资源数据,按照所述配置文件中的测试任务数据运行所述代码文件的测试代码,得到测试数据;
基于所述测试数据和参考数据,得到测试结果;
其中,所述测试工具是利用如权利要求1至8中任一项所述的测试工具的生成方法生成的。
10.根据权利要求9所述的方法,还包括:
利用运行状态监测工具监测用于装载所述待测试产品的终端设备的运行状态,得到运行状态数据;以及
基于所述运行状态数据,更新所述终端设备的运行性能。
11.一种测试工具的生成装置,包括:
任务确定模块,用于确定待测试产品的测试任务信息,其中,所述测试任务信息包括关于所述待测试产品的产品属性信息和测试任务类型;
代码生成模块,用于基于所述产品属性信息,生成与所述待测试产品相匹配的代码文件,其中,所述代码文件包括用于执行测试的测试代码;
文件生成模块,用于基于所述测试任务类型,生成与所述待测试产品相匹配的配置文件和资源文件,其中,所述配置文件包括用于执行测试的测试任务配置数据,所述资源文件包括用于执行测试的资源数据;以及
工具生成模块,用于基于所述代码文件、所述配置文件和所述资源文件,生成测试工具,以便利用所述测试工具对所述待测试产品进行测试。
12.根据权利要求11所述的装置,其中,所述文件生成模块,包括:
环境确定单元,用于基于所述测试任务类型,确定所述待测试产品的运行环境;
功能确定单元,用于在确定所述运行环境包括离线运行环境的情况下,确定所述待测试产品的待测试功能;
数据获取单元,用于基于所述待测试产品的待测试功能,获取所述资源数据;以及
资源文件生成单元,用于打包所述资源数据,生成与所述待测试产品相匹配的所述资源文件。
13.根据权利要求11所述的装置,其中,所述测试任务配置数据包括测试任务流程信息和测试任务数据;
所述文件生成模块,还包括:
流程确定单元,用于基于所述测试任务类型,确定所述待测试产品的所述测试任务流程信息;
任务确定单元,用于基于所述测试任务流程信息,确定所述待测试产品的所述测试任务数据;以及
配置文件生成单元,用于基于所述测试任务流程信息和所述测试任务数据,生成与所述待测试产品相匹配的所述配置文件。
14.根据权利要求11所述的装置,其中,所述代码生成模块,包括:
标识确定单元,用于从所述产品属性信息中确定所述待测试产品的产品标识;
代码获取单元,用于在从代码库中确定与所述产品标识相对应的测试代码的情况下,从所述代码库中获取所述测试代码;
工具确定单元,用于基于与所述待测试产品所应用的操作系统,确定目标编译工具;以及
代码生成单元,用于利用所述目标编译工具,对所述测试代码、功能调用接口和所述待测试产品进行封装,生成所述代码文件。
15.根据权利要求11至14中任一项所述的装置,其中,所述任务确定模块,包括:
信息接收单元,用于接收所述待测试产品的初始测试任务信息;
格式转换单元,用于对所述初始测试任务信息进行格式转换,得到目标格式的初始测试任务信息;以及
字段识别单元,用于对所述目标格式的初始测试任务信息进行字段识别,得到所述测试任务信息。
16.根据权利要求11所述的装置,还包括:
候选线程确定模块,用于基于所述待测试产品的产品类型,从多个线程中确定候选线程;以及
目标线程确定模块,用于在确定所述候选线程的当前状态处于空闲状态的情况下,将所述候选线程作为目标线程,以便利用所述目标线程执行生成所述代码文件、所述配置文件、所述资源文件和所述测试工具的操作。
17.根据权利要求11所述的装置,其中,所述资源数据包括以下至少一项:用于意图识别的深度学习模型、离线引擎、与所述待测试产品相关的基础数据。
18.根据权利要求13所述的装置,其中,所述测试任务流程信息包括以下至少一项:关于功能测试任务的任务流程信息、关于性能测试任务的任务流程信息、关于稳定性测试的任务流程信息;
所述测试任务数据包括以下至少一项:线程数、执行频次、运行时长。
19.一种测试装置,包括:
工具加载模块,用于加载测试工具,其中,所述测试工具包括用于测试待测试产品的代码文件、资源文件和配置文件;
代码运行模块,用于响应于测试命令,利用所述资源文件的资源数据,按照所述配置文件中的测试任务数据运行所述代码文件的测试代码,得到测试数据;
结果生成模块,用于基于所述测试数据和参考数据,得到测试结果;
其中,所述测试工具是利用如权利要求11至18中任一项所述的测试工具的生成装置生成的。
20.根据权利要求19所述的装置,还包括:
数据确定模块,用于利用运行状态监测工具监测用于装载所述待测试产品的终端设备的运行状态,得到运行状态数据;以及
性能更新模块,用于基于所述运行状态数据,更新所述终端设备的运行性能。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至10中任一项所述的方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311610614.7A CN117435503A (zh) | 2023-11-29 | 2023-11-29 | 测试工具的生成方法、测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311610614.7A CN117435503A (zh) | 2023-11-29 | 2023-11-29 | 测试工具的生成方法、测试方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117435503A true CN117435503A (zh) | 2024-01-23 |
Family
ID=89555355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311610614.7A Pending CN117435503A (zh) | 2023-11-29 | 2023-11-29 | 测试工具的生成方法、测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435503A (zh) |
-
2023
- 2023-11-29 CN CN202311610614.7A patent/CN117435503A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019161619A1 (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN113127357B (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
CN111309343A (zh) | 一种开发部署方法及装置 | |
CN110688305A (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN113778849A (zh) | 用于测试代码的方法、装置、设备以及存储介质 | |
CN115509522A (zh) | 面向低代码场景的接口编排方法、系统、电子设备 | |
CN115016321A (zh) | 一种硬件在环自动化测试方法、装置及系统 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN116303013A (zh) | 源码分析方法、装置、电子设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN115757186A (zh) | 一种软件接口的性能测试方法、装置、设备及介质 | |
CN115061921A (zh) | 自动测试方法、装置、电子设备及可读存储介质 | |
CN115269431A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN114997329A (zh) | 用于生成模型的方法、装置、设备、介质和产品 | |
CN117435503A (zh) | 测试工具的生成方法、测试方法、装置、设备及介质 | |
CN110806967A (zh) | 一种单元测试方法和装置 | |
CN114003497A (zh) | 业务系统的测试方法、装置、设备及存储介质 | |
CN113377648A (zh) | 软件系统诊断方法、装置、电子设备及计算机可读介质 | |
CN113836291B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113760765B (zh) | 代码测试方法、装置、电子设备和存储介质 | |
CN113835893B (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN113626332B (zh) | 调试方法、装置、设备、存储介质以及计算机程序产品 | |
CN113297088B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN118568006A (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 |