CN108776640A - 分布式测试方法、装置、计算机设备和存储介质 - Google Patents

分布式测试方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN108776640A
CN108776640A CN201810427874.3A CN201810427874A CN108776640A CN 108776640 A CN108776640 A CN 108776640A CN 201810427874 A CN201810427874 A CN 201810427874A CN 108776640 A CN108776640 A CN 108776640A
Authority
CN
China
Prior art keywords
test
function module
tested
module
business
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
CN201810427874.3A
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 Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
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 Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201810427874.3A priority Critical patent/CN108776640A/zh
Publication of CN108776640A publication Critical patent/CN108776640A/zh
Pending legal-status Critical Current

Links

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
    • 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/3696Methods or tools to render software testable

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为一个实施例中业务测试装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的业务测试方法,可以应用于如图1所示的应用环境中。其中,用户可以对终端进行操作。首先终端对被测业务进行拆分得到多个功能模块,并输出该得到的功能模块,用户可以选择其中一个功能模块进行测试,获取该功能的测试数据,将测试数据输入至该功能模块得到测试结果,从而可以根据该测试结果判断该功能模块是否存在漏洞,实现了对被测业务的某一个功能模块进行测试,而不需要对被测业务进行完整的测试,且可以增强被测业务的可测试性以及更加精确地定位被测业务的问题。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种业务测试方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202:根据被测业务的业务逻辑将被测业务进行拆分得到至少一个功能模块,并输出至少一个功能模块。
具体地,终端可以根据被测业务的业务逻辑将被测业务进行拆分得到功能模块,例如根据被测业务的处理逻辑进行拆分,该处理逻辑可以根据代码逻辑获取。例如可以首先基于服务设计阶段的流程图获取到代码的逻辑,获取代码逻辑中数据和算法的关系,再根据代码逻辑以及数据和算法的关系将被测业务进行分割。功能模块为被测业务代码中可以独立实现某一功能的代码的集合,通过被测业务所有的功能模块进行组合即可得到实现该被测业务的代码。
其中以通过JS(javaScript,脚本语言)爬取H5(html5,万维网的核心语言)邮箱账单业务为例进行说明,其中JS爬取H5邮箱账单主要涉及到三个功能,第一通过JS对账单进行爬取,第二将数据回传,第三将回传的数据落地。根据服务设计阶段的流程图可以获取到代码逻辑,再根据代码逻辑即可将该业务拆分为多个功能模块。
终端在将被测业拆分为至少一个功能模块后,可以将该些功能模块输出到选择界面,从而用户可以根据需要选择其中某一个模块进行测试,参见图3,图3为一个实施例中选择界面的界面图。该选择界面包括三个功能模块,爬取模块、数据回传模块以及数据落地模块,在其他实施例中,还可以包括多个功能模块。
S204:接收输入的针对功能模块的测试指令。
具体地,当需要对被测业务进行测试时,则从选择界面中选择需要测试的功能模块,例如可以点击其中一个功能模块以实现对该功能模块的选中。
S206:获取与测试指令对应的测试数据,并将测试数据输入至功能模块中得到测试结果。
具体地,测试数据为所选择的功能模块对应的测试数据,而非被测业务的整体测试数据,该测试数据可以是用户预先设置的,也可以是根据历史测试所截取到的测试数据。当获取到测试数据后,则将该测试数据作为所选择的功能模块的输入数据输入到所选择的功能模块中,并获取所选择的功能模块的输出数据作为测试结果。
S208:将测试结果与标准结果进行比对。
具体地,可以预先设置与测试数据对应的标准结果,从而当测试完成后,可以将测试结果与标准结果进行比对,以确定测试是否通过。其中该标准结果是与测试数据对应的测试结果,其表征了测试通过,可选地,该标准结果可以是用户预先设置的,也可以是对测试结果为正确的历史测试进行截取得到的标准结果。
S210:当测试结果与标准结果不相同时,则判定功能模块存在漏洞。
具体地,终端在获取到测试结果后,与标准结果进行比对,如果测试结果与标准结果不相同,则表明该功能模块存在漏洞,会导致被测业务功能异常。
仍以上述通过JS爬取H5邮箱账单业务为例进行说明,其中对数据回传模块进行测试,首先回去到数据回传模块的测试数据和标准结果,该标准结果与测试数据相同,即在经过数据回传模块,数据不会产生丢失或被篡改。将测试数据输入至数据回传模块,并获取到数据回传模块所得到的输出数据,即测试结果,将该测试结果与标准结果对比,如果测试结果与标准结果不同,即在数据回传过程中产生了数据丢失或篡改,表明该功能模块存在漏洞,需要进一步开发。
上述业务测试方法,过将被测业务拆分成若干功能模块,并对用户感兴趣的功能模块进行测试,即通过接收用户输入的针对拆分后的某一功能模块的测试指令,可以加强软件的可测试性及更精准的定位软件问题,不需要对被测业务进行完整的测试,大大减少测试量。
在其中一个实施例中,输出至少一个功能模块可以包括:将至少一个功能模块按照被测业务的业务逻辑的顺序进行输出。从而接收输入的针对功能模块的测试指令之后,还可以包括:获取输出顺序位于测试指令对应的功能模块之前的功能模块;当位于测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于测试指令对应的功能模块之前的功能模块的测试提示。
具体地,结合图3,终端输出功能模块可以是按照被测业务的业务逻辑的顺序进行输出,即图3中的三个功能模块可以按照被测业务的业务逻辑的顺序进行排列,爬取模块在先,数据回传模块和数据落地模块在后。从而终端在接收到用户对功能模块的选择指令后,可以获取到所选择的功能模块之前的功能模块,并判断该之前的功能模块是否已判定为不存在漏洞,如果是,则继续获取与测试指令对应的测试数据,否则提示用户需要对之前的功能模块首先进行测试。这样可以保证测试人员及用户按照预设顺序对功能模块进行排查,防止测试人员没有按照逻辑进行排查,导致排查工作量增加。
例如,当用户选择对数据回传模块进行功能测试时,终端则首先获取到数据回传模块之前的爬取模块,并判断该爬取模块是否已经进行了测试,如果没有,则提示用户首先对该爬取模块进行测试,当用户坚持对该数据回传模块进行测试时,即用户忽略首先对爬取模块进行测试的提示,终端可以继续根据用户的指令对数据回传模块进行测试,但为了方便用户判断未进行测试的功能模块,可选地,如图3,当某一功能模块已经测试后,则可以将该功能模块进行标记,例如高亮、标注颜色等,从而将未进行测试的功能模块和已进行测试的功能模块进行区分,从而防止测试一遍的功能模块还进行多次测试排查,导致工作量增加。
上述实施例中,将功能模块按照被测业务的逻辑顺序输出,方便用户了解被测业务的逻辑,且当用户选择某一功能模块时,还可以根据用户选择的功能模块以及被测业务的逻辑顺序对用户进行提示,保证测试人员按照顺序对功能模块进行排查,防止测试人员没有逻辑排查,导致排查工作量增大。
在其中一个实施例中,输出至少一个功能模块可以包括:对被测业务进行测试;当被测业务存在漏洞时,则输出至少一个功能模块。
具体地,该功能模块的测试可以是在被测业务进行完整的测试之后,例如首先对被测业务进行测试,当被测业务出现错误的时候,通过对功能模块的测试来进行问题排查,从而可以准确地获取到测试失败的功能模块,有针对性地对该功能模块进行再次开发。
当再次开发完成后,用户可以首先针对该功能模块进行测试,当该功能模块测试成功后,则再进行完整测试,以判断被测业务是否还存在其他的漏洞。
该方法中可以直接对被测业务进行完整的测试,只有测试出错才会接收用户输入的针对拆分后的某一功能模块的测试指令,从而有针对性地确定是被测业务的哪一个功能模块出现错误;或者也可以直接接收用户输入的针对拆分后的某一功能模块的测试指令,这样直接进行有针对性的测试,获得某个功能模块的功能是否正确,例如可以是在出错后,对该功能模块进行调整后,则只需要针对该功能模块进行再次测试即可,不需要进行完整的测试。
上述实施例中,将针对模块一功能模块的测试作为被测业务的排查手段,有针对性地对功能模块进行排查,可以进一步提高排查效率。
在其中一个实施例中,判定功能模块存在漏洞之后,可以包括:获取功能模块的漏洞标识,并将漏洞标识与功能模块进行关联存储。从而当被测业务存在漏洞时,则输出至少一个功能模块,可以包括:当被测业务存在漏洞时,则获取漏洞标识;获取与漏洞标识对应的功能模块,并输出所获取到的功能模块。
具体地,当判定功能模块存在漏洞后,可以检测到被测业务的漏洞的漏洞标识,即被测业务存在漏洞时,则对功能模块进行排查,当排查到某一功能模块存在漏洞时,则表示该漏洞与该功能模块相关联,则将该功能模块与该漏洞的漏洞标识进行关联存储。当下一次被测业务存在漏洞时,则获取到被测业务的漏洞标识,从而查询与该漏洞标识对应的功能模块,并输出即可,这样可以减少用户的排查范围,从而进一步提高了确定漏洞的效率。
在实际应用中,在针对被测业务的完整测试存在漏洞后,则可以对该被测业务进行功能模块的测试,即在接收用户输入的针对拆分后的某一功能模块的测试指令之后,如果该功能模块的测试结果表示该功能模块存在漏洞,则将该功能模块与该错误测试结果(被测业务的完整测试时的测试结果)的映射关系进行存储。在每次完整测试出现漏洞时,则将该出现漏洞的漏洞标识与已存储的映射关系进行比对,当映射关系中存在与该完成测试的漏洞标识对应的功能模块时,则获取该功能模块,并将该功能模块输出以提示用户该功能模块可能出现问题,从而所接收的用户输入的针对拆分后的某一功能模块的测试指令是根据终端输出的可能出现的功能模块中选择的,而不需要用户按照顺序一个一个的排查,减少了工作量,提高了工作效率。
上述实施例中,预先存储完整测试时的漏洞与功能模块的关联关系,当完整测试存在漏洞时,则可以直接获取到与该漏洞的漏洞标识对应的功能模块并输出给用户,从而不需要用户按照顺序一个一个的排查,减少了工作量,提高了工作效率。
在其中一个实施例中,上述方法中获取与该功能模块对应的测试数据的步骤,即获取到的测试数据可以有两种方式:一种是用户预先设置的,即预先设置各个功能模块的数据,将该些数据存储到数据库中,当需要测试该功能模块的功能时,则直接根据功能模块的模块名称从数据库中调取到该测试数据即可,即上述获取与测试指令对应的测试数据,包括:从预设测试数据库中,获取与测试指令对应的测试数据。另外一种是基于历史测试获取到的测试数据,例如在完整测试时,记录每一个功能模块的测试结果,即每一个功能模块的输出数据和输入数据,从而接收用户输入的针对拆分后的某一功能模块的测试指令时,则直接根据功能模块的名称调用该些输入数据作为测试数据。即上述方法中还包括当被测业务不存在漏洞时,则存储被测业务的测试数据,从而获取与测试指令对应的测试数据,可以包括:从所存储的被测业务的测试数据中,选取与测试指令对应的测试数据。
具体地,仍以上述通过JS爬取H5邮箱账单业务为例进行说明,预先将JS爬取H5邮箱账单服务进行拆分,得到3个功能模块,一个是通过JS进行爬取;二是数据回传;三是数据落地。然后进行测试,第一步可以采用技术手段使用tampermonkey(一款免费的浏览器扩展和用户脚本管理器),将被测JS脚本加载到本地,从而可以在终端模拟手机端的H5邮箱(存储有输入数据A)爬取操作,爬取到的数据(第一输出数据A1)为json格式,使用JS打印语句将爬取到的数据进行存储;第二步将将爬取到的数据(第一输出数据A1)作为输入数据,调用中数据回传的功能,将数据传递给关联方,将调用的接口名称、接口入参及返回结果打印在日志系统中(第二输出数据A2);第三步调用业务中的落地功能,将传递过来的数据(第二输出数据A2)进行最后的落地,即将数据(第三输出数据A3)存储至落地表中。因此在分步测试时,可以直接获取到输入数据作为第一个功能模块的输入,第一输出数据A1作为第二功能模块的输入,第二输出数据A2作为第三功能模块的输入,这样可以准确地获取到对应的测试数据,且由于分模块测试,只需要比较每个模块的测试结果与输入是否一致即可判断该模块功能是否正确,因此前一个模块的输出错误,并不会影响后续模块的测试。该测试可以是在某一功能模块调整后,则只需要对该功能模块进行测试,因此获取到历史测试数据以对该功能模块进行测试即可。
上述的实施例中,用户可以直接针对感兴趣的功能模块进行测试,例如可以通过预先设置好的测试数据进行测试,或者根据以前的正确的整体测试时所存储的中间测试数据进行测试。或者可以是在整体测试出现问题后,进行排错测试时,用户直接选取可能出现错误的功能模块进行测试,该测试也可以是通过预先设置好的测试数据进行测试,或者根据以前的正确的整体测试时所存储的中间测试数据进行测试,该排错测试时,可以限制用户只能根据功能模块的逻辑顺序依次进行模块测试,以进行排错,或者是可以根据以往经验,直接选取最有可能导致该错误的模块进行模块测试,其中以往经验可以是通过已存储的映射关系进行的,即将以往中错误的测试结果以及错误的测试结果对应的模块的映射关系进行存储,从而当出现了错误的测试结果时,可以直接根据映射关系库输出可能存在错误的模块的提示,用户根据该提示进行错误排查,提高排查的速度。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种分布式测试装置,包括:拆分模块100、测试指令接收模块200、功能测试模块300、结果比对模块400和输出模块500,其中:
拆分模块100,用于根据被测业务的业务逻辑将被测业务进行拆分得到至少一个功能模块,并输出至少一个功能模块。
测试指令接收模块200,用于接收输入的针对功能模块的测试指令。
功能测试模块300,用于获取与测试指令对应的测试数据,并将测试数据输入至功能模块中得到测试结果。
结果比对模块400,用于将测试结果与标准结果进行比对。
输出模块500,用于当测试结果与标准结果不相同时,则判定功能模块存在漏洞。
在其中一个实施例中,拆分模块100还用于将功能模块按照被测业务的业务逻辑的顺序进行输出。
测试指令接收模块200还用于获取输出顺序位于测试指令对应的功能模块之前的功能模块;当位于测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于测试指令对应的功能模块之前的功能模块的测试提示。
在其中一个实施例中,拆分模块100可以包括:
业务测试单元,用于对被测业务进行测试。
拆分单元,用于当被测业务存在漏洞时,则输出至少一个功能模块。
在其中一个实施例中,,装置还包括:
关联存储模块,用于获取被测业务的漏洞标识,并将漏洞标识与功能模块进行关联存储。
拆分模块100包括:
漏洞标识获取单元,用于当被测业务存在漏洞时,则获取漏洞标识。
输出单元,用于获取与漏洞标识对应的功能模块,并输出所获取到的功能模块。
在其中一个实施例中,装置还包括:
测试数据存储模块,用于当被测业务不存在漏洞时,则存储被测业务的测试数据。
功能测试模块300还用于从所存储的被测业务的测试数据中,选取与测试指令对应的测试数据。
在其中一个实施例中,功能测试模块300还用于从预设测试数据库中,获取与测试指令对应的测试数据。
关于业务测试装置的具体限定可以参见上文中对于业务测试方法的限定,在此不再赘述。上述业务测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种业务测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:根据被测业务的业务逻辑将被测业务进行拆分得到至少一个功能模块,并输出至少一个功能模块;接收输入的针对功能模块的测试指令;获取与测试指令对应的测试数据,并将测试数据输入至功能模块中得到测试结果;将测试结果与标准结果进行比对;当测试结果与标准结果不相同时,则判定功能模块存在漏洞。
在一个实施例中,处理器执行计算机程序时所实现的输出至少一个功能模块,可以包括:将至少一个功能模块按照被测业务的业务逻辑的顺序进行输出;则处理器执行计算机程序时所实现的接收输入的针对功能模块的测试指令之后,还可以包括:获取输出顺序位于测试指令对应的功能模块之前的功能模块;当位于测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于测试指令对应的功能模块之前的功能模块的测试提示。
在一个实施例中,处理器执行计算机程序时所实现的输出至少一个功能模块可以包括:对被测业务进行测试;当被测业务存在漏洞时,则输出至少一个功能模块。
在一个实施例中,处理器执行计算机程序时所实现的判定功能模块存在漏洞之后,可以包括:获取被测业务的漏洞标识,并将漏洞标识与功能模块进行关联存储;则处理器执行计算机程序时所实现的当被测业务存在漏洞时,则输出至少一个功能模块,可以包括:当被测业务存在漏洞时,则获取漏洞标识;获取与漏洞标识对应的功能模块,并输出所获取到的功能模块。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当被测业务不存在漏洞时,则存储被测业务的测试数据;在一个实施例中,处理器执行计算机程序时所实现的获取与测试指令对应的测试数据,可以包括:从所存储的被测业务的测试数据中,选取与测试指令对应的测试数据。
在一个实施例中,处理器执行计算机程序时所实现的获取与测试指令对应的测试数据,可以包括:从预设测试数据库中,获取与测试指令对应的测试数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:根据被测业务的业务逻辑将被测业务进行拆分得到至少一个功能模块,并输出至少一个功能模块;接收输入的针对功能模块的测试指令;获取与测试指令对应的测试数据,并将测试数据输入至功能模块中得到测试结果;将测试结果与标准结果进行比对;当测试结果与标准结果不相同时,则判定功能模块存在漏洞。
在一个实施例中,计算机程序被处理器执行时所实现的输出至少一个功能模块,可以包括:将至少一个功能模块按照被测业务的业务逻辑的顺序进行输出;则计算机程序被处理器执行时所实现的接收输入的针对功能模块的测试指令之后,还可以包括:获取输出顺序位于测试指令对应的功能模块之前的功能模块;当位于测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于测试指令对应的功能模块之前的功能模块的测试提示。
在一个实施例中,计算机程序被处理器执行时所实现的输出至少一个功能模块可以包括:对被测业务进行测试;当被测业务存在漏洞时,则输出至少一个功能模块。
在一个实施例中,计算机程序被处理器执行时所实现的判定功能模块存在漏洞之后,可以包括:获取被测业务的漏洞标识,并将漏洞标识与功能模块进行关联存储;则计算机程序被处理器执行时所实现的当被测业务存在漏洞时,则继续输出至少一个功能模块,可以包括:当被测业务存在漏洞时,则获取漏洞标识;获取与漏洞标识对应的功能模块,并输出所获取到的功能模块。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当被测业务不存在漏洞时,则存储被测业务的测试数据;则计算机程序被处理器执行时所实现的获取与测试指令对应的测试数据,可以包括:从所存储的被测业务的测试数据中,选取与测试指令对应的测试数据。
在一个实施例中,计算机程序被处理器执行时所实现的获取与测试指令对应的测试数据,可以包括:从预设测试数据库中,获取与测试指令对应的测试数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种业务测试方法,所述方法包括:
根据被测业务的业务逻辑将所述被测业务进行拆分得到至少一个功能模块,并输出至少一个所述功能模块;
接收输入的针对所述功能模块的测试指令;
获取与所述测试指令对应的测试数据,并将所述测试数据输入至所述功能模块中得到测试结果;
将所述测试结果与标准结果进行比对;
当所述测试结果与标准结果不相同时,则判定所述功能模块存在漏洞。
2.根据权利要求1所述的方法,其特征在于,所述输出至少一个所述功能模块,包括:
将至少一个所述功能模块按照所述被测业务的业务逻辑的顺序进行输出;
所述接收输入的针对所述功能模块的测试指令之后,还包括:
获取输出顺序位于所述测试指令对应的功能模块之前的功能模块;
当位于所述测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与所述测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于所述测试指令对应的功能模块之前的功能模块的测试提示。
3.根据权利要求1或2所述的方法,其特征在于,所述输出至少一个所述功能模块,包括:
对被测业务进行测试;
当所述被测业务存在漏洞时,则输出至少一个所述功能模块。
4.根据权利要求3所述的方法,其特征在于,所述判定所述功能模块存在漏洞之后,包括:
获取所述被测业务的漏洞标识,并将所述漏洞标识与所述功能模块进行关联存储;
所述当所述被测业务存在漏洞时,则输出至少一个所述功能模块,包括:
当所述被测业务存在漏洞时,则获取所述漏洞标识;
获取与所述漏洞标识对应的功能模块,并输出所获取到的功能模块。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述被测业务不存在漏洞时,则存储所述被测业务的测试数据;
所述获取与所述测试指令对应的测试数据,包括:
从所存储的所述被测业务的测试数据中,选取与所述测试指令对应的测试数据。
6.根据权利要求3所述的方法,其特征在于,所述获取与所述测试指令对应的测试数据,包括:
从预设测试数据库中,获取与所述测试指令对应的测试数据。
7.一种分布式测试装置,其特征在于,所述装置包括:
拆分模块,用于根据被测业务的业务逻辑将所述被测业务进行拆分得到至少一个功能模块,并输出至少一个所述功能模块;
测试指令接收模块,用于接收输入的针对所述功能模块的测试指令;
测试模块,用于获取与所述测试指令对应的测试数据,并将所述测试数据输入至所述功能模块中得到测试结果;
结果比对模块,用于将所述测试结果与标准结果进行比对;
输出模块,用于当所述测试结果与标准结果不相同时,则判定所述功能模块存在漏洞。
8.根据权利要求7所述的装置,其特征在于,所述拆分模块还用于将至少一个所述功能模块按照所述被测业务的业务逻辑的顺序进行输出;
所述测试指令接收模块还用于获取输出顺序位于所述测试指令对应的功能模块之前的功能模块;当位于所述测试指令对应的功能模块之前的功能模块均已判定为不存在漏洞时,则继续获取与所述测试指令对应的测试数据,否则,按照被测业务的业务逻辑的顺序输出针对位于所述测试指令对应的功能模块之前的功能模块的测试提示。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201810427874.3A 2018-05-07 2018-05-07 分布式测试方法、装置、计算机设备和存储介质 Pending CN108776640A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810427874.3A CN108776640A (zh) 2018-05-07 2018-05-07 分布式测试方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810427874.3A CN108776640A (zh) 2018-05-07 2018-05-07 分布式测试方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN108776640A true CN108776640A (zh) 2018-11-09

Family

ID=64027040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810427874.3A Pending CN108776640A (zh) 2018-05-07 2018-05-07 分布式测试方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108776640A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390202A (zh) * 2019-07-30 2019-10-29 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、系统、设备及介质
CN110543315A (zh) * 2019-09-06 2019-12-06 程延辉 一种kbroker分布式操作系统、存储介质和电子设备
CN110737985A (zh) * 2019-10-15 2020-01-31 上海联影医疗科技有限公司 运行数据验证方法、装置、计算机设备和可读存储介质
CN110928765A (zh) * 2019-10-11 2020-03-27 京东数字科技控股有限公司 一种链路测试方法及装置
CN112035617A (zh) * 2020-08-31 2020-12-04 康键信息技术(深圳)有限公司 基于数据比对的系统测试方法、装置、计算机设备和介质
CN112187561A (zh) * 2020-08-19 2021-01-05 深圳市广和通无线股份有限公司 通信模块测试方法、装置、计算机设备和存储介质
CN113271157A (zh) * 2021-05-20 2021-08-17 深圳市通标科技有限公司 一种蓝牙接收灵敏度测试方法、电子设备及存储介质
WO2024093298A1 (zh) * 2022-10-31 2024-05-10 华为云计算技术有限公司 一种测试方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279093A (zh) * 2015-11-26 2016-01-27 上海斐讯数据通信技术有限公司 软件测试方法、装置及设备
CN107451058A (zh) * 2017-07-31 2017-12-08 北京云测信息技术有限公司 一种软件开发方法和装置
CN107480056A (zh) * 2017-07-31 2017-12-15 北京云测信息技术有限公司 一种软件测试方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279093A (zh) * 2015-11-26 2016-01-27 上海斐讯数据通信技术有限公司 软件测试方法、装置及设备
CN107451058A (zh) * 2017-07-31 2017-12-08 北京云测信息技术有限公司 一种软件开发方法和装置
CN107480056A (zh) * 2017-07-31 2017-12-15 北京云测信息技术有限公司 一种软件测试方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390202A (zh) * 2019-07-30 2019-10-29 中国工商银行股份有限公司 用于检测业务逻辑漏洞的方法、装置、系统、设备及介质
CN110543315A (zh) * 2019-09-06 2019-12-06 程延辉 一种kbroker分布式操作系统、存储介质和电子设备
CN110543315B (zh) * 2019-09-06 2021-08-31 程延辉 一种kbroker分布式操作系统、存储介质和电子设备
CN110928765A (zh) * 2019-10-11 2020-03-27 京东数字科技控股有限公司 一种链路测试方法及装置
CN110928765B (zh) * 2019-10-11 2021-08-03 京东数字科技控股有限公司 一种链路测试方法及装置
CN110737985A (zh) * 2019-10-15 2020-01-31 上海联影医疗科技有限公司 运行数据验证方法、装置、计算机设备和可读存储介质
CN112187561A (zh) * 2020-08-19 2021-01-05 深圳市广和通无线股份有限公司 通信模块测试方法、装置、计算机设备和存储介质
CN112035617A (zh) * 2020-08-31 2020-12-04 康键信息技术(深圳)有限公司 基于数据比对的系统测试方法、装置、计算机设备和介质
CN112035617B (zh) * 2020-08-31 2024-06-18 康键信息技术(深圳)有限公司 基于数据比对的系统测试方法、装置、计算机设备和介质
CN113271157A (zh) * 2021-05-20 2021-08-17 深圳市通标科技有限公司 一种蓝牙接收灵敏度测试方法、电子设备及存储介质
WO2024093298A1 (zh) * 2022-10-31 2024-05-10 华为云计算技术有限公司 一种测试方法及装置

Similar Documents

Publication Publication Date Title
CN108776640A (zh) 分布式测试方法、装置、计算机设备和存储介质
CN108595597A (zh) 数据导入方法、装置、计算机设备和存储介质
CN109491891A (zh) 全自动接口压测方法、装置、计算机设备及存储介质
CN103699477B (zh) 压力测试方法及终端
CN109828918A (zh) 应用程序测试方法、装置、计算机设备和存储介质
CN110119352A (zh) 应用程序的ui调试方法、装置、计算机设备和存储介质
CN107154976A (zh) 网站测试方法、装置以及系统
CN109376993A (zh) 流程验证方法、装置、计算机设备和存储介质
CN109710520A (zh) 应用启动耗时测试方法、装置、计算机设备和存储介质
CN110221967A (zh) 测试数据构造方法、装置、计算机设备和存储介质
CN108459964A (zh) 测试用例选择方法、装置、设备以及计算机可读存储介质
CN110135140A (zh) 信息保护方法、装置、计算机设备和存储介质
CN109543073A (zh) 企业供销关系图谱生成方法、装置和计算机设备
CN107133162A (zh) 一种测试方法及装置
CN109669859A (zh) 服务测试方法、装置、计算机设备和存储介质
CN110334303A (zh) 表单校验方法、装置、计算机设备和存储介质
CN110134612A (zh) Ui测试数据生成方法、装置、设备及可读存储介质
CN109491885A (zh) 测试问题定位方法、装置、计算机设备和存储介质
CN106294172B (zh) 基于终端设备的app自测方法和装置
CN111782505A (zh) 列车系统仿真测试方法、装置、计算机设备和存储介质
CN110162453A (zh) 测试方法、装置、计算机可读存储介质和计算机设备
CN109408261A (zh) 应用程序崩溃处理方法、装置、计算机设备和存储介质
CN110297767A (zh) 测试用例自动执行方法、装置、设备及存储介质
CN106682513A (zh) 一种目标样本文件的检测方法和装置
CN107450909A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181109