CN115357474A - 本地测试方法、装置、设备及存储介质 - Google Patents

本地测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115357474A
CN115357474A CN202210813196.0A CN202210813196A CN115357474A CN 115357474 A CN115357474 A CN 115357474A CN 202210813196 A CN202210813196 A CN 202210813196A CN 115357474 A CN115357474 A CN 115357474A
Authority
CN
China
Prior art keywords
test
tested
item
text
executable file
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
Application number
CN202210813196.0A
Other languages
English (en)
Inventor
李超
朱昱锦
徐亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202210813196.0A priority Critical patent/CN115357474A/zh
Publication of CN115357474A publication Critical patent/CN115357474A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test 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

本地测试方法、装置、设备及存储介质
技术领域
本发明涉及测试领域,尤其涉及一种本地测试方法、装置、设备及存储介质。
背景技术
本地测试是指对新开发的项目进行不同语言版本的对话、文本、用户界面、以及其它相关资源等测试,以发现并解决本地化过程中出现的问题,保证项目的质量,比如,在寿险质检项目过程中,需要检测客服坐席与客户的对话是否违反规定,就需要在项目上线之前进行本地测试以保证该项目的质量。
但是,在传统的本地测试中是通过依赖测试服务器进行项目的测试实现的,在测试过程中需要遍历整个项目,在项目的数据量庞大时,由于测试服务器的资源有限,会使测试服务器的CPU资源大量消耗,无法同时测量数量较大的数据,若扩充测试服务器资源又需要花费大量资金,导致本地测试耗时长、测试效率较低。
发明内容
本发明提供一种本地测试方法、装置、设备及存储介质,其主要目的是提高本地测试的测试效率。
为实现上述目的,本发明提供了一种本地测试方法,包括:
获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
将所述项目文本进行预处理操作,得到待测试项目文本;
基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
可选地,所述基于待检测接口及所述待测试项目文本生成测试脚本,包括:
生成所述待检测接口的唯一标识,利用所述唯一标识将所述待检测接口及所述待检测接口对应的待测试项目文本进行关联;
利用预设的接口测试工具将关联后的待测试项目文本转化为所述测试脚本。
可选地,所述利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,包括:
获取所述可执行文件的生成指令,根据所述生成指令预设的脚本转化工具将所述测试脚本进行编译,生成汇编文件;
将所述汇编文件与存储所述汇编文件的数据库进行链接,生成可执行文件。
可选地,所述获取待测试项目之后,所述方法还包括:
将所述项目文本看作测试用例集,利用所述待检测接口对所有关联的测试用例集中的测试用例进行检测;
若其中一个测试用例通过检测,则确定所述测试用例结果为测试通过;
若其中一个测试用例不通过检测,则确定所述测试用例结果为测试不通过。
可选地,所述将所述项目文本进行预处理操作,得到待测试项目文本,包括:
对所述项目文本进行数据清洗,得到清洗项目数据;
对所述清洗项目数据进行滑窗操作,得到待测试项目文本。
可选地,所述根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,包括:
利用预设的虚拟机生成测试环境;
在所述测试环境中,根据所述可执行文件运行所述待测试项目,并通过所述可执行文件返回测试结果。
可选地,所述获取待测试项目,包括:
查找所述待测试项目在预设的数据库服务器中的存储路径;
根据所述存储路径从所述预设的数据库服务器中获取所述待测试项目。
为了解决上述问题,本发明还提供一种本地测试装置,所述装置包括:
测试项目获取模块,用于获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
文本处理模块,用于将所述项目文本进行预处理操作,得到待测试项目文本;
可执行文件生成模块,用于基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
本地测试模块,用于传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的本地测试方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的本地测试方法。
本发明实施例中,首先通过获取待测试项目,并将所述项目文本进行预处理操作,得到待测试项目文本可以避免由于项目文本格式不正确及文本过长引起的测试问题,提高数据质量;其次,基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,可以利用可执行文件替代测试服务器实现本地测试,解决无法同时测量数量较大的数据问题;最后,传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,可以实现将可执行文件替代测试服务器进行本地测试,避免使用测试服务器的CPU资源,节约了大量成本,且仅需通过可执行文件进行测试,提高了本地测试的测试效率。因此本发明实施例提出的本地测试方法、装置、设备及存储介质可以提高本地测试的测试效率。
附图说明
图1为本发明一实施例提供的本地测试方法的流程示意图;
图2为本发明一实施例提供的本地测试方法中一个步骤的详细流程示意图;
图3为本发明一实施例提供的本地测试装置的模块示意图;
图4为本发明一实施例提供的实现本地测试方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种本地测试方法。所述本地测试方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述本地测试方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示的本发明一实施例提供的本地测试方法的流程示意图,在本发明实施例中,所述本地测试方法包括以下步骤S1-S4:
S1、获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口。
本发明实施例中,所述待测试项目是指待测试的软件或应用,比如,在客服坐席与客户沟通过程中,待测试项目可以为测试客服坐席与客户的对话中是否存在违规对话,其中,所述待测试项目包括项目文本、测试规则及待检测接口。
本发明实施例中,所述项目文本是指待测试项目中涉及的所有文本,比如,坐席客服与客户间的所有对话文本;所述测试规则是指根据预设的测试条件构建的规则,可以基于实际业务确定测试逻辑,比如,在客服对话的违规测试中,该测试条件可以为客服与客户对话中涉及的违规对话,其中,违规对话包括但不限于客服泄露客户信息、客户投诉客服成功或客服违背自己的承诺等。
本发明实施例中,所述待检测接口是指用来连接待测试项目中的不同部分,包括接口名及接口参数,该接口参数包括待测试接口的输入参数、调用结果返回值及测试结果。具体的,输入参数指的是待测试接口运行时所需要输入的参数。调用结果返回值指的是待测试接口运行过程是否成功的表征参数。测试结果指的是待测试接口进行测试后的测试结果,且待测试接口可以基于不同的业务场景进行设定,例如,根据接口请求内容不同设定的接口、根据接口字段类型不同设定的接口等。
作为本发明的一个实施例,所述获取待测试项目,包括:
查找所述待测试项目在预设的数据库服务器中的存储路径;根据所述存储路径从所述预设的数据库服务器中获取所述待测试项目。
其中,所述预设的数据库服务器是指存储待测试项目、测试规则及待测试项目对应的开发环境的数据库,比如,待测试项目涉及的开发环境为Java开发环境、Python开发环境及C语言开发环境等。
本发明一实施例中,所述获取待测试项目之后,所述方法还包括:
将所述项目文本看作测试用例集,利用所述待检测接口对所有关联的测试用例集中的测试用例进行检测;若其中一个测试用例通过检测,则确定所述测试用例结果为测试通过;若其中一个测试用例不通过检测,则确定所述测试用例结果为测试不通过。
其中,所述测试用例集是根据接口的功能和参数从业务流程、请求内容结构及参数合法性三方面设计的用例,且所述测试用例可以用来判断待检测接口是否正常,若测试用例通过,则确定待检测接口正常,若测试用例不通过,则确定待检测接口异常,对于异常的待检测接口可以及时显示至开发人员进行检查并及时修复该接口,保证后续本地测试的正常运行。
S2、将所述项目文本进行预处理操作,得到待测试项目文本。
本发明实施例中,由于项目文本通常为长篇的文本格式,无法直接通过待检测接口进行调取,所以通过将项目文本进行预处理操作,得到可以直接通过接口调取的待测试项目文本。
本发明实施例中,所述将所述项目文本进行预处理操作,得到待测试项目文本,可以避免由于项目文本格式不正确及文本过长引起的测试问题,提高数据质量。
作为本发明的一个实施例,所述将所述项目文本进行预处理操作,得到待测试项目文本,包括:
对所述项目文本进行数据清洗,得到清洗项目数据;对所述清洗项目数据进行滑窗操作,得到待测试项目文本。
其中,所述数据清洗可以将项目文本中的噪声数据和无关数据进行去除,并完善遗漏数据和脏数据的清洗,使得清洗过的数据完整性更好。
本发明一实施例中,所述滑窗操作是指根据设定的单位长度对清洗项目数据进行切分,且切分后的每段文本都是完整的句子,且滑窗操作还可以用于后续本地测试中的流量控制,保证测试的持续进行。
S3、基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件。
本发明实施例中,所述测试脚本是指对待测试项目文本进行测试时的测试源代码。所述可执行文件是指由操作系统进行加载执行的文件,可以针对不同操作系统或不同计算机语言编译对应的可执行文件,另外,由于生成的可执行文件很难进行反编译,且可执行文件仅在内网中传输,因此待测试项目的源码安全性可以得到保障。
本发明实施例通过基于待检测接口及所述待测试项目文本生成测试脚本,可以便于后续生成测试脚本的可执行文件。
作为本发明的一个实施例,参考图2所示,所述基于待检测接口及所述待测试项目文本生成测试脚本,包括以下步骤S31-S32:
S31、生成所述待检测接口的唯一标识,利用所述唯一标识将所述待检测接口及所述待检测接口对应的待测试项目文本进行关联;
S32、利用预设的接口测试工具将关联后的待测试项目文本转化为所述测试脚本。
其中,所述待测试项目文本可以看作测试用例集,该测试用例集主要是用来检测待检测接口的功能及结构是否正常,由于每一个待检测接口会有多个测试用例,利用所述唯一标识可以将所述待检测接口与对应的待测试项目文本相对应,可以保证接口测试的准确性。
本发明一实施例中,所述预设的接口测试工具可以为jmeter、postman等接口测试工具,所述接口测试工具可以根据待检测接口及待检测项目文本生成测试脚本。
进一步地,本发明实施例通过利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,可以利用可执行文件替代测试服务器实现本地测试,不需要调用测试服务器提供的API接口进行接口调用、参数构造及响应数据处理等,即不需要使用测试服务器的CPU资源,还解决了无法同时测量数量较大的数据问题。
详细地,所述利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,包括:
获取所述可执行文件的生成指令,根据所述生成指令预设的脚本转化工具将所述测试脚本进行编译,生成汇编文件;将所述汇编文件与存储所述汇编文件的数据库进行链接,生成可执行文件。
其中,所述生成指令可以为预设的第三方库(如pyinstaller)发出的指令,所述预设的脚本转化工具可以为pyinstaller工具,主要作用是根据pyinstaller的命令生成可执行文件。
本发明一实施例中,所述编译是指对测试脚本执行的词法分析、语法分析、语义分析、符号汇总等操作,可以确定哪一个字符串是一个单词符号,并检查测试脚本中代码的规范性及语法错误等,便于及时进行修订。
进一步地,本发明实施例将所述汇编文件与存储所述汇编文件的数据库进行链接,主要作用是将待测试项目需要的汇编文件和该汇编文件所依赖的数据库链接起来才能形成可执行的文件,其中所述链接可以通过pyinstaller工具中的链接模块执行。
S4、传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
本发明实施例中,所述测试结果是指待测试项目执行本地测试的结果,待测试应用的软件或应用的测试结果。所述本地测试是指在本地的操作系统上安装本地的软件或应用的测试。
进一步地,本发明实施例通过传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,可以实现将可执行文件替代测试服务器进行本地测试,避免使用测试服务器的CPU资源,节约了大量成本,并实现去中心化,仅需通过可执行文件进行测试,提高了本地测试的测试效率。
详细地,所述传输所述待测试项目文本及所述测试规则至所述可执行文件中,包括:
将所述待测试项目及所述测试规则打包成报文,将所述报文传输至所述可执行文件中。
其中,由于待测试项目及测试规则涉及的数量级较大,在传输过程中,需要分段并编号进行传输,将所述待测试项目及所述测试规则打包成报文可以将待测试项目及所述测试规则作为一个完整的事件或数据信息直接网络传输至可执行文件中,提高了传输速率。
进一步地,所述根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,包括:
利用预设的虚拟机生成测试环境;在所述测试环境中,根据所述可执行文件运行所述待测试项目,并通过所述可执行文件返回测试结果。
其中,通过预设的虚拟机(VM,Virtual Machine)生成测试环境,可以保证待测试项目单独在一个环境下运行,保密性较强,以提高本地测试的安全性。
本发明一实施例中,得到所述测试之后,将测试结果保存至预设的数据库服务器中,以便于后续测试人员的查验。
本发明实施例中,首先通过获取待测试项目,并将所述项目文本进行预处理操作,得到待测试项目文本可以避免由于项目文本格式不正确及文本过长引起的测试问题,提高数据质量;其次,基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,可以利用可执行文件替代测试服务器实现本地测试,解决无法同时测量数量较大的数据问题;最后,传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,可以实现将可执行文件替代测试服务器进行本地测试,避免使用测试服务器的CPU资源,节约了大量成本,且仅需通过可执行文件进行测试,提高了本地测试的测试效率。因此本发明实施例提出的本地测试方法可以提高本地测试的测试效率。
本发明所述大数据排序装置100可以安装于电子设备中。根据实现的功能,所述大数据排序装置可以包括测试项目获取模块101、文本处理模块102、可执行文件生成模块103、本地测试模块104,本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述测试项目获取模块101,用于获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口。
本发明实施例中,所述待测试项目是指待测试的软件或应用,比如,在客服坐席与客户沟通过程中,待测试项目可以为测试客服坐席与客户的对话中是否存在违规对话,其中,所述待测试项目包括项目文本、测试规则及待检测接口。
本发明实施例中,所述项目文本是指待测试项目中涉及的所有文本,比如,坐席客服与客户间的所有对话文本;所述测试规则是指根据预设的测试条件构建的规则,可以基于实际业务确定测试逻辑,比如,在客服对话的违规测试中,该测试条件可以为客服与客户对话中涉及的违规对话,其中,违规对话包括但不限于客服泄露客户信息、客户投诉客服成功或客服违背自己的承诺等。
本发明实施例中,所述待检测接口是指用来连接待测试项目中的不同部分,包括接口名及接口参数,该接口参数包括待测试接口的输入参数、调用结果返回值及测试结果。具体的,输入参数指的是待测试接口运行时所需要输入的参数。调用结果返回值指的是待测试接口运行过程是否成功的表征参数。测试结果指的是待测试接口进行测试后的测试结果,且待测试接口可以基于不同的业务场景进行设定,例如,根据接口请求内容不同设定的接口、根据接口字段类型不同设定的接口等。
作为本发明的一个实施例,所述测试项目获取模块101通过执行下述操作获取待测试项目,包括:
查找所述待测试项目在预设的数据库服务器中的存储路径;根据所述存储路径从所述预设的数据库服务器中获取所述待测试项目。
其中,所述预设的数据库服务器是指存储待测试项目、测试规则及待测试项目对应的开发环境的数据库,比如,待测试项目涉及的开发环境为Java开发环境、Python开发环境及C语言开发环境等。
所述测试项目获取模块101还用于:
所述获取待测试项目之后,将所述项目文本看作测试用例集,利用所述待检测接口对所有关联的测试用例集中的测试用例进行检测;若其中一个测试用例通过检测,则确定所述测试用例结果为测试通过;若其中一个测试用例不通过检测,则确定所述测试用例结果为测试不通过。
其中,所述测试用例集是根据接口的功能和参数从业务流程、请求内容结构及参数合法性三方面设计的用例,且所述测试用例可以用来判断待检测接口是否正常,若测试用例通过,则确定待检测接口正常,若测试用例不通过,则确定待检测接口异常,对于异常的待检测接口可以及时显示至开发人员进行检查并及时修复该接口,保证后续本地测试的正常运行。
所述文本处理模块102,用于将所述项目文本进行预处理操作,得到待测试项目文本。
本发明实施例中,由于项目文本通常为长篇的文本格式,无法直接通过待检测接口进行调取,所以通过将项目文本进行预处理操作,得到可以直接通过接口调取的待测试项目文本。
本发明实施例中,所述将所述项目文本进行预处理操作,得到待测试项目文本,可以避免由于项目文本格式不正确及文本过长引起的测试问题,提高数据质量。
作为本发明的一个实施例,文本处理模块102通过执行下述操作将所述项目文本进行预处理操作,得到待测试项目文本,包括:
对所述项目文本进行数据清洗,得到清洗项目数据;对所述清洗项目数据进行滑窗操作,得到待测试项目文本。
其中,所述数据清洗可以将项目文本中的噪声数据和无关数据进行去除,并完善遗漏数据和脏数据的清洗,使得清洗过的数据完整性更好。
本发明一实施例中,所述滑窗操作是指根据设定的单位长度对清洗项目数据进行切分,且切分后的每段文本都是完整的句子,且滑窗操作还可以用于后续本地测试中的流量控制,保证测试的持续进行。
所述可执行文件生成模块103,用于基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件。
本发明实施例中,所述测试脚本是指对待测试项目文本进行测试时的测试源代码。所述可执行文件是指由操作系统进行加载执行的文件,可以针对不同操作系统或不同计算机语言编译对应的可执行文件,另外,由于生成的可执行文件很难进行反编译,且可执行文件仅在内网中传输,因此待测试项目的源码安全性可以得到保障。
本发明实施例通过基于待检测接口及所述待测试项目文本生成测试脚本,可以便于后续生成测试脚本的可执行文件。
作为本发明的一个实施例,所述可执行文件生成模块103通过执行下述操作基于待检测接口及所述待测试项目文本生成测试脚本,包括:
生成所述待检测接口的唯一标识,利用所述唯一标识将所述待检测接口及所述待检测接口对应的待测试项目文本进行关联;
利用预设的接口测试工具将关联后的待测试项目文本转化为所述测试脚本。
其中,所述待测试项目文本可以看作测试用例集,该测试用例集主要是用来检测待检测接口的功能及结构是否正常,由于每一个待检测接口会有多个测试用例,利用所述唯一标识可以将所述待检测接口与对应的待测试项目文本相对应,可以保证接口测试的准确性。
本发明一实施例中,所述预设的接口测试工具可以为jmeter、postman等接口测试工具,所述接口测试工具可以根据待检测接口及待检测项目文本生成测试脚本。
进一步地,本发明实施例通过利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,可以利用可执行文件替代测试服务器实现本地测试,不需要调用测试服务器提供的API接口进行接口调用、参数构造及响应数据处理等,即不需要使用测试服务器的CPU资源,还解决了无法同时测量数量较大的数据问题。
详细地,所述利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,包括:
获取所述可执行文件的生成指令,根据所述生成指令预设的脚本转化工具将所述测试脚本进行编译,生成汇编文件;将所述汇编文件与存储所述汇编文件的数据库进行链接,生成可执行文件。
其中,所述生成指令可以为预设的第三方库(如pyinstaller)发出的指令,所述预设的脚本转化工具可以为pyinstaller工具,主要作用是根据pyinstaller的命令生成可执行文件。
本发明一实施例中,所述编译是指对测试脚本执行的词法分析、语法分析、语义分析、符号汇总等操作,可以确定哪一个字符串是一个单词符号,并检查测试脚本中代码的规范性及语法错误等,便于及时进行修订。
进一步地,本发明实施例将所述汇编文件与存储所述汇编文件的数据库进行链接,主要作用是将待测试项目需要的汇编文件和该汇编文件所依赖的数据库链接起来才能形成可执行的文件,其中所述链接可以通过pyinstaller工具中的链接模块执行。
所述本地测试模块104,用于传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
本发明实施例中,所述测试结果是指待测试项目执行本地测试的结果,待测试应用的软件或应用的测试结果。所述本地测试是指在本地的操作系统上安装本地的软件或应用的测试。
进一步地,本发明实施例通过传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,可以实现将可执行文件替代测试服务器进行本地测试,避免使用测试服务器的CPU资源,节约了大量成本,并实现去中心化,仅需通过可执行文件进行测试,提高了本地测试的测试效率。
详细地,所述传输所述待测试项目文本及所述测试规则至所述可执行文件中,包括:
将所述待测试项目及所述测试规则打包成报文,将所述报文传输至所述可执行文件中。
其中,由于待测试项目及测试规则涉及的数量级较大,在传输过程中,需要分段并编号进行传输,将所述待测试项目及所述测试规则打包成报文可以将待测试项目及所述测试规则作为一个完整的事件或数据信息直接网络传输至可执行文件中,提高了传输速率。
进一步地,所述本地测试模块104通过执行下述操作根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,包括:
利用预设的虚拟机生成测试环境;在所述测试环境中,根据所述可执行文件运行所述待测试项目,并通过所述可执行文件返回测试结果。
其中,通过预设的虚拟机(VM,Virtual Machine)生成测试环境,可以保证待测试项目单独在一个环境下运行,保密性较强,以提高本地测试的安全性。
本发明一实施例中,得到所述测试之后,将测试结果保存至预设的数据库服务器中,以便于后续测试人员的查验。
本发明实施例中,首先通过获取待测试项目,并将所述项目文本进行预处理操作,得到待测试项目文本可以避免由于项目文本格式不正确及文本过长引起的测试问题,提高数据质量;其次,基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,可以利用可执行文件替代测试服务器实现本地测试,解决无法同时测量数量较大的数据问题;最后,传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,可以实现将可执行文件替代测试服务器进行本地测试,避免使用测试服务器的CPU资源,节约了大量成本,且仅需通过可执行文件进行测试,提高了本地测试的测试效率。因此本发明实施例提出的本地测试装置可以提高本地测试的测试效率。
如图4所示,是本发明实现本地测试方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如本地测试程序。
其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如本地测试程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如本地测试程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(PerIPheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的本地测试程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
将所述项目文本进行预处理操作,得到待测试项目文本;
基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
将所述项目文本进行预处理操作,得到待测试项目文本;
基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种本地测试方法,其特征在于,所述方法包括:
获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
将所述项目文本进行预处理操作,得到待测试项目文本;
基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
2.如权利要求1所述的本地测试方法,其特征在于,所述基于待检测接口及所述待测试项目文本生成测试脚本,包括:
生成所述待检测接口的唯一标识,利用所述唯一标识将所述待检测接口及所述待检测接口对应的待测试项目文本进行关联;
利用预设的接口测试工具将关联后的待测试项目文本转化为所述测试脚本。
3.如权利要求1所述的本地测试方法,其特征在于,所述利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件,包括:
获取所述可执行文件的生成指令,根据所述生成指令预设的脚本转化工具将所述测试脚本进行编译,生成汇编文件;
将所述汇编文件与存储所述汇编文件的数据库进行链接,生成可执行文件。
4.如权利要求1所述的本地测试方法,其特征在于,所述获取待测试项目之后,所述方法还包括:
将所述项目文本看作测试用例集,利用所述待检测接口对所有关联的测试用例集中的测试用例进行检测;
若其中一个测试用例通过检测,则确定所述测试用例结果为测试通过;
若其中一个测试用例不通过检测,则确定所述测试用例结果为测试不通过。
5.如权利要求1所述的本地测试方法,其特征在于,所述将所述项目文本进行预处理操作,得到待测试项目文本,包括:
对所述项目文本进行数据清洗,得到清洗项目数据;
对所述清洗项目数据进行滑窗操作,得到待测试项目文本。
6.如权利要求1所述的本地测试方法,其特征在于,所述根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果,包括:
利用预设的虚拟机生成测试环境;
在所述测试环境中,根据所述可执行文件运行所述待测试项目,并通过所述可执行文件返回测试结果。
7.如权利要求1所述的本地测试方法,其特征在于,所述获取待测试项目,包括:
查找所述待测试项目在预设的数据库服务器中的存储路径;
根据所述存储路径从所述预设的数据库服务器中获取所述待测试项目。
8.一种本地测试装置,其特征在于,所述装置包括:
测试项目获取模块,用于获取待测试项目,其中,所述待测试项目包括项目文本、测试规则及待检测接口;
文本处理模块,用于将所述项目文本进行预处理操作,得到待测试项目文本;
可执行文件生成模块,用于基于待检测接口及所述待测试项目文本生成测试脚本,利用预设的脚本转化工具,将所述测试脚本进行编译,生成可执行文件;
本地测试模块,用于传输所述待测试项目文本及所述测试规则至所述可执行文件中,并根据所述可执行文件执行所述待测试项目的本地测试,得到所述待测试项目的测试结果。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的本地测试方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的本地测试方法。
CN202210813196.0A 2022-07-11 2022-07-11 本地测试方法、装置、设备及存储介质 Pending CN115357474A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210813196.0A CN115357474A (zh) 2022-07-11 2022-07-11 本地测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210813196.0A CN115357474A (zh) 2022-07-11 2022-07-11 本地测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115357474A true CN115357474A (zh) 2022-11-18

Family

ID=84031213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210813196.0A Pending CN115357474A (zh) 2022-07-11 2022-07-11 本地测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115357474A (zh)

Similar Documents

Publication Publication Date Title
US8875110B2 (en) Code inspection executing system for performing a code inspection of ABAP source codes
CN113238929B (zh) 基于Mock数据的代码测试方法、装置、电子设备及存储介质
CN112506779A (zh) 软件接口测试方法、装置、电子设备及存储介质
CN112559337A (zh) 代码覆盖率测试方法、装置、电子设备及存储介质
CN113051171A (zh) 接口测试方法、装置、设备及存储介质
CN113377661A (zh) 接口测试方法、装置、电子设备及存储介质
CN112527664A (zh) 生成测试用例的方法、装置、电子设备及存储介质
CN112650670A (zh) 应用测试方法、装置、系统、电子设备和存储介质
CN112631903A (zh) 任务测试方法、装置、电子设备及存储介质
CN114880238A (zh) 移动端界面测试方法、装置、设备及存储介质
CN112579475A (zh) 代码测试方法、装置、设备及可读存储介质
CN114385497A (zh) 测试环境生成方法、装置、电子设备及存储介质
CN112732567B (zh) 基于ip的mock数据测试方法、装置、电子设备及存储介质
CN115033489A (zh) 代码资源检测方法、装置、电子设备及存储介质
CN115357474A (zh) 本地测试方法、装置、设备及存储介质
CN114896164A (zh) 接口优化方法、装置、电子设备及存储介质
CN113505079A (zh) 应用程序测试方法、装置、设备及介质
CN114036068A (zh) 基于隐私安全的更新检测方法、装置、设备及存储介质
CN113961475B (zh) 基于规约导向的错误处理缺陷的检测方法及系统
CN111400190A (zh) 自动化测试流程生成方法、装置及计算机可读存储介质
CN111538770B (zh) 数据监控方法、装置、电子设备及可读存储介质
CN113360398B (zh) 混合应用程序测试方法、装置、设备及介质
CN114564413B (zh) 一种同步设备测试方法及装置
CN115328812B (zh) 基于网络爬虫的ui界面测试方法、装置、设备及介质
CN117290257B (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