CN117806943A - 测试方法、装置及存储介质 - Google Patents
测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117806943A CN117806943A CN202211215142.0A CN202211215142A CN117806943A CN 117806943 A CN117806943 A CN 117806943A CN 202211215142 A CN202211215142 A CN 202211215142A CN 117806943 A CN117806943 A CN 117806943A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- tested
- data
- result
- 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 438
- 238000010998 test method Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 102
- 230000005856 abnormality Effects 0.000 claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 238000007689 inspection Methods 0.000 claims abstract description 27
- 238000005516 engineering process Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013522 software testing Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Abstract
本申请提供一种测试方法、装置及存储介质,该方法根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,进而,基于该测试用例,对上述待测试软件进行测试,其中,待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据,从而,对待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对待测试软件的测试过程进行异常分析,即综合测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常,可以发现一些容易被忽略的软件异常,如测试结果正确,但测试过程出现问题时的软件异常,提高软件测试准确率,保障软件的稳定性。
Description
技术领域
本申请涉及软件测试技术领域,尤其涉及一种测试方法、装置及存储介质。
背景技术
近年来,随着软件技术的飞速发展以及软件快速迭代,软件的稳定性变得尤为重要,而软件测试作为保障软件稳定性的关键环节,目的就在于以耗费尽可能少的人力、物力在短时间内尽可能多的找出软件中的异常,以对软件进行修复。
相关技术中,测试人员通常手动编写脚本或服务,然后,基于编写的脚本或服务对软件进行测试,并在测试结束后,基于测试结果确定软件中的异常。
但是,上述软件测试常常会忽略软件中的一些异常,导致软件测试准确率较低。
发明内容
本申请提供一种测试方法、装置及存储介质,以解决现有软件测试准确率较低的问题。
第一方面,本申请实施例提供一种测试方法,包括:
根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例;
基于所述测试用例,对所述待测试软件进行测试,其中,所述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据;
对所述待测试软件的测试结果进行异常检查,并基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析;
根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常。
在一种可能的实现方式中,所述对所述待测试软件的测试结果进行异常检查,包括:
确定所述测试结果中的参数、软件头和软件体;
将所述测试结果中的参数、软件头和软件体,与所述测试用例中的参数、软件头和软件体进行比较,获得所述测试结果的异常检查结果。
在一种可能的实现方式中,所述基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析,包括:
根据所述待测试软件,获得物理资源参考数据、业务指标参考数据和日志参考数据;
将所述物理资源数据、所述业务指标数据和所述日志数据,与所述物理资源参考数据、所述业务指标参考数据和所述日志参考数据进行比较,获得所述测试过程的异常分析结果。
在一种可能的实现方式中,所述根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例,包括:
根据所述待测试软件,确定测试语料,所述测试语料包括协议、文件、网络和数据中的一种或多种;
基于所述测试语料和预设生成策略,生成所述测试用例,所述预设生成策略包括组合生成策略、随机生成策略和变异生成策略中的一种或多种。
在一种可能的实现方式中,在所述基于所述测试语料和预设生成策略,生成所述测试用例之前,还包括:
获取所述待测试软件对应的测试要求;
基于所述测试要求,确定所述预设生成策略。
在一种可能的实现方式中,所述根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常,包括:
将所述测试结果的异常检查结果,以及所述测试过程的异常分析结果发送给预设人员,以使所述预设人员基于所述测试结果的异常检查结果和所述测试过程的异常分析结果,确定所述待测试软件中的异常。
在一种可能的实现方式中,在所述基于所述测试用例,对所述待测试软件进行测试之前,还包括:
构建测试环境;
所述基于所述测试用例,对所述待测试软件进行测试,包括:
在所述测试环境,基于所述测试用例,对所述待测试软件进行测试。
第二方面,本申请实施例提供一种测试装置,包括:
模糊测试模块,用于根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例;
软件测试模块,用于基于所述测试用例,对所述待测试软件进行测试,其中,所述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据;
检查分析模块,用于对所述待测试软件的测试结果进行异常检查,并基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析;
异常确定模块,用于根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常
在一种可能的实现方式中,所述检查分析模块,具体用于:
确定所述测试结果中的参数、软件头和软件体;
将所述测试结果中的参数、软件头和软件体,与所述测试用例中的参数、软件头和软件体进行比较,获得所述测试结果的异常检查结果。
在一种可能的实现方式中,所述检查分析模块,具体用于:
根据所述待测试软件,获得物理资源参考数据、业务指标参考数据和日志参考数据;
将所述物理资源数据、所述业务指标数据和所述日志数据,与所述物理资源参考数据、所述业务指标参考数据和所述日志参考数据进行比较,获得所述测试过程的异常分析结果。
在一种可能的实现方式中,所述模糊测试模块,具体用于:
根据所述待测试软件,确定测试语料,所述测试语料包括协议、文件、网络和数据中的一种或多种;
基于所述测试语料和预设生成策略,生成所述测试用例,所述预设生成策略包括组合生成策略、随机生成策略和变异生成策略中的一种或多种。
在一种可能的实现方式中,所述模糊测试模块,还用于:
获取所述待测试软件对应的测试要求;
基于所述测试要求,确定所述预设生成策略。
在一种可能的实现方式中,所述异常确定模块,具体用于:
将所述测试结果的异常检查结果,以及所述测试过程的异常分析结果发送给预设人员,以使所述预设人员基于所述测试结果的异常检查结果和所述测试过程的异常分析结果,确定所述待测试软件中的异常。
在一种可能的实现方式中,所述软件测试模块,具体用于:
构建测试环境;
在所述测试环境,基于所述测试用例,对所述待测试软件进行测试。
第三方面,本申请实施例提供一种测试设备,包括:
处理器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面所述的方法的指令。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第一方面所述的方法。
本申请实施例提供的测试方法、装置及存储介质,该方法根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,进而,基于该测试用例,对上述待测试软件进行测试,其中,待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据,从而,对待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对待测试软件的测试过程进行异常分析,即综合测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常,可以发现一些容易被忽略的软件异常,如测试结果正确,但测试过程出现问题时的软件异常,解决现有软件测试常常会忽略软件中的一些异常,导致软件测试准确率较低的问题,保障软件的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的测试系统架构示意图;
图2为本申请实施例提供的一种测试方法的流程示意图;
图3为本申请实施例提供的另一种测试方法的流程示意图;
图4为本申请实施例提供的一种软件测试的示意图;
图5为本申请实施例提供的一种与研发流程结合的测试方法的示意图;
图6为本申请实施例提供的一种测试装置的结构示意图;
图7为本申请实施例提供的一种测试设备的基本硬件架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着软件技术的飞速发展以及软件快速迭代,软件的稳定性变得尤为重要,而软件测试作为保障软件稳定性的关键环节。以某公司的基础框架软件为例,任何一个漏洞(bug)都会引起大面积服务异常,因此如何保障软件的稳定性成为一个急需解决的问题。现有技术中通常由测试人员手动编写脚本或服务,然后,基于编写的脚本或服务对软件进行测试,并在测试结束后,基于测试结果确定软件中的异常。但是这种软件测试常常会忽略软件中的一些异常,如测试结果正确,但测试过程出现问题时的软件异常,从而,导致软件测试出错,测试准确率较低。
因此,本申请实施例提出一种测试方法,根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,实现对测试场景更高的覆盖度,一定程度上降低了研发人员自己编写测试脚本的成本,而且综合待测试软件进行测试的测试结果,以及待测试软件在测试过程中的物理资源数据、业务指标数据和日志数据等进行断言,提高断言准确性,从而,准确识别出待测试软件中不符合期望的行为(bug),解决现有软件测试准确率较低的问题,保障软件的稳定性。
可选地,本申请实施例提供的测试方法可应用于公司或者企业涉及到保障软件稳定性的场景。另外,本申请实施例提供的测试方法的应用场景还有很多,例如终端或服务器中保障软件稳定性的场景等等,任何采用本申请测试方法的场景都在本申请的范围内。
示例性的,本申请实施例提供的测试方法可以应用于如图1所示的测试系统中。在图1中,该测试系统架构可以包括服务器101。
在具体实现过程中,服务器101上可以根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,从而,对待测试软件进行测试,综合测试结果,以及待测试软件在测试过程中的物理资源数据、业务指标数据和日志数据等进行断言,确定待测试软件中的异常,提高软件测试的准确率。
可选地,上述测试系统架构还可以包括终端102,服务器101与终端102可通过网络进行通信。此时,服务器101可为与待测试软件相关的服务器,终端102可为部署有该待测试软件的客户端。
其中,终端102可以根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,用该测试用例,对待测试软件进行测试,并基于测试结果,以及待测试软件在测试过程中的物理资源数据、业务指标数据和日志数据等,识别待测试软件中不符合期望的行为(bug),解决现有软件测试准确率较低的问题。
这里,终端可以是个人数字处理(personal digital assistant,简称PDA)设备、具有无线通信功能的手持设备(例如智能手机、平板电脑)、计算设备(例如个人电脑(personal computer,简称PC))、车载设备、可穿戴设备(例如智能手表、智能手环)、智能家居设备(例如智能显示设备)等,图1中以终端为智能手机为例。服务器可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器还可以是各种类别的,例如但不限于网络服务器,应用服务器,或数据库服务器,或代理服务器。
需要进行说明的是,本申请实施例提供的测试方法,可以在同一设备上执行,也可以在不同设备上执行。
下面以几个实施例为例对本申请的技术方案进行描述,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种测试方法的流程示意图,本实施例的执行主体以图1中的服务器为例,具体执行主体可以根据实际应用场景确定,本申请实施例对此不做特别限制。如图2所示,本申请实施例提供的测试方法可以包括如下步骤:
S201:根据模糊测试技术和待测试软件,确定与上述待测试软件对应的测试用例。
其中,上述待测试软件可以根据实际情况确定,例如某公司的基础框架软件。
这里,上述服务器在获取待测试软件后,可以进一步基于该待测试软件和模糊测试技术,确定与该待测试软件对应的测试用例。其中,上述对应可以理解为上述测试用例与上述待测试软件匹配,上述服务器可以利用上述测试用例对上述待测试软件进行测试。
S202:基于上述测试用例,对上述待测试软件进行测试,其中,上述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据。
示例性的,上述服务器在确定与待测试软件对应的测试用例后,可以将上述测试用例作为测试输入,在上述待测试软件上执行测试,得到测试结果。
这里,在基于上述测试用例,对上述待测试软件进行测试之前,上述服务器还可以构建测试环境,从而,在该测试环境,基于上述测试用例,对上述待测试软件进行测试。
其中,上述服务器可以构建默认的测试环境,也可以针对不同的测试需求,构建不同的测试环境,满足多种应用需要,更好的满足各种类型场景测试需求。
另外,本申请实施例可以在终端和/或服务器执行测试,如在终端和/或服务器,利用上述测试用例,对上述待测试软件进行测试,从而,保证各个场景测试覆盖全面,满足实际软件测试需要。
S203:对上述待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析。
S204:根据上述待测试软件的测试结果的异常检查结果,以及上述待测试软件的测试过程的异常分析结果,确定上述待测试软件中的异常。
其中,上述待测试软件在测试过程中的测试数据可以包括物理资源数据(如中央处理器(central processing unit,CPU)性能、延迟等)、业务指标数据(如时间(TIME)、每秒处理请求数(Query Per Second,QPS)等)和日志数据等。
示例性的,上述服务器可以对上述待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析,进而,根据上述待测试软件的测试结果的异常检查结果,以及上述待测试软件的测试过程的异常分析结果,进行断言,确定上述待测试软件中的异常。
本申请实施例综合上述待测试软件进行测试的测试结果,以及上述待测试软件在测试过程中的测试数据,进行断言,确定上述待测试软件中的异常,从而发现一些容易被忽略的软件异常,如测试结果正确,但测试过程出现问题时的软件异常,进而,提高软件测试准确率。
这里,上述服务器在对上述待测试软件的测试结果进行异常检查时,可以先确定上述测试结果中的参数(Param)、软件头(Header)和软件体(Body),然后,将上述测试结果中的参数、软件头和软件体,与上述测试用例中的参数、软件头和软件体进行比较,即将上述测试结果中的参数与上述测试用例中的参数进行比较,将上述测试结果中的软件头与上述测试用例中的软件头进行比较,并将上述测试结果中的软件体与上述测试用例中的软件体进行比较,最后,基于比较结果,获得上述测试结果的异常检查结果。如上述测试结果中的软件头与上述测试用例中的软件头不同,则上述服务器可以基于该不同,确定上述测试结果的异常,进一步地,基于该异常,获得上述测试结果的异常检查结果。
其中,上述服务器基于上述测试结果与上述测试用例比较不同的地方,确定上述测试结果的异常,从而可以准确全面地获得上述测试结果的异常检查结果,提高了后续处理结果的准确率。
同理,上述服务器在基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析时,可以先根据上述待测试软件,获得物理资源参考数据、业务指标参考数据和日志参考数据,然后,将上述物理资源数据、业务指标数据和日志数据,与上述物理资源参考数据、业务指标参考数据和日志参考数据进行比较,即将上述物理资源数据与上述物理资源参考数据进行比较,将上述业务指标数据与上述业务指标参考数据进行比较,并将上述日志数据与上述日志参考数据进行比较,最后,基于比较结果,获得上述测试过程的异常分析结果。
其中,不同的待测试软件对应不同的物理资源参考数据、业务指标参考数据和日志参考数据。本申请实施例在对上述待测试软件的测试过程进行异常分析时,首先基于上述待测试软件,获得与其对应的物理资源参考数据、业务指标参考数据和日志参考数据,然后将上述待测试软件在测试过程中的物理资源数据、业务指标数据和日志数据,与上述物理资源参考数据、业务指标参考数据和日志参考数据进行比较,获得上述待测试软件的测试过程准确全面的异常分析结果,提高后续处理额准确率。
例如以上述物理资源数据为CPU性能为例,上述服务器基于上述待测试软件,获得与其对应的CPU参考性能,然后将上述CPU性能与上述CPU参考性能进行比较,如果上述CPU性能在上述CPU参考性能范围内,则判断CPU性能正常,如果上述CPU性能不在上述CPU参考性能范围内,则判断CPU性能异常,从而基于判断结果,获得上述待测试软件的测试过程的异常分析结果,使得后续基于该异常分析结果,更加准确地确定出上述待测试软件中的异常。
这里,上述服务器在获得上述待测试软件的测试结果的异常检查结果,以及上述待测试软件的测试过程的异常分析结果后,还可以将上述异常检查结果和异常分析结果发送给预设人员,以使预设人员基于上述异常检查结果和异常分析结果,确定上述待测试软件中的异常,及时发现问题并解决,提高软件的稳定性。
在本申请实施例中,上述服务器可以利用模糊测试技术和待测试软件,确定上述测试用例,进而,基于上述测试用例,对上述待测试软件进行测试,实现对测试场景更高的覆盖度,并对待测试软件的测试结果进行异常检查,基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析,从而,根据测试结果的异常检查结果,以及测试过程的异常分析结果,确定待测试软件中的异常。其中,在对上述待测试软件的测试过程进行异常分析时,上述服务器还可以利用智能运维技术,增强了异常分析能力,提高了异常分析结果的准确性,实现异常检查基础上,对物理资源数据、业务指标数据和日志数据进行分析,给出更加准确的结果。
这里,本申请实施例通过模糊测试技术结合智能运维技术,实现对待测试软件的稳定性验证,提高软件测试的准确率。
另外,在确定上述待测试软件中的异常后,上述服务器还可以生成通知或测试报告,并将生成的通知或测试报告发送给相关人员,以便相关人员及时了解软件测试结果,可以基于测试结果进行相应处理。
本申请实施例根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例,进而,基于该测试用例,对上述待测试软件进行测试,其中,待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据,从而,对待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对待测试软件的测试过程进行异常分析,综合测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常,解决现有软件测试常常会忽略软件中的一些异常,导致软件测试准确率较低的问题,保障软件的稳定性。
另外,本申请实施例在根据模糊测试技术和待测试软件,确定与待测试软件对应的测试用例时,可以根据上述待测试软件,确定测试语料,该测试语料包括协议、文件、网络和数据等,进而,基于该测试语料和预设生成策略,生成测试用例,该预设生成策略包括组合生成策略、随机生成策略和变异生成策略等,从而,基于该测试用例,对上述待测试软件进行测试,满足多种应用场景下的软件测试需求,解决现有通过手动编写测试用例,耗时较长、效率较低,导致软件测试效率下降的问题。图3为本申请实施例提出的另一种测试方法的流程示意图。如图3所示,该方法包括:
S301:根据待测试软件,确定测试语料。
其中,上述测试语料可以包括协议、文件、网络、数据等。
这里,上述服务器根据上述待测试软件,确定用于生成与其对应的测试用例的测试语料。
S302:基于上述测试语料和预设生成策略,生成测试用例。
示例性的,上述服务器可以获取上述待测试软件对应的测试要求,进而,基于该测试要求,确定上述预设生成策略。其中,该预设生成策略可以包括组合生成策略、随机生成策略和变异生成策略等。
在本申请实施例中,上述服务器根据上述待测试软件,确定测试语料,然后,基于该测试语料和预设生成策略,生成测试用例,使得后续基于该测试用例,对上述待测试软件进行测试,提高软件测试效率。
S303:基于上述测试用例,对上述待测试软件进行测试,其中,上述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据。
S304:对上述待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析。
S305:根据上述待测试软件的测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常。
其中,步骤S303-S305与上述步骤S202-S204的实现方式类似,此处不再赘述。
本申请实施例根据上述待测试软件,确定测试语料,进而,基于该测试语料和预设生成策略,生成测试用例,从而,基于该测试用例,对上述待测试软件进行测试,满足多种应用场景下的软件测试需求,也解决了现有通过手动编写测试用例,耗时较长、效率较低,导致软件测试效率下降的问题。而且,本申请实施例在对上述待测试软件进行测试后,综合测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常,解决现有软件测试常常会忽略软件中的一些异常,导致软件测试准确率较低的问题,保障软件的稳定性。
另外,如图4所示,图4给出本申请实施例提出的一种软件测试的示意图。上述服务器在进行软件测试之前,首先根据待测试软件,确定测试语料,如协议、文件、网络、数据等,获取上述待测试软件对应的测试要求,基于该测试要求,确定预设生成策略,该预设生成策略可以包括组合生成策略、随机生成策略和变异生成策略等。然后,上述服务器基于上述测试语料和预设生成策略,生成测试用例。
这里,为了保证各个场景测试覆盖全面,可以在终端和/或服务器执行测试,如在终端和/或服务器,利用上述测试用例,对上述待测试软件进行测试,从而,根据上述待测试软件的测试结果,以及上述待测试软件在测试过程中的测试数据,确定上述待测试软件中的异常。
其中,上述待测试软件在测试过程中的测试数据可以包括物理资源数据、业务指标数据和日志数据。本申请实施例对上述待测试软件的测试结果进行异常检查,并基于上述物理资源数据、业务指标数据和日志数据,对上述待测试软件的测试过程进行异常分析,进而,根据上述测试结果的异常检查结果,以及测试过程的异常分析结果,进行断言,确定上述待测试软件中的异常。
另外,在确定上述待测试软件中的异常后,本申请实施例还可以生成通知或测试报告,并将生成的通知或测试报告发送给相关人员,使得相关人员及时了解软件测试结果。
与现有技术相比,本申请实施例基于待测试软件对应的测试语料和预设生成策略,生成测试用例,满足多种应用场景下的软件测试需求,也提高了软件测试效率。而且,本申请实施例综合待测试软件进行测试的测试结果,以及待测试软件在测试过程中的测试数据,从而,准确识别出待测试软件中不符合期望的行为(bug),发现一些容易被忽略的bug,如测试结果正确,但测试过程出现问题对应的bug,解决现有软件测试准确率较低的问题,保障软件的稳定性。
这里,如果本申请实施例提供的测试方法与研发流程相结合可以如图5所示,图5给出本申请实施例提出的一种与研发流程结合的测试方法的示意图。本申请实施例首先通过触发实现与研发流程结合,在MR阶段实现自动触发,在触发后,可以拉取待测试软件的最新版本,进行编译打包,完成待测试软件版本的更新。然后,为了更好地满足各种类型场景测试需求,本申请实施例可以构建默认的测试环境,也可以针对不同的测试需求,构建不同的测试环境。这里,本申请实施例可以将构建的测试环境进行存储,以便后续测试中从存储的测试环境中获取需要的测试环境。而且,本申请实施例还可以固定技术计算环境(Technical Computing Environment,tce),自动化升级,进行任务创建落库等。在进行测试时,本申请实施例可以基于上述待测试软件对应的测试用例,对上述待测试软件进行测试,根据上述待测试软件的测试结果,以及上述待测试软件在测试过程中的测试数据,进行断言,确定上述待测试软件中的异常,提高软件测试准确率。另外,本申请实施例还可以生成通知或测试报告进行存储的,方便相关人员查看。
对应于上文实施例的测试方法,图6为本申请实施例提供的测试装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图6为本申请实施例提供的一种测试装置的结构示意图,该测试装置60包括:模糊测试模块601、软件测试模块602、检查分析模块603以及异常确定模块604。这里的测试装置可以是上述服务器和/或终端本身,或者是实现服务器和/或终端的功能的芯片或者集成电路。这里需要说明的是,模糊测试模块、软件测试模块、检查分析模块以及异常确定模块的划分只是一种逻辑功能的划分,物理上两者可以是集成的,也可以是独立的。
其中,模糊测试模块601,用于根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例。
软件测试模块602,用于基于所述测试用例,对所述待测试软件进行测试,其中,所述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据。
检查分析模块603,用于对所述待测试软件的测试结果进行异常检查,并基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析。
异常确定模块604,用于根据所述待测试软件的测试结果,以及所述待测试软件在测试过程中的测试数据,确定所述待测试软件中的异常。
在一种可能的实现方式中,所述检查分析模块603,具体用于:
确定所述测试结果中的参数、软件头和软件体;
将所述测试结果中的参数、软件头和软件体,与所述测试用例中的参数、软件头和软件体进行比较,获得所述测试结果的异常检查结果。
在一种可能的实现方式中,所述检查分析模块603,具体用于:
根据所述待测试软件,获得物理资源参考数据、业务指标参考数据和日志参考数据;
将所述物理资源数据、所述业务指标数据和所述日志数据,与所述物理资源参考数据、所述业务指标参考数据和所述日志参考数据进行比较,获得所述测试过程的异常分析结果。
在一种可能的实现方式中,所述模糊测试模块601,具体用于:
根据所述待测试软件,确定测试语料,所述测试语料包括协议、文件、网络和数据中的一种或多种;
基于所述测试语料和预设生成策略,生成所述测试用例,所述预设生成策略包括组合生成策略、随机生成策略和变异生成策略中的一种或多种。
在一种可能的实现方式中,所述模糊测试模块601,还用于:
获取所述待测试软件对应的测试要求;
基于所述测试要求,确定所述预设生成策略。
在一种可能的实现方式中,所述异常确定模块604,具体用于:
将所述测试结果的异常检查结果,以及所述测试过程的异常分析结果发送给预设人员,以使所述预设人员基于所述测试结果的异常检查结果和所述测试过程的异常分析结果,确定所述待测试软件中的异常。
在一种可能的实现方式中,所述软件测试模块602,具体用于:
构建测试环境;
在所述测试环境,基于所述测试用例,对所述待测试软件进行测试。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
可选地,图7示意性地提供本申请所述测试设备的一种可能的基本硬件架构示意图。其中,所述测试设备可以设置在上述服务器和/或终端。
参见图7,测试设备700包括至少一个处理器701以及通信接口703。进一步可选地,还可以包括存储器702和总线704。
其中,测试设备700中,处理器701的数量可以是一个或多个,图7仅示意了其中一个处理器701。可选地,处理器701,可以是CPU、图形处理器(graphics processing unit,GPU)或者数字信号处理器(digital signal processor,DSP)。如果测试设备700具有多个处理器701,多个处理器701的类型可以不同,或者可以相同。可选地,测试设备700的多个处理器701还可以集成为多核处理器。
存储器702存储计算机指令和数据;存储器702可以存储实现本申请提供的上述测试方法所需的计算机指令和数据,例如,存储器702存储用于实现上述测试方法的步骤的指令。存储器702可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口703可以为所述至少一个处理器提供信息输入/输出。也可以包括以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
可选地,通信接口703还可以用于测试设备700与其它计算设备或者测试设备进行数据通信。
进一步可选地,图7用一条粗线表示总线704。总线704可以将处理器701与存储器702和通信接口703连接。这样,通过总线704,处理器701可以访问存储器702,还可以利用通信接口703与其它计算设备或者测试设备进行数据交互。
在本申请中,测试设备700执行存储器702中的计算机指令,使得测试设备700实现本申请提供的上述测试方法,或者使得测试设备700部署上述的测试装置。
从逻辑功能划分来看,示例性的,如图7所示,存储器702中可以包括模糊测试模块601、软件测试模块602、检查分析模块603以及异常确定模块604。这里的包括仅仅涉及存储器中所存储的指令被执行时可以分别实现模糊测试模块、软件测试模块、检查分析模块以及异常确定模块的功能,而不限定是物理上的结构。
另外,上述的测试设备除了可以像上述图7通过软件实现外,也可以作为硬件模块,或者作为电路单元,通过硬件实现。
本申请提供一种计算机可读存储介质,所述计算机程序产品包括计算机指令,所述计算机指令指示计算设备执行本申请提供的上述测试方法。
本申请提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行上述测试方法。
本申请提供一种芯片,包括至少一个处理器和通信接口,所述通信接口为所述至少一个处理器提供信息输入和/或输出。进一步,所述芯片还可以包含至少一个存储器,所述存储器用于存储计算机指令。所述至少一个处理器用于调用并运行该计算机指令,以执行本申请提供的上述测试方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
Claims (11)
1.一种测试方法,其特征在于,包括:
根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例;
基于所述测试用例,对所述待测试软件进行测试,其中,所述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据;
对所述待测试软件的测试结果进行异常检查,并基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析;
根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常。
2.根据权利要求1所述的方法,其特征在于,所述对所述待测试软件的测试结果进行异常检查,包括:
确定所述测试结果中的参数、软件头和软件体;
将所述测试结果中的参数、软件头和软件体,与所述测试用例中的参数、软件头和软件体进行比较,获得所述测试结果的异常检查结果。
3.根据权利要求1所述的方法,其特征在于,所述基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析,包括:
根据所述待测试软件,获得物理资源参考数据、业务指标参考数据和日志参考数据;
将所述物理资源数据、所述业务指标数据和所述日志数据,与所述物理资源参考数据、所述业务指标参考数据和所述日志参考数据进行比较,获得所述测试过程的异常分析结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例,包括:
根据所述待测试软件,确定测试语料,所述测试语料包括协议、文件、网络和数据中的一种或多种;
基于所述测试语料和预设生成策略,生成所述测试用例,所述预设生成策略包括组合生成策略、随机生成策略和变异生成策略中的一种或多种。
5.根据权利要求4所述的方法,其特征在于,在所述基于所述测试语料和预设生成策略,生成所述测试用例之前,还包括:
获取所述待测试软件对应的测试要求;
基于所述测试要求,确定所述预设生成策略。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常,包括:
将所述测试结果的异常检查结果,以及所述测试过程的异常分析结果发送给预设人员,以使所述预设人员基于所述测试结果的异常检查结果和所述测试过程的异常分析结果,确定所述待测试软件中的异常。
7.根据权利要求1至3中任一项所述的方法,其特征在于,在所述基于所述测试用例,对所述待测试软件进行测试之前,还包括:
构建测试环境;
所述基于所述测试用例,对所述待测试软件进行测试,包括:
在所述测试环境,基于所述测试用例,对所述待测试软件进行测试。
8.一种测试装置,其特征在于,包括:
模糊测试模块,用于根据模糊测试技术和待测试软件,确定与所述待测试软件对应的测试用例;
软件测试模块,用于基于所述测试用例,对所述待测试软件进行测试,其中,所述待测试软件在测试过程中的测试数据包括物理资源数据、业务指标数据和日志数据;
检查分析模块,用于对所述待测试软件的测试结果进行异常检查,并基于所述物理资源数据、所述业务指标数据和所述日志数据,对所述待测试软件的测试过程进行异常分析;
异常确定模块,用于根据所述待测试软件的测试结果的异常检查结果,以及所述待测试软件的测试过程的异常分析结果,确定所述待测试软件中的异常。
9.一种测试设备,其特征在于,包括:
处理器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-7任一项所述的方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行权利要求1-7任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215142.0A CN117806943A (zh) | 2022-09-30 | 2022-09-30 | 测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215142.0A CN117806943A (zh) | 2022-09-30 | 2022-09-30 | 测试方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806943A true CN117806943A (zh) | 2024-04-02 |
Family
ID=90424185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215142.0A Pending CN117806943A (zh) | 2022-09-30 | 2022-09-30 | 测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806943A (zh) |
-
2022
- 2022-09-30 CN CN202211215142.0A patent/CN117806943A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
US9569325B2 (en) | Method and system for automated test and result comparison | |
US6915343B1 (en) | System and method of running diagnostic testing programs on a diagnostic adapter card and analyzing the results for diagnosing hardware and software problems on a network computer | |
Syer et al. | Leveraging performance counters and execution logs to diagnose memory-related performance issues | |
CN108768730B (zh) | 用于操作智能网卡的方法和装置 | |
CN103577328A (zh) | 一种应用的性能分析方法及装置 | |
CN111897724B (zh) | 一种适用于云平台的自动化测试方法及装置 | |
CN107025167B (zh) | 在处理器追踪日志中使用编译器类型信息进行数据流分析的方法和设备 | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
CN112306837A (zh) | 一种云压力测试方法及平台、设备及可读存储介质 | |
CN105589928A (zh) | 用于分布式数据处理系统的模拟测试方法 | |
CN109408361A (zh) | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 | |
CN104809063A (zh) | 分布式系统的测试方法及装置 | |
CN109710479B (zh) | 一种处理方法及第一设备、第二设备 | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN111290942A (zh) | 压力测试方法、装置以及计算机可读介质 | |
CN115656788B (zh) | 一种芯片测试系统、方法、设备及存储介质 | |
CN113535578B (zh) | 一种cts测试方法、装置及测试设备 | |
CN115757099A (zh) | 平台固件保护恢复功能自动测试方法和装置 | |
CN113535580B (zh) | 一种cts测试方法、装置及测试设备 | |
CN117806943A (zh) | 测试方法、装置及存储介质 | |
US11294804B2 (en) | Test case failure with root cause isolation | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
CN116136813B (zh) | 适配多型号的航电信号仿真方法、装置及存储介质 | |
CN117827632A (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 |