CN113094258A - 精准测试方法、装置、计算机设备及介质 - Google Patents

精准测试方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN113094258A
CN113094258A CN202110281064.3A CN202110281064A CN113094258A CN 113094258 A CN113094258 A CN 113094258A CN 202110281064 A CN202110281064 A CN 202110281064A CN 113094258 A CN113094258 A CN 113094258A
Authority
CN
China
Prior art keywords
test
code
service
coverage rate
service code
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
CN202110281064.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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202110281064.3A priority Critical patent/CN113094258A/zh
Publication of CN113094258A publication Critical patent/CN113094258A/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/3676Test management for coverage analysis
    • 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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本发明涉及测试领域,尤其公开了一种精准测试方法、装置、计算机设备及介质。所述方法包括:在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在业务代码中;获取通过业务代码执行每一精准测试任务得到的第一执行结果,并根据所有第一执行结果生成首次代码覆盖率测试报告;在测试环境中重新部署业务代码后,获取通过重新部署的业务代码执行每一精准测试任务得到的第二执行结果,根据所有第二执行结果生成二次代码覆盖率测试报告;对首次代码覆盖率测试报告和二次代码覆盖率测试报告进行差异化分析后,生成包含分析结果的目标代码覆盖率测试报告。本发明提升精准测试过程的效率和保证精准测试的实用性。

Description

精准测试方法、装置、计算机设备及介质
技术领域
本发明涉及测试技术领域,尤其涉及一种精准测试方法、装置、计算机设备及介质。
背景技术
在软件测试过程中,全面覆盖测试场景,保证测试产品的质量,一直是所有测试人员追求的测试准则。现有技术中,各类软件测试已引入精准测试的概念及方法,并广泛应用于精准测试平台。但是在测试人员使用精准测试平台时,若测试人员想知道当前代码覆盖率情况,则需要在精准测试平台中配置任务,并查找各版本代码的版本号,明显耗时长且操作不便;且若测试环境修改代码后重新部署,则上个版本的代码覆盖率的情况将会发生变化,部署前在测试环境所做的操作无法体现在后期覆盖率报告中,导致测试人员无法获取到准确的测试结论,进而导致精准测试平台无法将测试人员想得到的预期结果完全体现出,实用性明显大打折扣。针对上述问题,本领域的技术人员亟需寻找一种新的技术方案。
发明内容
基于此,有必要针对上述技术问题,提供一种精准测试方法、装置、计算机设备及介质,用于提升精准测试过程的效率和保证精准测试的实用性。
一种精准测试方法,包括:
在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中;
获取通过所述业务代码执行每一所述精准测试任务得到的第一执行结果,并根据所有所述第一执行结果生成首次代码覆盖率测试报告;
在所述测试环境中重新部署业务代码后,获取通过重新部署的所述业务代码执行每一所述精准测试任务得到的第二执行结果,根据所有所述第二执行结果生成二次代码覆盖率测试报告;
对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析,生成包含差异化分析后的分析结果的目标代码覆盖率测试报告。
一种精准测试装置,包括:
集成模块,用于在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中;
获取模块,用于获取通过所述业务代码执行每一所述精准测试任务得到的第一执行结果,并根据所有所述第一执行结果生成首次代码覆盖率测试报告;
生成模块,用于在所述测试环境中重新部署业务代码后,获取通过重新部署的所述业务代码执行每一所述精准测试任务得到的第二执行结果,根据所有所述第二执行结果生成二次代码覆盖率测试报告;
分析模块,用于对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析,生成包含差异化分析后的分析结果的目标代码覆盖率测试报告。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述精准测试方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述精准测试方法。
上述精准测试方法、装置、计算机设备及介质,将产生精准测试任务的业务模块集成在精准测试平台的业务代码中,可对所有的精准测试任务实现自动化的功能,每一个精准测试任务在精准测试平台都无需重复配置,明显减少测试人员的工作量,提升精准测试工作的效率,也可减少测试人员在配置等过程的操作失误而造成的不可靠性;将两次分析的首次代码覆盖率测试报告和二次代码覆盖率测试报告进行差异化分析,并根据差异化分析结果重新生成新的目标代码覆盖率测试报告,可解决目前重新部署业务代码时,之前的业务代码覆盖率并无法体现在后续的代码覆盖率测试报告中的问题,明显在新的代码覆盖率测试报告中的包含内容将会更全面,对于测试人员来说,获取测试情况也将更全面,满足于测试人员的预期结果,体现出精准测试在软件测试中的实用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中精准测试方法的一应用环境示意图;
图2是本发明一实施例中精准测试方法的一流程图;
图3是本发明一实施例中精准测试装置的结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的精准测试方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,客户端可以包括但不限于各种智能手机和平板电脑等设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种精准测试方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10,在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中;
可理解地,本实施例所指的测试环境是基于精准测试平台的软件测试环境,通过该软件测试环境可用于测试被测试软件的业务代码的覆盖率,其中,软件测试包括但不限于软件运行的操作系统、数据库、web应用服务器以及网络环境等,与测试环境关联的业务代码可理解为流水线,该流水线是设定业务的执行流程;本实施例的执行主体为精准测试平台所对应的服务器,其中,精准测试可理解为通过预设手段对测试过程进行分析和优化的过程,而精准测试平台就是以精准测试搭建的一个平台系统,精准测试平台包括本实施例提到的精准测试任务模块,精准测试任务模块用于产生精准测试任务,精准测试任务用于监测部署业务代码后整个被测试软件或者指定软件模块的代码覆盖率;在本实施例中,通过开放精准测试平台的接口将产生精准测试任务的精准测试任务模块集成在于业务代码中,可解决当前测试人员想要获取当前业务代码覆盖率时,都需要重新在精准测试平台中配置测试任务的问题,因此通过本实施例可提高测试人员所花费的时间,进而提高测试效率。
S20,获取通过所述业务代码执行每一所述精准测试任务得到的第一执行结果,并根据所有所述第一执行结果生成首次代码覆盖率测试报告;
可理解地,本实施例通过业务代码对精准测试任务进行分析测试,可得到第一执行结果,其中,第一执行结果包括但不限于测试覆盖业务代码行数、未覆盖业务代码行数和执行精准测试任务时,覆盖的业务代码、全部业务代码的比例(业务代码覆盖率,其中,业务代码覆盖率的度量方式包括语句覆盖、判定覆盖、条件覆盖和路径覆盖,语句覆盖是度量北侧代码中每个可执行语句是否执行到,判定覆盖度量每一个判定分支是否被测试到,条件覆盖是度量每一个子表达式结果true和flase是否被测试到,路径覆盖是度量函数的每一个分支是否被执行到)、各功能模块的测试效果(是否具备一个功能,是否运行正常)等重要信息,根据上述的第一执行结果即可得到首次代码覆盖率测试报告。
S30,在所述测试环境中重新部署业务代码后,获取通过重新部署的所述业务代码执行每一所述精准测试任务得到的第二执行结果,根据所有所述第二执行结果生成二次代码覆盖率测试报告;
可理解地,首次部署业务代码是写入到master分支,而重新部署业务代码是写入到上述master分支的另一个master分支,因此获取重新部署业务代码可从master分支获取得到;本实施例通过重新部署过的业务代码(如被测试软件中的登录模块增加身份验证功能相关的业务代码)对精准测试任务进行分析测试,可得到第二执行结果,其中,第二执行结果包括但不限于新增修改业务代码行数、测试覆盖业务代码行数、未覆盖业务代码行数、部署后的业务代码覆盖率和各功能模块的测试效果(是否具备一个功能,是否运行正常)等重要信息,根据上述的第二执行结果即可得到二次代码覆盖率测试报告。
S40,对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析,生成包含差异化分析后的分析结果的目标代码覆盖率测试报告。
可理解地,通过比对首次代码覆盖率测试报告和二次代码覆盖率测试报告后,可从两个版本的代码覆盖率报告的分析过程中,确定出每行代码存在的差异部分(是否存在新增加或者减少或者修改过的业务代码所形成的差异部分),以及差异部分对其他模块的功能造成的关联影响(如是否增加新功能模块、是否减少功能模块、页面切换功能之间是否切换正确、是否引起列表数据不可见、按钮功能是否表现为失效等)的分析结果,最后整合所有分析结果中,可得到包含两个报告信息的目标代码覆盖率测试报告(该报告可确定出业务代码的变化、需要测试什么方面、当前未进行测试的方面以及业务代码覆盖率和部署后的业务代码覆盖率)。
在步骤S10至步骤S40所在的实施例中,将产生精准测试任务的业务模块集成在精准测试平台的业务代码中,可对所有的精准测试任务实现自动化的功能,每一个精准测试任务在精准测试平台都无需重复配置,明显减少测试人员的工作量,提升精准测试工作的效率,也可减少测试人员在配置等过程的操作失误而造成的不可靠性;将两次分析的首次代码覆盖率测试报告和二次代码覆盖率测试报告进行差异化分析,并根据差异化分析结果重新生成新的目标代码覆盖率测试报告,可解决目前重新部署业务代码时,之前的业务代码覆盖率并无法体现在后续的代码覆盖率测试报告中的问题,明显在新的代码覆盖率测试报告中的包含内容将会更全面,对于测试人员来说,获取测试情况也将更全面,满足于测试人员的预期结果,体现出精准测试在软件测试中的实用性。
进一步地,所述将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中,包括:
通过精准测试平台提供的接口将产生精准测试任务的精准测试任务模块连接于存放所述业务代码的代码库以将所述精准测试模块与所述业务代码进行集成。
可理解地,精准测试平台是为了精准测试任务而搭建的系统平台,其中,精准测试平台提供多个接口来实现对应的功能;代码库是预先通过精准测试模块中接口所连接的关于被测试软件的代码模块;通过本实施例可将精准测试任务模块所对应的代码集成到代码模块中的业务代码中,可减少重复配置精准测试任务,每次部署完业务代码后,都可产生精准测试任务,以通过精准测试任务执行自动化地精准测试。
另外在本实施例之后,通过集成精准测试任务的精准测试平台识别到重新部署业务代码后,自动配置生成精准测试任务;其中,精准测试任务是指对代码覆盖率进行监测。
进一步地,所述对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析之前,包括:
将与所述测试环境关联的master分支版本号作为每一个所述精准测试任务的初始版本号,并将与所述初始版本号关联的首次部署的业务代码记录在所述首次代码覆盖率测试报告中;
获取在所述测试环境中重新部署业务代码时对应的目标版本号,并将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中;
所述将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中之后,还包括:
通过对记录在所述首次代码覆盖率测试报告中且与所述初始版本号对应的首次部署的业务代码和记录在所述二次代码覆盖率测试报告中且与所述目标版本号对应的重新部署的业务代码进行差异化分析;
获取每一行首次部署的业务代码与重新部署过的业务代码之间的差异部分,根据所述差异部分定位与其对应的各功能模块的测试效果,根据所述测试结果确定出所述分析结果;所述差异部分包括新增、减少或修改过的业务代码;所述测试效果来源于所述第一执行结果和所述第二执行结果。
可理解地,每一个精准测试任务对应一个部署后业务代码所对应的版本,每一个业务代码在未重新部署之前和重新部署之后都有一个对应的代码版本号,其中,master分支上存在之前部署过的业务代码以及与其对应的版本号(初始版本号),在该master分支上新建一个分支,该新建分支存在部署之后的业务代码以及与其对应的版本号(目标版本号);测试结果来源于第一执行结果和第二执行结果,具体通过差异部分精准定位到测试结果,如确定差异部分为新增的业务代码,此时第一执行结果对应的功能模块并未存在密码验证的功能,而第二执行结果对应的功能模块存在密码验证的功能,此时分析结果可为新增的业务代码和新增密码验证功能模块,如确定差异部分为删除过的业务代码,此时第一执行结果对应的功能模块存在按钮功能,第二执行结果对应的功能模块未存在按钮功能,此时分析结果可为删除的业务代码和按钮功能模块异常,如确定差异部分为修改过的业务代码,此时第一执行结果对应的功能模块存在下拉列表的数据,第二执行结果对应的功能模块未存在下拉列表数据,此时分析结果可为修改过的业务代码和下拉列表功能模块存在下拉数据异常;首次代码覆盖测试报告与二次代码覆盖率测试报告都存在与其对应的版本号(目标版本号),通过版本号的记录便于对业务代码以及对代码覆盖率测试报告进行区分,且本实施例可通过差异部分先精准定位到业务代码的变化而引起功能模块的测试效果变换,以及时确定出两个代码覆盖率测试报告的分析结果。
另外在获取在所述测试环境中重新部署业务代码时对应的目标版本号之后,对重新部署业务代码的master分支进行合并至首次部署业务代码的master分支后,将重新部署业务代码的master分支进行删除。
进一步地,所述获取每一行首次部署的业务代码与重新部署过的业务代码之间的差异部分之前,还包括:
清除首次部署的业务代码和重新部署的业务代码中的噪音数据;所述噪音数据包括空格、空行、注释以及与业务逻辑无关的代码。
可理解地,本实施例主要清楚掉无关的噪音数据(该噪音数据实际上对业务并不会产生任何影响),避免对差异化分析造成误判影响,减少服务器的运行压力。
进一步地,所述所述根据所述测试结果确定出所述分析结果之后,还包括:
拉取记录在所述首次代码覆盖率测试报告中的首次部署的业务代码,拉取记录在所述二次代码覆盖率测试报告中的重新部署的业务代码;
通过预设语法树分别分析首次部署的业务代码和重新部署的业务代码后,获取与首次部署的业务代码关联的第一方法体以及与重新部署的业务代码关联的第二方法体;
结合分析所述第一方法体和所述第二方法体后,确定重新部署的业务代码的部署方式,并生成包含所述部署方式的所述分析结果。
可理解地,本实施例中的预设语法树为javaparser分析语法树进行分析后,可得到每个方法的第一方法体和第二方法体,对两个方法体进行结合分析后,可确定出重新部署的业务代码是属于新增或减少或修改过的业务代码的改变方式,并将该方式体现在分析结果,以使目标覆盖率测试报告更加全面完整,也有利于测试人员分析业务代码的改变方式是否会对测试造成影响等(比如一个应用模块中的业务代码的改变方式将会对多个应用模块造成影响)。
进一步地,确定重新部署的业务代码的部署方式,并生成包含所述部署方式的所述分析结果,包括:
获取所述第一方法体写入预设括号中的第一内容,获取所述第二方法体写入预设括号中的第二内容,结合对比所述第一内容和所述第二内容后,确定出重新部署过业务代码的部署方式,将新的部署方式加入至所述分析结果中。可理解地,预设括号中包含了方法体的方法内容,其中,方法内容包括新增或减少或修改过的业务代码的方法。
综上所述,上述提供了一种精准测试方法,将产生精准测试任务的业务模块集成在精准测试平台的业务代码中,可对所有的精准测试任务实现自动化的功能,每一个精准测试任务在精准测试平台都无需重复配置,明显减少测试人员的工作量,提升精准测试工作的效率,也可减少测试人员在配置等过程的操作失误而造成的不可靠性;将两次分析的首次代码覆盖率测试报告和二次代码覆盖率测试报告进行差异化分析,并根据差异化分析结果重新生成新的目标代码覆盖率测试报告,可解决目前重新部署业务代码时,之前的业务代码覆盖率并无法体现在后续的代码覆盖率测试报告中的问题,明显在新的代码覆盖率测试报告中的包含内容将会更全面,对于测试人员来说,获取测试情况也将更全面,满足于测试人员的预期结果,体现出精准测试在软件测试中的实用性;对影响到代码覆盖率的噪音数据进行清除,并增加目标代码覆盖率测试报告的分析结果,可提升目标代码覆盖率测试报告的准确度和全面性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种精准测试装置,该精准测试装置与上述实施例中精准测试方法一一对应。如图3所示,该精准测试装置包括集成模块11、获取模块12、生成模块13和分析模块14。各功能模块详细说明如下:
集成模块11,用于在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中;
获取模块12,用于获取通过所述业务代码执行每一所述精准测试任务得到的第一执行结果,并根据所有所述第一执行结果生成首次代码覆盖率测试报告;
生成模块13,用于在所述测试环境中重新部署业务代码后,获取通过重新部署的所述业务代码执行每一所述精准测试任务得到的第二执行结果,根据所有所述第二执行结果生成二次代码覆盖率测试报告;
分析模块14,用于对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析,生成包含差异化分析后的分析结果的目标代码覆盖率测试报告。
进一步地,所述集成模块包括:
连接子模块,用于通过精准测试平台提供的接口将产生精准测试任务的精准测试任务模块连接于存放所述业务代码的代码库以将所述精准测试模块与所述业务代码进行集成。
进一步地,所述精准测试装置还包括:
第一记录模块,用于将与所述测试环境关联的master分支版本号作为每一个所述精准测试任务的初始版本号,并将与所述初始版本号关联的首次部署的业务代码记录在所述首次代码覆盖率测试报告中;
第二记录模块,用于获取在所述测试环境中重新部署业务代码时对应的目标版本号,并将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中;
所述精准测试装置还包括,还包括:
差异化分析模块,用于通过对记录在所述首次代码覆盖率测试报告中且与所述初始版本号对应的首次部署的业务代码和记录在所述二次代码覆盖率测试报告中且与所述目标版本号对应的重新部署的业务代码进行差异化分析;
确定模块,用于获取每一行首次部署的业务代码与重新部署过的业务代码之间的差异部分,根据所述差异部分定位与其对应的各功能模块的测试效果,根据所述测试结果确定出所述分析结果;所述差异部分包括新增、减少或修改过的业务代码;所述测试效果来源于所述第一执行结果和所述第二执行结果。
进一步地,所述精准测试装置还包括:
清除模块,用于清除首次部署的业务代码和重新部署的业务代码中的噪音数据;所述噪音数据包括空格、空行、注释以及与业务逻辑无关的代码。
进一步地,所述精准测试装置还包括:
拉取模块,用于拉取记录在所述首次代码覆盖率测试报告中的首次部署的业务代码,拉取记录在所述二次代码覆盖率测试报告中的重新部署的业务代码;
方法体获取模块,用于通过预设语法树分别分析首次部署的业务代码和重新部署的业务代码后,获取与首次部署的业务代码关联的第一方法体以及与重新部署的业务代码关联的第二方法体;
分析结果生成模块,用于结合分析所述第一方法体和所述第二方法体后,确定重新部署的业务代码的部署方式,并生成包含所述部署方式的所述分析结果。
进一步地,所述分析结果生成模块包括:
加入子模块,用于获取所述第一方法体写入预设括号中的第一内容,获取所述第二方法体写入预设括号中的第二内容,结合对比所述第一内容和所述第二内容后,确定出重新部署过业务代码的部署方式,将新的部署方式加入至所述分析结果中。
关于精准测试装置的具体限定可以参见上文中对于精准测试方法的限定,在此不再赘述。上述精准测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储精准测试方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种精准测试方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中精准测试方法的步骤,例如图2所示的步骤S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例中精准测试装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中精准测试方法的步骤,例如图2所示的步骤S10至步骤S40。或者,计算机程序被处理器执行时实现上述实施例中精准测试装置的各模块/单元的功能,例如图3所示模块11至模块14的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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所述的精准测试方法,其特征在于,对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析之前,包括:
将与所述测试环境关联的master分支版本号作为每一个所述精准测试任务的初始版本号,并将与所述初始版本号关联的首次部署的业务代码记录在所述首次代码覆盖率测试报告中;
获取在所述测试环境中重新部署业务代码时对应的目标版本号,并将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中;
所述将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中之后,还包括:
通过对记录在所述首次代码覆盖率测试报告中且与所述初始版本号对应的首次部署的业务代码和记录在所述二次代码覆盖率测试报告中且与所述目标版本号对应的重新部署的业务代码进行差异化分析;
获取每一行首次部署的业务代码与重新部署过的业务代码之间的差异部分,根据所述差异部分定位与其对应的各功能模块的测试效果,根据所述测试结果确定出所述分析结果;所述差异部分包括新增、减少或修改过的业务代码;所述测试效果来源于所述第一执行结果和所述第二执行结果。
4.根据权利要求3所述的精准测试方法,其特征在于,所述获取每一行首次部署的业务代码与重新部署过的业务代码之间的差异部分之前,还包括:
清除首次部署的业务代码和重新部署的业务代码中的噪音数据;所述噪音数据包括空格、空行、注释以及与业务逻辑无关的代码。
5.根据权利要求3所述的精准测试方法,其特征在于,所述根据所述测试结果确定出所述分析结果之后,还包括:
拉取记录在所述首次代码覆盖率测试报告中的首次部署的业务代码,拉取记录在所述二次代码覆盖率测试报告中的重新部署的业务代码;
通过预设语法树分别分析首次部署的业务代码和重新部署的业务代码后,获取与首次部署的业务代码关联的第一方法体以及与重新部署的业务代码关联的第二方法体;
结合分析所述第一方法体和所述第二方法体后,确定重新部署的业务代码的部署方式,并生成包含所述部署方式的所述分析结果。
6.根据权利要求5所述的精准测试方法,其特征在于,所述结合分析所述第一方法体和所述第二方法体后,确定重新部署的业务代码的部署方式,并生成包含所述部署方式的所述分析结果,包括:
获取所述第一方法体写入预设括号中的第一内容,获取所述第二方法体写入预设括号中的第二内容,结合对比所述第一内容和所述第二内容后,确定出重新部署过业务代码的部署方式,将新的部署方式加入至所述分析结果中。
7.一种精准测试装置,其特征在于,所述精准测试装置包括:
集成模块,用于在测试环境中已首次部署业务代码后,将产生精准测试任务的精准测试任务模块集成在与该测试环境关联的业务代码中;
获取模块,用于获取通过所述业务代码执行每一所述精准测试任务得到的第一执行结果,并根据所有所述第一执行结果生成首次代码覆盖率测试报告;
生成模块,用于在所述测试环境中重新部署业务代码后,获取通过重新部署的所述业务代码执行每一所述精准测试任务得到的第二执行结果,根据所有所述第二执行结果生成二次代码覆盖率测试报告;
分析模块,用于对所述首次代码覆盖率测试报告和所述二次代码覆盖率测试报告进行差异化分析,生成包含差异化分析后的分析结果的目标代码覆盖率测试报告。
8.根据权利要求7所述的一种精准测试装置,其特征在于,所述精准测试装置还包括:
第一记录模块,用于将与所述测试环境关联的master分支版本号作为每一个所述精准测试任务的初始版本号,并将与所述初始版本号关联的首次部署的业务代码记录在所述首次代码覆盖率测试报告中;
第二记录模块,用于获取在所述测试环境中重新部署业务代码时对应的目标版本号,并将与所述目标版本号关联的重新部署的业务代码记录在所述二次代码覆盖率测试报告中;
所述分析模块,包括:
确定子模块,用于通过对记录在所述首次代码覆盖率测试报告中且与所述初始版本号对应的首次部署的业务代码和记录在所述二次代码覆盖率测试报告中且与所述目标版本号对应的重新部署的业务代码进行差异化分析。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述精准测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述精准测试方法。
CN202110281064.3A 2021-03-16 2021-03-16 精准测试方法、装置、计算机设备及介质 Pending CN113094258A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110281064.3A CN113094258A (zh) 2021-03-16 2021-03-16 精准测试方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110281064.3A CN113094258A (zh) 2021-03-16 2021-03-16 精准测试方法、装置、计算机设备及介质

Publications (1)

Publication Number Publication Date
CN113094258A true CN113094258A (zh) 2021-07-09

Family

ID=76668238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110281064.3A Pending CN113094258A (zh) 2021-03-16 2021-03-16 精准测试方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN113094258A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946515A (zh) * 2021-10-19 2022-01-18 平安普惠企业管理有限公司 代码覆盖率测试方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807881A (zh) * 2017-09-28 2018-03-16 北京新能源汽车股份有限公司 代码覆盖率的测试方法、装置和计算机设备
CN109144843A (zh) * 2017-06-27 2019-01-04 北京京东尚科信息技术有限公司 测试环境部署的方法和装置
CN109388566A (zh) * 2018-09-27 2019-02-26 北京城市网邻信息技术有限公司 一种代码覆盖率分析方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144843A (zh) * 2017-06-27 2019-01-04 北京京东尚科信息技术有限公司 测试环境部署的方法和装置
CN107807881A (zh) * 2017-09-28 2018-03-16 北京新能源汽车股份有限公司 代码覆盖率的测试方法、装置和计算机设备
CN109388566A (zh) * 2018-09-27 2019-02-26 北京城市网邻信息技术有限公司 一种代码覆盖率分析方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946515A (zh) * 2021-10-19 2022-01-18 平安普惠企业管理有限公司 代码覆盖率测试方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN107992409B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN108427613B (zh) 异常接口定位方法、装置、计算机设备和存储介质
CN109491891A (zh) 全自动接口压测方法、装置、计算机设备及存储介质
CN110069404B (zh) 代码调试方法、装置、设备及介质
CN110908895A (zh) 页面自动化测试方法、装置、计算机设备及存储介质
CN112115005B (zh) 测试数据采集方法、装置、计算机设备和存储介质
CN112395202B (zh) 接口自动化测试方法、装置、计算机设备和存储介质
CN109062788A (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN111897727A (zh) 软件测试方法、装置、计算机设备及存储介质
CN113282513B (zh) 接口测试案例的生成方法、装置、计算机设备及存储介质
CN104021072A (zh) 用于评估失效的软件程序的机器和方法
CN113010413A (zh) 一种接口自动化测试方法和装置
CN111290950A (zh) 程序测试中测试点获取方法、装置、存储介质和设备
CN114610635A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
CN112631926A (zh) 代码测试覆盖率显示方法、装置、计算机设备及存储介质
CN110597710B (zh) 测试覆盖率统计方法、装置、计算机设备及存储介质
CN115391228A (zh) 精准测试方法、装置、设备及介质
CN108399125A (zh) 自动化测试方法、装置、计算机设备和存储介质
US11163924B2 (en) Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles
CN113094258A (zh) 精准测试方法、装置、计算机设备及介质
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN105912467B (zh) 一种性能测试方法及装置
CN116431522A (zh) 一种低代码对象存储网关自动化测试方法及系统
CN116662203A (zh) 测试方法、装置、计算机设备及存储介质
CN110633213A (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