CN113342659A - 一种自动调度代码覆盖率工具的方法 - Google Patents
一种自动调度代码覆盖率工具的方法 Download PDFInfo
- Publication number
- CN113342659A CN113342659A CN202110653904.4A CN202110653904A CN113342659A CN 113342659 A CN113342659 A CN 113342659A CN 202110653904 A CN202110653904 A CN 202110653904A CN 113342659 A CN113342659 A CN 113342659A
- Authority
- CN
- China
- Prior art keywords
- case set
- tested
- code coverage
- coverage rate
- test case
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012360 testing method Methods 0.000 claims abstract description 65
- 230000008859 change Effects 0.000 claims abstract description 58
- 238000012423 maintenance Methods 0.000 description 5
- 239000013589 supplement Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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是根据一示例性实施例示出的一种自动调度代码覆盖率工具的方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
随着接口自动化用例的逐渐增加;自动化用例维护成本逐渐加大;项目组一味追求自动化用例量的提升;但是质的变化却得不到体现;现有的自动化用例发现的缺陷很少;测试人员补充用例无依实时依据。为了解决以上问题,本申请提供一种自动调度代码覆盖率工具的方法。
请参阅图1,图1是根据一示例性实施例示出的一种自动调度代码覆盖率工具的方法的流程图,如图1所示,该自动调度代码覆盖率工具的方法包括如下步骤:
步骤S101、获取待测试用例集的执行状态和执行时间;
步骤S102、根据所述待测试用例集的执行状态和执行时间,判断所述待测试用例集是否变化,得到所述待测试用例集的变化结果;
其中,判断测试用例集内容是否发生变更,包括:
调用逻辑检查工具,判断测试用例集中的应用主干是否有代码变更,得到测试用例集内容变更结果。
包括,所述待测试用例集的应用名称的变化,和/或,所述待测试用例集的代码变化。
根据所述待测试用例集的应用名称的变化,和/或,所述待测试用例集的代码变化,判断所述待测试用例集是否变化,得到所述待测试用例集的变化结果。
一个实施例中,在判断所述待测试用例集是否有变化时,判断待测试用例集的应用名称是否有变化,和/或,待测试用例集的代码是否变化,只要待测试用例集的应用名称或待测试用例集的代码其中一项有变化,则判断定为待测试用例集是有变化的;当待测试用例集的应用名称和待测试用例集的代码都没有变化的时候,则判断定为待测试用例集是没有变化的。
步骤S103、若所述待测试用例集的变化结果为有变更,则调用代码覆盖率工具,生成新的代码覆盖率;
步骤S104、若所述待测试用例集的变化结果为无变更,则判断测试用例集内容是否发生变更,得到测试用例集内容变更结果
步骤S104、若所述测试用例集内容变化结果为有变更,则调用代码覆盖率生成工具,生成新的代码覆盖率;
步骤S106、若所述测试用例集内容变化结果为无变更,则保持上一次的代码覆盖率。
需要说明的是,只有当测试用例集被重新执行过,且已执行完成才会进一步判断测试用例集内容是否发生变化,否则不会触发代码覆盖率生成工具;也不用判断测试用例集是否有变化;当测试用例集被重新执行过且刚刚执行完成时就会触发用例集得检查逻辑。检查测试用例集内容是否发生变更。只有待测试用例集的代码或者待测试用例集的应用名称或应用主干代码发生变化时,才调用代码覆盖率工具,生成新的代码覆盖率;如果两者都无变化时,取上一次最新生成的代码覆盖率。
可以理解为,本申请提供的一种自动调度代码覆盖率工具的方法,通过获取待测试用例集的执行状态和执行时间;根据所述待测试用例集的执行状态和执行时间,判断所述待测试用例集是否变化,得到所述待测试用例集的变化结果;若所述待测试用例集的变化结果为有变更,则调用代码覆盖率生成工具,生成新的代码覆盖率;若所述待测试用例集的变化结果为无变更,则判断测试用例集内容是否发生变更,得到测试用例集内容变更结果;若所述测试用例集内容变化结果为有变更,则调用代码覆盖率生成工具,生成新的代码覆盖率;若所述测试用例集内容变化结果为无变更,则保持上一次的代码覆盖率。主要是将代码覆盖率工具和接口自动化框架结合,通过获取每个用例集的执行状态,当每个用例集每执行完一次;就会自动生成该用例集的代码覆盖率;为测试人员排查问题及补充自动化用例提供场景和依据,同时测试人员通过代码覆盖率数据的展示,大大提升了测试人员自动化脚本的维护意识。
作为上述实施例的进一步改进,一些实施例中,在获取测试用例集的执行状态之前,包括:
判断所述测试用例集是否启动,得到判断结果;
根据所述判断结果,得到所述用例集的执行状态。
作为上述实施例的进一步改进,一些实施例中,在获取测试用例集的执行状态之前,包括:
判断所述测试用例集是否完成,得到判断结果;
根据所述判断结果,得到所述用例集的执行状态。
可以理解为,本发明将代码覆盖率工具和接口自动化框架结合,通过获取每个用例集的执行状态,当每个用例集每执行完一次;就会自动生成该用例集的代码覆盖率;为测试人员排查问题及补充自动化用例提供场景和依据;同时测试人员通过代码覆盖率数据的展示,大大提升了测试人员自动化脚本的维护意识。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。
应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (5)
1.一种自动调度代码覆盖率工具的方法,其特征在于,所述方法包括:
获取待测试用例集的执行状态和执行时间;
根据所述待测试用例集的执行状态和执行时间,判断所述待测试用例集是否变化,得到所述待测试用例集的变化结果;
若所述待测试用例集的变化结果为有变更,则调用代码覆盖率生成工具,生成新的代码覆盖率;
若所述待测试用例集的变化结果为无变更,则判断测试用例集内容是否发生变更,得到测试用例集内容变更结果;
若所述测试用例集内容变化结果为有变更,则调用代码覆盖率生成工具,生成新的代码覆盖率;
若所述测试用例集内容变化结果为无变更,则保持上一次的代码覆盖率。
2.根据权利要求1所述的方法,其特征在于,在获取测试用例集的执行状态之前,包括:
判断所述测试用例集是否启动,得到判断结果;
根据所述判断结果,得到所述用例集的执行状态。
3.根据权利要求1所述的方法,其特征在于,在获取测试用例集的执行状态之前,包括:
判断所述测试用例集是否完成,得到判断结果;
根据所述判断结果,得到所述用例集的执行状态。
4.根据权利要求1所述的方法,其特征在于,根据所述待测试用例集的执行状态,判断所述待测试用例集是否变化,得到所述待测试用例集的变化结果,包括:
所述待测试用例集的应用名称的变化,和/或,所述待测试用例集的代码变化。
5.根据权利要求4所述的方法,其特征在于,所述判断测试用例集内容是否发生变更,包括:
调用逻辑检查工具,判断测试用例集中的应用主干是否有代码变更,得到测试用例集内容变更结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653904.4A CN113342659A (zh) | 2021-06-11 | 2021-06-11 | 一种自动调度代码覆盖率工具的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653904.4A CN113342659A (zh) | 2021-06-11 | 2021-06-11 | 一种自动调度代码覆盖率工具的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342659A true CN113342659A (zh) | 2021-09-03 |
Family
ID=77476931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110653904.4A Pending CN113342659A (zh) | 2021-06-11 | 2021-06-11 | 一种自动调度代码覆盖率工具的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342659A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664372A (zh) * | 2018-05-08 | 2018-10-16 | 平安科技(深圳)有限公司 | 测试过程的监控装置、方法及计算机可读存储介质 |
CN109739759A (zh) * | 2018-12-28 | 2019-05-10 | 中核控制系统工程有限公司 | 一种验证黑盒测试用例设计完整性的方法 |
CN111666209A (zh) * | 2020-05-20 | 2020-09-15 | 牡丹江师范学院 | 一种基于多目标优化的测试用例优先级排序方法 |
-
2021
- 2021-06-11 CN CN202110653904.4A patent/CN113342659A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664372A (zh) * | 2018-05-08 | 2018-10-16 | 平安科技(深圳)有限公司 | 测试过程的监控装置、方法及计算机可读存储介质 |
CN109739759A (zh) * | 2018-12-28 | 2019-05-10 | 中核控制系统工程有限公司 | 一种验证黑盒测试用例设计完整性的方法 |
CN111666209A (zh) * | 2020-05-20 | 2020-09-15 | 牡丹江师范学院 | 一种基于多目标优化的测试用例优先级排序方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232024B (zh) | 软件自动化测试框架及测试方法 | |
CN110765018B (zh) | 接口自动化测试方法及设备 | |
CN107370637B (zh) | 车载ecu通信功能自动化测试系统及方法 | |
CN112839323A (zh) | 蓝牙设备的测试方法、装置、终端和计算机可读存储介质 | |
CN109857643A (zh) | 一种虚拟化平台性能自动测试的方法及装置 | |
CN111639026A (zh) | 接口测试方法、装置和系统 | |
CN113342659A (zh) | 一种自动调度代码覆盖率工具的方法 | |
CN111881021A (zh) | 接口测试方法、装置和系统 | |
CN101673200A (zh) | 用户输入模型的检测方法及装置 | |
CN112148599A (zh) | 性能压测方法、装置及设备 | |
CN114385507A (zh) | 软件测试用例生成方法 | |
US8855801B2 (en) | Automated integration of feedback from field failure to order configurator for dynamic optimization of manufacturing test processes | |
CN115982043A (zh) | 一种车辆接口测试方法、装置、设备及存储介质 | |
CN110971483B (zh) | 一种压力测试的方法、装置及计算机系统 | |
CN114285840A (zh) | 车辆数据的获取方法、智能终端及存储介质 | |
CN111090574B (zh) | 一种回归测试方法、装置及存储介质 | |
CN114401032B (zh) | 面向卫星通信综测仪的测试方法及系统 | |
CN109857635A (zh) | 一种测试用例类输出信息的方法和装置 | |
CN103377121B (zh) | 一种耦合风险的检测方法和装置 | |
CN113778770B (zh) | 一种用于硬盘芯片的检测方法及系统 | |
CN114138656A (zh) | 性能基准测试方法 | |
CN115344479A (zh) | 增量代码覆盖率合并方法、系统、电子设备和存储介质 | |
CN117389891A (zh) | 一种接口自动化测试方法和设备 | |
CN115905024A (zh) | 一种接口执行验证方法、装置和设备 | |
CN114553748A (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 |