CN113836043B - 基于测试用例的中台自维护方法、装置及存储介质 - Google Patents

基于测试用例的中台自维护方法、装置及存储介质 Download PDF

Info

Publication number
CN113836043B
CN113836043B CN202111387519.6A CN202111387519A CN113836043B CN 113836043 B CN113836043 B CN 113836043B CN 202111387519 A CN202111387519 A CN 202111387519A CN 113836043 B CN113836043 B CN 113836043B
Authority
CN
China
Prior art keywords
test case
previous
new
code
coverage rate
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.)
Active
Application number
CN202111387519.6A
Other languages
English (en)
Other versions
CN113836043A (zh
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.)
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information Technology Co Ltd
Original Assignee
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information 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 State Grid Zhejiang Electric Power Co Ltd, Zhejiang Huayun Information Technology Co Ltd filed Critical State Grid Zhejiang Electric Power Co Ltd
Priority to CN202111387519.6A priority Critical patent/CN113836043B/zh
Publication of CN113836043A publication Critical patent/CN113836043A/zh
Application granted granted Critical
Publication of CN113836043B publication Critical patent/CN113836043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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

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

基于测试用例的中台自维护方法、装置及存储介质
技术领域
本发明涉及运维技术领域,尤其涉及一种基于测试用例的中台自维护方法、装置及存储介质。
背景技术
中台,互联网术语,一般应用于大型企业。一般是指搭建一个灵活快速应对变化的架构,快速实现前端提的需求,避免重复建设,达到提高工作效率目的。中台的实施,是基于其软件逻辑实现的,每个软件会具有很多的功能,例如说审批功能、认证功能等,并且软件的功能是需要经常更新的,例如说设置新的权限、添加新的接口等等。在设置新的权限和添加新的功能接口后,可能就会出现BUG(漏洞),导致软件的部分功能无法正常实现,当出现BUG时,运维人员会进行相应的修复。
新的功能一般都会通过与新功能对应的测试用例进行测试,在测试用例都完成测试后与先前的软件通过接口连接,实现版本的更新。
传统的运维方式都是等BUG(漏洞)出现后才进行修复,不易主动发现问题。BUG(漏洞)出现问题主要包括以下两个原因:
1、新功能带来的BUG(漏洞);
2、新功能(版本)与先前的功能(版本)没有做好有效的兼容,导致出现BUG(漏洞)。
无论是何种方式带来的BUG(漏洞),都会在运行相应的功能时产生该BUG(漏洞),所以亟需一种方法,能够在BUG(漏洞)被用户触发出来前主动进行寻找。
发明内容
本发明实施例提供一种基于测试用例的中台自维护方法、装置及存储介质,能够在更新版本、添加新的功能、接口后主动遍历测试用例,并且在测试过程中进行差别测试,即分别对先前功能和新功能分别进行测试,从而快速找到BUG(漏洞)。
本发明实施例的第一方面,提供一种基于测试用例的中台自维护方法,在中台的软件运行系统更新后,通过以下步骤对中台自维护,包括:
获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件,若满足则执行下一步;
获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例,对所述中台的软件运行系统进行测试;
当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护;
当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率;
基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。
可选地,在第一方面的一种可能实现方式中,获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合满足预设条件包括:
获取所述历史行为信息中的最空闲时间段,所述历史行为信息包括多个时间段以及每个时间段对应的业务量信息,其中业务量信息最少的时间段为最空闲时间段;
当达到最空闲时间段后,判断所述机器信息和测试用例集合是否满足预设条件,所述机器信息包括缓存信息和处理速度信息;
若所述机器信息和测试用例集合的综合机器数值大于预设机器值,则所述历史行为信息、机器信息、测试用例集合满足预设条件。
可选地,在第一方面的一种可能实现方式中,若所述机器信息和测试用例集合的综合机器数值大于预设机器值,则所述历史行为信息、机器信息、测试用例集合满足预设条件包括:
所述缓存信息包括缓存剩余空间的数量值,所述处理速度信息包括CPU占用率值,所述测试用例集合包括先前功能测试用例和新功能测试用例;
通过以下公式计算综合机器数值,
Figure 432706DEST_PATH_IMAGE001
其中,S为综合机器数值 ,a为缓存剩余空间的权重值,A为缓存剩余空间的数量 值,b为CPU占用率值的权重值,B为CPU占用率值,其中
Figure 958365DEST_PATH_IMAGE002
为先前功能测试用例中第i个测试 用例的数据值,
Figure 37179DEST_PATH_IMAGE003
为新功能测试用例中第p个测试用例的数据值,G为常数值,O机器权重 值;
当综合机器数值S小于预设机器值时,则所述历史行为信息、机器信息、测试用例集合满足预设条件。
可选地,在第一方面的一种可能实现方式中,当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率包括:
获取先前的软件功能的所有代码生成先前代码实际清单,所述先前代码实际清单中包括多个行;
提取所述软件运行系统执行先前功能测试用例时所运行的代码行,生成先前代码测试清单,所述先前代码测试清单中包括多个行;
获取新的软件功能的所有代码生成新代码实际清单,所述新代码实际清单中包括多个行;
提取所述软件运行系统执行新功能测试用例时所运行的代码行,生成新代码测试清单,所述新代码测试清单中包括多个行;
根据所述先前代码实际清单和先前代码测试清单得到先前代码覆盖率,根据所述新代码实际清单和新代码测试清单得到新代码覆盖率。
可选地,在第一方面的一种可能实现方式中,基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护包括:
预先配置三级提醒级以及与三级提醒级分别对应的第一覆盖率阈值、第二覆盖率阈值,所述第一覆盖率阈值小于所述第二覆盖率阈值;
当所述综合代码覆盖率小于所述第一覆盖率阈值时,输出第一级提醒模式;
当所述综合代码覆盖率大于等于所述第一覆盖率阈值、且小于所述第二覆盖率阈值时,输出第二级提醒模式;
当所述综合代码覆盖率大于等于所述第二覆盖率阈值时,输出第三级提醒模式。
可选地,在第一方面的一种可能实现方式中,基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护包括:
通过以下公式计算综合代码覆盖率,
Figure 269577DEST_PATH_IMAGE004
其中,F1为综合代码覆盖率,U为先前代码测试清单中行的数量值,X为先前代码实际清单中行的数量值,K为先前代码权重值,G为新代码测试清单中行的数量值,Y为新代码实际清单中行的数量值,L为新代码权重值,F2为第一覆盖率阈值,V1为综合权重值,t为最低单项测试率。
可选地,在第一方面的一种可能实现方式中,还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护;
判断所述维护数据为进行维护,对综合权重值进行上调整得到调整后的综合权重值V2
可选地,在第一方面的一种可能实现方式中,还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护;
判断所述维护数据为不进行维护,对综合权重值进行下调整得到调整后的综合权重值V3
本发明实施例的第二方面,提供一种基于测试用例的中台自维护装置,在中台的软件运行系统更新后,通过以下模块对中台自维护,包括:
判断模块,用于获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件;
测试模块,用于获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例对所述中台的软件运行系统进行测试;
维护模块,用于当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护;
获取模块,用于当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率;
提醒模块,用于基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。
本发明实施例的第三方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本发明第一方面及第一方面各种可能设计的所述方法。
本发明提供的一种基于测试用例的中台自维护方法、装置及存储介质。能够在中台的软件系统更新后,根据中台的历史行为信息、机器信息、测试用例集合的情况,主动遍历测试用例集合中的测试用例,使得本发明提供的技术方案能够主动寻找软件更新后可能出现的问题、BUG(漏洞),并且在出现问题后进行自动维护。自动维护的方式即是断开新功能软件接口,暂时停掉新功能,避免因新功能出现问题或者是因为新功能的代码、接口设置而对先前的功能的代码、接口产生影响。该种方式实现系统的自动检查、自动测试、自动维护。当测试用例中的所有接口都被调用后,也不能证明更新后的软件就不存在漏洞,在一些源代码的判断逻辑中,可能会漏掉一些代码行、或者是接口。所以为了保障后期中台运行的稳定性,本发明还会对代码覆盖率进行统计,根据代码覆盖率判断是否进行提醒,使得用户管理员及时动作,避免出现漏掉测试的源代码、接口在用户使用时出现漏洞(BUG),进而保障系统的稳定性。
本发明在进行自维护之前,会充分考虑中台当前的工作、处理能力,只有中台在处理任务、数据较少时才会占用中台内存与计算空间进行主动的自维护。本发明会综合考虑CPU占用率值、缓存剩余空间、先前测试用例的数据值以及新测试用例的数据值,因为中台在进行自维护时数据的处理量较多,本发明会优先保障中台中其他任务优先处理,只有在相应的时间段、综合机器数值小于预设机器值时才会进行测试用例的测试,保障中台在自维护过程时其他任务也能够正常进行。
本发明在对中台进行自维护时会生成综合代码覆盖率,综合代码覆盖率是根据先前代码覆盖率和新代码覆盖率得到的,根据综合代码覆盖率本发明可以采取不同的提醒方式,当综合代码覆盖率较低时,则证明此时更新后的中台的源代码被测试到的较少,在后期的运行中没有被测试到的源代码可能会出现漏洞(BUG)。通过以上的提醒方式,可以使管理员了解更新后的中台在自维护过程中没有被测试的代码的情况,采取主动的补救措施。
附图说明
图1为基于测试用例的中台自维护方法的第一种实施方式的流程图;
图2为基于测试用例的中台自维护方法的第一种实施方式的流程图;
图3为基于测试用例的中台自维护装置的第一种实施方式的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在软件进行更新时,一般都是更新一些功能,某些功能需要基于一些接口来实现,例如说中台内新增了一个敏感数据存储模块,则此时就需要存在调取该敏感数据存储模块的接口,相对应的也需要相应的源代码。
本发明中的自维护是主动进行测试、维护的意思,主动进行测试目的是寻找出更新后中台的漏洞(BUG),维护即是本发明中的断开新功能软件接口的操作,断开新功能软件接口的操作可以是虚拟切断新功能软件接口,对于断开新功能软件接口的操作在现有技术中有很多种实施方式,本发明不再进行赘述,维护的另外一种方式就是在断开新功能软件接口的操作后确定新功能软件接口对应的功能,然后在UI界面、功能界面上对相应的功能删除或固定,固定的含义即是用户无法对UI界面、功能界面相应的功能选定。
本发明提供一种基于测试用例的中台自维护方法,在中台的软件运行系统更新后,通过以下步骤对中台自维护,如图1所示,包括:
步骤S110、获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件,若满足则执行下一步。
本发明提供的技术方案,步骤S110具体包括:
获取所述历史行为信息中的最空闲时间段,所述历史行为信息包括多个时间段以及每个时间段对应的业务量信息,其中业务量信息最少的时间段为最空闲时间段。本发明可以将一天的24小时分为多个时间段,例如说以2小时为单位,则00:00至01:59为第一个时间段、则02:00至03:59为第二个时间段,以此类推。
由于中台在不同时刻其数据处理量、业务处理量是不同的,业务量信息可以是数据处理量、业务处理量,本发明需要确定业务量信息最少的时间段为最空闲时间段。
当达到最空闲时间段后,判断所述机器信息和测试用例集合是否满足预设条件,所述机器信息包括缓存信息和处理速度信息。本发明只有在达到最空闲时间段后才会判断机器信息和测试用例集合是否满足预设条件,因为只有最空闲时间段中台的机器信息中的计算量才会具有最大化的剩余,其余时间中台的任务量、数据处理量可能较大。
若所述机器信息和测试用例集合的综合机器数值大于预设机器值,则所述历史行为信息、机器信息、测试用例集合满足预设条件。
本发明提供的技术方案,还包括:
所述缓存信息包括缓存剩余空间的数量值,所述处理速度信息包括CPU占用率值,所述测试用例集合包括先前功能测试用例和新测试用例;
通过以下公式计算综合机器数值,
Figure 323115DEST_PATH_IMAGE005
其中,S为综合机器数值 ,a为缓存剩余空间的权重值,A为缓存剩余空间的数量 值,b为CPU占用率值的权重值,B为CPU占用率值,其中
Figure 539333DEST_PATH_IMAGE002
为先前功能测试用例中第i个测试 用例的数据值,
Figure 156259DEST_PATH_IMAGE003
为新功能测试用例中第p个测试用例的数据值,G为常数值,O机器权重 值。
本发明在对机器数值S计算时,通过
Figure 508743DEST_PATH_IMAGE006
可以得到所有测试用例的 数量值,通过
Figure 248029DEST_PATH_IMAGE007
可以得到中台当前对测试用例的处理能力,其中常数值G和机器 权重值O可以是预先设置的,用来对
Figure 685963DEST_PATH_IMAGE008
Figure 841001DEST_PATH_IMAGE009
的计算结 果进行修正。本发明会综合考虑测试用例的数据值维度以及机器的运行维度,并得到相应 的机器数值,机器数值可以反映出其运行测试用例时的处理性,机器数值越小,其运行测试 用例时越快、效率越高,机器数值越大,其运行测试用例时越慢,效率越低。
当机器数值S小于预设机器值时,则所述历史行为信息、机器信息、测试用例集合满足预设条件。本发明会设置一个预设机器值,该预设机器值起到开关的作用。当机器数值S小于预设机器值时,则此时可以对测试用例进行测试,即历史行为信息、机器信息、测试用例集合满足预设条件。当机器数值S大于预设机器值时,则此时不可以对测试用例进行测试,即历史行为信息、机器信息、测试用例集合不满足预设条件,此时对测试用例的测试较慢,为了避免影响其他任务、数据的处理,所以此时不会对测试用例进行测试。
步骤S120、获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例,对所述中台的软件运行系统进行测试。
在实际的测试场景中,开发人员在开发一个软件、一个功能后,都会对该软件、功能配置相应的测试用例,所以本发明中会至少包括两种测试用例,本发明通过功能对软件更新前和更新后进行区分,即更新前软件所具有的功能的测试用例为先前功能测试用例,更新后软件所具有的功能的测试用例为新功能测试用例。先前功能测试用例和新功能测试用例可以分别包括多个。
本发明可以依次获取功能测试用例和新功能测试用例使中台运行,达到测试的目的。
步骤S130、当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护。
当出现先前功能测试用例和新功能测试用例中的任意一个在运行过程中,无法调取相应测试用例中的目标接口,则此时认为对某一个接口调用出现漏洞。则此时中台以断开新功能软件接口的方式实现自维护,自维护的方式本发明已经进行了阐述,故不再进行赘述。
步骤S140、当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率。由于中台在测试过程中,其会具有新的功能和先前的功能,所以本发明需要对先前功能和新功能所对应的代码分别采取覆盖率,因为先前功能的代码被测试的次数较多,所以稳定性更高一些,新功能的代码被测试的次数较少,其稳定性相对较差,所以本发明对先前代码覆盖率和新代码覆盖率分别进行统计,并加以不同的权重,使得后续所计算的综合代码覆盖率更能够反映出系统的稳定性。
本发明提供的技术方案,如图2所示,步骤S140具体包括:
步骤S1401、获取先前的软件功能的所有代码生成先前代码实际清单,所述先前代码实际清单中包括多个行。本发明会对中台更新前即具有的功能所有的代码进行统计,生成先前代码实际清单,里面存在中台关于先前功能的每一行代码。例如说先前的软件功能包括人脸识别功能、指纹识别功能,则先前代码实际清单即包括了人脸识别功能、指纹识别功能分别对应的源代码。
步骤S1402、提取所述软件运行系统执行先前功能测试用例时所运行的代码行生成先前代码测试清单,所述先前代码测试清单中包括多个行。本发明会在中台对先前功能测试用例运行时进行监测,确定先前功能测试用例在运行时,所运行的先前代码实际清单中的代码行,生成先前代码测试清单。
步骤S1403、获取新的软件功能的所有代码生成新代码实际清单,所述新代码实际清单中包括多个行。本发明会对中台更新后具有的功能所有的代码进行统计,生成新代码实际清单,里面存在中台关于新功能的每一行代码。例如说新的软件功能包括微信付款功能,则新代码实际清单即包括了微信付款功能对应的源代码。
步骤S1404、提取所述软件运行系统执行新功能测试用例时所运行的代码行生成新代码测试清单,所述新代码测试清单中包括多个行。本发明会在中台对新功能测试用例运行时进行监测,确定新功能测试用例在运行时,所运行的新代码实际清单中的代码行,生成新代码测试清单。
步骤S1405、根据所述先前代码实际清单和先前代码测试清单得到先前代码覆盖 率,根据所述新代码实际清单和新代码测试清单得到新代码覆盖率。通过
Figure 110309DEST_PATH_IMAGE010
Figure 958179DEST_PATH_IMAGE011
可以分别 得到先前代码覆盖率和新代码覆盖率。
以上统计先前代码覆盖率和新代码覆盖率可以分别通过LOCV统计工具实现。
步骤S150、基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。本发明会根据先前代码覆盖率和新代码覆盖率得到综合代码覆盖率,并且根据综合代码覆盖率对管理员提醒维护。
本发明提供的技术方案,步骤S150具体包括:
预先配置三级提醒级以及与三级提醒级分别对应的第一覆盖率阈值、第二覆盖率阈值,所述第一覆盖率阈值小于所述第二覆盖率阈值。例如说第一覆盖率阈值可以是0.8、第二覆盖率阈值可以是0.95。
当所述综合代码覆盖率小于所述第一覆盖率阈值时,输出第一级提醒模式。第一级提醒模式可以是输出及时修正请求,及时修正请求代表测试用例的测试过程中覆盖率较低,可能存在非常大的隐患,则此时以最高级别的及时修正请求进行提醒。
当所述综合代码覆盖率大于等于所述第一覆盖率阈值、且小于所述第二覆盖率阈值时,输出第二级提醒模式。第二级提醒模式可以是输出建议修正,建议修正代表测试用例的测试过程中具有一定的覆盖率,存在较低的隐患,则此时可以对其进行建议。
当所述综合代码覆盖率大于等于所述第二覆盖率阈值时,输出第三级提醒模式。第三级提醒模式输出可以是覆盖率较高、较为稳定,此时中台在后期的运行过程中,出现漏洞(BUG)的可能较小。
本发明提供的技术方案,基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护包括:
通过以下公式计算综合代码覆盖率,
Figure 617830DEST_PATH_IMAGE012
其中,F1为综合代码覆盖率,U为先前代码测试清单中行的数量值,X为先前代码实际清单中行的数量值,K为先前代码权重值,G为新代码测试清单中行的数量值,Y为新代码实际清单中行的数量值,L为新代码权重值,F2为第一覆盖率阈值,V1为综合权重值,t为最低单项测试率。
通过
Figure 638876DEST_PATH_IMAGE013
可以得到先前代码覆盖率,
Figure 965952DEST_PATH_IMAGE014
结合其权重值可以得到其对综合代码覆盖率 至的影响;通过
Figure 984724DEST_PATH_IMAGE015
可以得到新代码覆盖率,
Figure 443256DEST_PATH_IMAGE015
结合其权重值可以得到其对综合代码覆盖率 至的影响。本发明中的新代码权重值L优选大于先前代码权重值K,该种方式能够使新代码 覆盖率对综合代码覆盖率的影响大于先前代码覆盖率对综合代码覆盖率的影响,因为先前 代码相对于新代码会更加的稳定,即使先前代码的代码覆盖率低一些也会使其稳定性大于 新代码,所以本发明在得到综合代码覆盖率更加的适用当前的场景,能更加准确反映出中 台的稳定性。
Figure 205675DEST_PATH_IMAGE016
时,则证明此时先前代码覆盖率已经小于最低单项测试率了,此时较大概 率未测试的先前代码可能会出现漏洞的情况,所以此时不再需要计算综合代码覆盖率,直 接认为综合覆盖率小于第一覆盖率阈值,即
Figure 121679DEST_PATH_IMAGE017
Figure 373669DEST_PATH_IMAGE018
时,则证明此时新代码覆盖率已经小于最低单项测试率了,此时较大概 率未测试的新代码可能会出现漏洞的情况,所以此时不再需要计算综合代码覆盖率,直接 认为综合覆盖率小于第一覆盖率阈值,即
Figure 7912DEST_PATH_IMAGE019
本发明的背景技术中已经说明了,BUG(漏洞)出现问题主要包括以下两个原因:
1、新功能带来的BUG(漏洞);
2、新功能(版本)与先前的功能(版本)没有做好有效的兼容,导致出现BUG(漏洞)。
通过本发明采取的自维护方式,可以对新功能进行再次的测试,即达到测试新功能带来的BUG(漏洞)的目的。对先前功能测试的目的就是判断在引入新功能后会不会对先前的功能造成影响,即新功能(版本)与先前的功能(版本)没有做好有效的兼容,导致出现BUG(漏洞)。本发明提供的自维护方法,能够有效解决以上的问题。
本发明提供的技术方案,具体还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护。当本发明输出第二级提醒模式后,如果管理员对整个系统进行了精细维护,则证明本发明的提醒是管理员需要的,此时应该上调综合权重值,以严格执行代码覆盖率的检测。预设时间段可以是1天、1周等等,本发明不做限制。
判断所述维护数据为进行维护,通过以下公式V1对综合权重值进行上调整,包括,
Figure 574023DEST_PATH_IMAGE020
其中,V2为上调后的综合权重值,
Figure 406850DEST_PATH_IMAGE021
为上调系数,k为基准系数。基准系数和上调 系数可以是预先设置的,可以根据实际的场景设置。
本发明提供的技术方案,具体还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护。当本发明输出第二级提醒模式后,如果管理员没有对整个系统进行维护,则证明本发明的提醒可能是管理员不需要的,此时应该下调综合权重值,以宽松执行代码覆盖率的检测。预设时间段可以是1天、1周等等,本发明不做限制。
判断所述维护数据为不进行维护,通过以下公式V1对综合权重值进行下调整,包括,
Figure 767424DEST_PATH_IMAGE022
其中,V 3 为下调后的综合权重值,
Figure 154543DEST_PATH_IMAGE023
为下调系数,k为基准系数。基准系数和上调 系数可以是预先设置的,可以根据实际的场景设置。
Figure 55503DEST_PATH_IMAGE024
本发明提供的技术方案还提供一种基于测试用例的中台自维护装置,如图3所示,在中台的软件运行系统更新后,通过以下模块对中台自维护,包括:
判断模块,用于获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件;
测试模块,用于若不满足预设条件,获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例对所述中台的软件运行系统进行测试;
维护模块,用于当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护;
获取模块,用于当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率;
提醒模块,用于基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.基于测试用例的中台自维护方法,其特征在于,在中台的软件运行系统更新后,通过以下步骤对中台自维护,包括:
获取中台的历史行为信息、机器信息、测试用例集合,所述机器信息包括缓存信息和处理速度信息,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件,若满足则执行下一步;
获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例,对所述中台的软件运行系统进行测试;
当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护;
当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率;
基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。
2.根据权利要求1所述的基于测试用例的中台自维护方法,其特征在于,
获取中台的历史行为信息、机器信息、测试用例集合,判断所述历史行为信息、机器信息、测试用例集合满足预设条件包括:
获取所述历史行为信息中的最空闲时间段,所述历史行为信息包括多个时间段以及每个时间段对应的业务量信息,其中业务量信息最少的时间段为最空闲时间段;
当达到最空闲时间段后,判断所述机器信息和测试用例集合是否满足预设条件;
若所述机器信息和测试用例集合的综合机器数值大于预设机器值,则所述历史行为信息、机器信息、测试用例集合满足预设条件。
3.根据权利要求2所述的基于测试用例的中台自维护方法,其特征在于,
若所述机器信息和测试用例集合的综合机器数值大于预设机器值,则所述历史行为信息、机器信息、测试用例集合满足预设条件包括:
所述缓存信息包括缓存剩余空间的数量值,所述处理速度信息包括CPU占用率值,所述测试用例集合包括先前功能测试用例和新功能测试用例;
通过以下公式计算综合机器数值,
Figure 591839DEST_PATH_IMAGE002
其中,S为综合机器数值 ,
Figure DEST_PATH_IMAGE003
为缓存剩余空间的权重值,
Figure 885810DEST_PATH_IMAGE004
为缓存剩余空间的数量值,
Figure DEST_PATH_IMAGE005
为CPU占用率值的权重值,
Figure 540914DEST_PATH_IMAGE006
为CPU占用率值,其中
Figure DEST_PATH_IMAGE007
为先前功能测试用例中第
Figure 310024DEST_PATH_IMAGE008
个测试用例 的数据值,
Figure DEST_PATH_IMAGE009
为新功能测试用例中第
Figure 796501DEST_PATH_IMAGE010
个测试用例的数据值,
Figure DEST_PATH_IMAGE011
为常数值,
Figure 7513DEST_PATH_IMAGE012
机器权重值;
当综合机器数值S小于预设机器值时,则所述历史行为信息、机器信息、测试用例集合满足预设条件。
4.根据权利要求1所述的基于测试用例的中台自维护方法,其特征在于,
当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率包括:
获取先前的软件功能的所有代码生成先前代码实际清单,所述先前代码实际清单中包括多个行;
提取所述软件运行系统执行先前功能测试用例时所运行的代码行,生成先前代码测试清单,所述先前代码测试清单中包括多个行;
获取新的软件功能的所有代码生成新代码实际清单,所述新代码实际清单中包括多个行;
提取所述软件运行系统执行新功能测试用例时所运行的代码行,生成新代码测试清单,所述新代码测试清单中包括多个行;
根据所述先前代码实际清单和先前代码测试清单得到先前代码覆盖率,根据所述新代码实际清单和新代码测试清单得到新代码覆盖率。
5.根据权利要求4所述的基于测试用例的中台自维护方法,其特征在于,
基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护包括:
预先配置三级提醒级以及与三级提醒级分别对应的第一覆盖率阈值、第二覆盖率阈值,所述第一覆盖率阈值小于所述第二覆盖率阈值;
当所述综合代码覆盖率小于所述第一覆盖率阈值时,输出第一级提醒模式;
当所述综合代码覆盖率大于等于所述第一覆盖率阈值、且小于所述第二覆盖率阈值时,输出第二级提醒模式;
当所述综合代码覆盖率大于等于所述第二覆盖率阈值时,输出第三级提醒模式。
6.根据权利要求5所述的基于测试用例的中台自维护方法,其特征在于,
基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护包括:
通过以下公式计算综合代码覆盖率,
Figure 87596DEST_PATH_IMAGE014
其中,
Figure DEST_PATH_IMAGE015
为综合代码覆盖率,
Figure 660397DEST_PATH_IMAGE016
为先前代码测试清单中行的数量值,
Figure DEST_PATH_IMAGE017
为先前代码实际 清单中行的数量值,
Figure 939063DEST_PATH_IMAGE018
为先前代码权重值,
Figure DEST_PATH_IMAGE019
为新代码测试清单中行的数量值,
Figure 309258DEST_PATH_IMAGE020
为新代码 实际清单中行的数量值,
Figure DEST_PATH_IMAGE021
为新代码权重值,
Figure 735691DEST_PATH_IMAGE022
为第一覆盖率阈值,
Figure DEST_PATH_IMAGE023
为综合权重值,
Figure 581025DEST_PATH_IMAGE024
为 最低单项测试率。
7.根据权利要求6所述的基于测试用例的中台自维护方法,其特征在于,还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护;
判断所述维护数据为进行维护,对综合权重值进行上调整得到调整后的综合权重值
Figure DEST_PATH_IMAGE025
8.根据权利要求6所述的基于测试用例的中台自维护方法,其特征在于,
还包括:
当输出第二级提醒模式后,获取用户的在预设时间段的维护数据,所述维护数据包括进行维护和不进行维护;
判断所述维护数据为不进行维护,对综合权重值进行下调整得到调整后的综合权重值
Figure 979776DEST_PATH_IMAGE026
9.基于测试用例的中台自维护装置,其特征在于,在中台的软件运行系统更新后,通过以下模块对中台自维护,包括:
判断模块,用于获取中台的历史行为信息、机器信息、测试用例集合,所述机器信息包括缓存信息和处理速度信息,判断所述历史行为信息、机器信息、测试用例集合是否满足预设条件;
测试模块,用于获取所述测试用例集合中的先前功能测试用例和新功能测试用例,基于所述先前功能测试用例和新功能测试用例对所述中台的软件运行系统进行测试;
维护模块,用于当判断先前功能测试用例和新功能测试用例中的任意一个在测试过程中对某一个接口调用出现漏洞时,则中台以断开新功能软件接口的方式实现自维护;
获取模块,用于当判断先前功能测试用例和新功能测试用例可以完成所有接口的调用时,则分别获取先前功能测试用例和新功能测试用例的先前代码覆盖率和新代码覆盖率;
提醒模块,用于基于所述先前代码覆盖率和新代码覆盖率生成综合代码覆盖率,基于所述综合代码覆盖率对管理员提醒维护。
10.存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现权利要求1至8任一所述的方法。
CN202111387519.6A 2021-11-22 2021-11-22 基于测试用例的中台自维护方法、装置及存储介质 Active CN113836043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111387519.6A CN113836043B (zh) 2021-11-22 2021-11-22 基于测试用例的中台自维护方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111387519.6A CN113836043B (zh) 2021-11-22 2021-11-22 基于测试用例的中台自维护方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN113836043A CN113836043A (zh) 2021-12-24
CN113836043B true CN113836043B (zh) 2022-02-18

Family

ID=78971457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111387519.6A Active CN113836043B (zh) 2021-11-22 2021-11-22 基于测试用例的中台自维护方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN113836043B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737597B (zh) * 2023-08-10 2023-10-20 杭银消费金融股份有限公司 测试用例处理方法、系统与存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045918A (zh) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 调试程序的方法、装置、客户端、存储介质及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234309A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Centralized code coverage data collection
CN106201863A (zh) * 2016-06-22 2016-12-07 广州唯品会信息科技有限公司 一种获取代码覆盖率的方法和装置
CN109542761B (zh) * 2018-10-11 2022-03-11 平安科技(深圳)有限公司 软件质量评估方法、装置及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045918A (zh) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 调试程序的方法、装置、客户端、存储介质及系统

Also Published As

Publication number Publication date
CN113836043A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN110515820B (zh) 一种服务器故障维护方法、装置、服务器及存储介质
CN108536592B (zh) 一种测试任务分派方法、装置及服务器
CN107689956B (zh) 一种异常事件的威胁评估方法及装置
CN111818066A (zh) 一种风险检测方法及装置
CN108243014B (zh) 一种语音催缴处理方法及装置
CN108492150B (zh) 实体热度的确定方法及系统
CN113836043B (zh) 基于测试用例的中台自维护方法、装置及存储介质
CN110502345A (zh) 一种过载保护方法、装置、计算机设备及存储介质
CN111626498A (zh) 设备运行状态预测方法、装置、设备及存储介质
CN114444570A (zh) 故障检测的方法、装置、电子设备及介质
CN111367782A (zh) 回归测试数据自动生成的方法及装置
CN109039695B (zh) 业务故障处理方法、装置及设备
CN117009221A (zh) 产品测试的处理方法、装置、设备、存储介质及程序产品
EP4022436A1 (en) Assigning a severity level to a computing service using tenant telemetry data
CN108961071B (zh) 自动预测组合业务收益的方法及终端设备
CN116645082A (zh) 一种系统巡检方法、装置、设备以及存储介质
CN111159169A (zh) 数据治理方法及设备
CN116362750A (zh) 数据筛选方法、装置、电子设备及存储介质
CN116208516A (zh) 企业互联网专线感知评估方法、装置、设备及介质
CN113676377B (zh) 基于大数据的在线用户数评估方法、装置、设备及介质
CN115130577A (zh) 一种欺诈号码识别方法、装置及电子设备
CN114650211A (zh) 故障修复方法、装置、电子设备和计算机可读存储介质
CN113157583A (zh) 一种测试方法、装置及设备
CN111611143A (zh) 数据处理方法及装置、电子设备和计算机可读存储介质
CN108132875B (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
GR01 Patent grant
GR01 Patent grant