CN115858348B - 一种基于字节码的测试工作量评估方法、设备及介质 - Google Patents
一种基于字节码的测试工作量评估方法、设备及介质 Download PDFInfo
- Publication number
- CN115858348B CN115858348B CN202211484949.4A CN202211484949A CN115858348B CN 115858348 B CN115858348 B CN 115858348B CN 202211484949 A CN202211484949 A CN 202211484949A CN 115858348 B CN115858348 B CN 115858348B
- Authority
- CN
- China
- Prior art keywords
- test
- code
- interface
- function
- evaluating
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000010586 diagram Methods 0.000 claims abstract description 22
- 238000012986 modification Methods 0.000 claims abstract description 22
- 230000004048 modification Effects 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 84
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002688 persistence Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于字节码的测试工作量评估方法、设备及介质,所述方法包括以下步骤:对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;对需要测试的接口计算出难度系数,根据难度系数评估测试工时。与现有技术相比,得到的调用关系数据的准确性不需要依赖上一版测试是否充分和全面,有效克服了测试范围不准确的问题。
Description
技术领域
本发明属于对测试范围评估和测试计划制定技术领域,涉及一种基于字节码的测试工作量评估方法、设备及介质。
背景技术
为了检查当前软件版本的发布质量,需要进行软件测试,进而需要评估测试范围。
现有技术采用以下步骤进行测试范围的评估,包括:基于差异的代码进行测试范围评估常规方案,使用字节码增强技术,动态采集代码执行信息,将测试用例与代码自动建立起关联。测试范围的推荐时,通过与历史版本进行代码比对或抽象语法树分析得到修改的代码,结合上一版本测试过程采集的用例与代码的关联信息,计算出需要测试的案例,实现测试用例的自动推荐。
但是现有技术实现测试用例的推荐依赖于历史的执行信息,用上一个版本的执行信息来评估当前版本要测试的用例,如果无历史执行信息或历史信息收集不完整,会出现无法推荐测试范围或推荐范围不准确。例如新开发的功能或上一个版本只进行部分场景的测试,此时如果基于上一个版本的执行信息来推荐当前版本的测试范围,会出现不能推荐测试范围和推荐范围不准确的情况。另外字节码增强技术只能对Java代码增强,用例可以与Java代码建立起关联,无法根据配置修改进行测试范围推荐。目前广泛使用的MyBatis作为数据持久层的项目,通常SQL会写在配置文件中,实际测试时如果忽略掉SQL修改进行测试范围推荐存在极大漏测风险。
发明内容
本发明的目的是提供一种基于字节码的测试工作量评估方法、设备及介质,以克服测试范围不准确的问题。
本发明的目的可以通过以下技术方案来实现:
一种基于字节码的测试工作量评估方法,所述测试工作量包括测试范围和测试工时,该方法包括以下步骤:
对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;
对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;
根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;
对需要测试的接口计算出难度系数,根据难度系数评估测试工时。
进一步地,所述的得到接口、函数和配置间的调用关系包括以下步骤:
步骤S101、对本应用发布的Jar进行解压,根据class文件的包名进行过滤,得到二进制class文件;
步骤S102、使用Javassist对所述class文件进行字节码分析,得到接口、配置和函数,进而得到函数的代码行数和函数的圈复杂度;
步骤S103、将所述接口、配置、函数、函数的代码行数和函数的圈复杂度写入图式数据库,得到接口、函数和配置间的调用关系。
进一步地,所述的代码行数的获取方法为通过CodeAttribute得到函数在源码中的起始行号和截止行号,所述起始行号和截止行号的差值为函数包含的代码行数。
进一步地,所述的圈复杂度的计算公式为:
V=D+1
式中V为圈复杂度,D为判定条件数。
进一步地,所述的判定条件数为包含条件运算的语句出现的次数。
进一步地,所述的条件运算包括if、else if、else、case、while、do while、for、三目运算符中的一个或多个。
进一步地,所述的难度系数的计算公式为:
DD=Vmax×60%+Vmed×30%+n×10%
式中,DD为难度系数,Vmax为圈复杂度最大值,Vmed为圈复杂度中位数,所n为代码行数系数。
进一步地,所述的代码行数系数n的取值方法为:
若N≤80,则n=0.25;
若80<N≤160,则n=0.5;
若160<N≤240,则n=0.75;
若N>240,则n=1,
其中,N为代码行数。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于字节码的测试工作量评估方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行所述基于字节码的测试工作量评估方法的计算机程序。
与现有技术相比,本发明具有以下效果:
1.本发明通过对class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据指令集差异获得代码修改信息,根据调用关系和代码修改信息进一步评估测试范围和测试工时,与现有技术相比,得到的调用关系数据的准确性不需要依赖上一版测试是否充分和全面,有效克服了测试范围不准确的问题。
2.本发明根据判断条件的数量对测试接口进行难度评估,实现可以辅助制定合理的测试计划和人力安排。
3.本发明与现有技术中字节码增强技术只能对Java代码增强相比,字节码分析技术适用性强,有效解决了现有技术中无法根据配置修改进行测试范围推荐的问题,降低了漏测风险。
附图说明
图1为本发明方法流程图;
图2为本发明接口和函数间的调用关系图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
本发明提供一种基于字节码的测试工作量评估方法,如图1所示,包括以下步骤:
步骤S1、对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;
具体地,得到接口、函数和配置间的调用关系包括以下步骤:
步骤S101、对本应用发布的Jar进行解压,根据class文件的包名进行过滤,得到二进制class文件;
步骤S102、使用Javassist对所述class文件进行字节码分析,得到接口、配置和函数,进而得到函数的代码行数和函数的圈复杂度。
更具体地,静态代码扫描,获取应用包含的接口,接口内函数间的调用关系,数据持久层函数关联的SQL,每个函数的圈复杂度。将以上信息存储到图式数据库,根据接口URL、函数名称、配置项名称创建节点,根据代码调用关系建立节点间的关系,为测试范围推荐提供基础数据。
其中,节点命名规则说明如下:
URL节点:接口URL
函数节点:包名.类名.函数名(参数类型,……)
SQL节点:SQL的MD5值
以上示例中描述了一个项目添加、修改、删除功能的代码调用关系图,com.spd.UserService.getUserInfo(int)获取当前登录用户信息,com.spd.WorkLineService.checkProjectAndUser(int,int)项目添加和编辑时校验,当前用户的部门与项目的部门是否一致,校验时需要查询用户和项目信息。
推荐接口示例:
如图2第三个节点的SQL被修改,通过在调用关系图里进行逆向查找(红色的线),最终得出需要测试的接口/project/add、/project/update。
对应用发布的Jar进行解压(包括依赖的Jar),根据class文件的包名(package)过滤出属于本应用的代码编译产生的二进制class文件,对开发框架和第三方Jar引入的class文件进行排除,使用Javassist对目标Class文件进行字节码解析,得到类的名称、类中包含的属性和函数,函数内调用的其他函数,函数的代码行数,函数的圈复杂度。将函数的调用关系写入图式数据库,每个属性、函数在图式数据库中均是一个节点,根据代码调用关系建立节点间关联关系。
接口扫描,对Class进行字节码解析时,类的定义如果包含@Controoler或@RestController注解,通过对类和函数上的@RequestMapping、@PostMapping、@GetMapping、@DeleteMapping、@PutMapping等进行解析,得到接口的URL,同时将URL与对应函数建立起关联关系。
SQL文件扫描,通常使用MyBatis作为数据持久层的项目,对每张数据表操作会定义一个接口和xml文件,接口的定义会包含@Mapper注解,SQL配置在xml文件中,接口中函数名与xml文件中配置ID是一致的。对Class进行字节码解析时,如果发现有@Mapper注解,根据函数名到对应XML文件找到对应的SQL,根据SQL字符串计算MD5,将对应的MD5值与接口中定义的函数建立起关联关系。
具体地,代码行数的获取方法为通过CodeAttribute得到函数在源码中的起始行号和截止行号,所述起始行号和截止行号的差值为函数包含的代码行数。
具体地,圈复杂度的计算公式为:
V=D+1
式中V为圈复杂度,D为判定条件数,判定条件数为包含条件运算的语句出现的次数,条件运算包括if、else if、else、case、while、do while、for、三目运算符等。
步骤S103、将所述接口、配置、函数、函数的代码行数和函数的圈复杂度写入图式数据库,得到接口、函数和配置间的调用关系,见图2。
步骤S2、对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;
具体地,将当前版本Jar包与历史版本Jar包解压和class文件过滤,处理过程与静态代码扫描相同。对class文件每个函数指令集进行比较,如果指令集有差别则判定为本函数在当前版本中被修改。比对时只需要对当前版本所有函数与历史版本比较,只需要关注是否是修改和添加的方法,不只需要关注函数是否在当前版本被删除,如果一个函数被删除,其调用的函数一定会被修改,忽略删除的函数不会影响推荐的结果。
步骤S3、根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;
具体地,根据修改代码信息,结合代码表静态代码扫描得到的接口及函数的调用关系图,使用HQL查询语句即可得到当前版本修改的代码最终影响到了那些接口。测试人员可以根据这些需要测试的接口评估出测试范围。
步骤S4、对需要测试的接口计算出难度系数,根据难度系数评估测试工时。
具体地,根据需要测试的接口,在图式数据库中查出接口调用的所有函数,同一函数根据复杂度和代码行数计算出接口测试的难度系数,测试负责人可以根据测试难度系数测试推荐的工作量制定测试计划。
具体地,难度系数的计算公式为:
DD=Vmax×60%+Vmed×30%+n×10%
式中,DD为难度系数,Vmax为圈复杂度最大值,Vmed为圈复杂度中位数,所n为代码行数系数。
其中,代码行数系数n的取值方法为:
若N≤80,则n=0.25;
若80<N≤160,则n=0.5;
若160<N≤240,则n=0.75;
若N>240,则n=1,
其中,N为代码行数。
本发明通过对项目发布的Jar包利用Javassist对二进制class文件进行字节码分析,得到接口、函数、配置间的调用关系,构建出调用关系图;根据字节码指令差异发现代码的修改,根据调用关系图和代码修改计算出需要测试的接口。对需要测试的接口计算出难度系数,根据难度系数辅助进行测试计划制定。
通过分析代码本身的逻辑结构得到系统内函数间的调用关系,增加根据判断分支的数量对测试接口进行难度评估,辅助制定合理的测试计划和人力安排。
在具体的应用中,根据难度系数,获得接口测试难易程度和工作量,如表1所示。
表1
难度系数 | 接口测试难易程度 | 工作量 |
0-10 | 简单 | 0.1–0.5人天 |
11-20 | 一般 | 0.5–1人天 |
20-30 | 复杂 | 1–2人天 |
30-40 | 非常复杂 | 2–3人天 |
大于50 | 非常复杂 | 3人天以上 |
下面举例说明接口难度系数的计算。
例如:接口/project/add,调用的函数及每个函数的圈复杂度、行数如表2所示。
表2
函数 | 圈复杂度 | 代码行数 |
com.spd.ProjectController.add | 1 | 10 |
com.spd.UserService.getUserInfo | 4 | 60 |
com.spd.WorkLineService.checkProjectAndUser | 12 | 120 |
com.spd.ProjectService.getModel | 6 | 30 |
com.spd.ProjectService.add | 3 | 10 |
圈复杂度最大值::12
圈复杂度中位数:4(对圈复杂度排序1、3、4、6、12,中位数为第3个数,值为4)
难度系数:12*60%+4*30%+(0+0+0.5+0+0)*10%=8.45
根据难度系数,说明此功能较简单,合理的测试工时在0.1至0.5人天之间。
本发明对被测试项目class文件进行字节码解析,得到接口与代码、代码与配置间的调用关系,最终构建出一张网状的调用关系图,数据准确并且能被信任,在关系图中可以得到接口调用了哪些函数(包含多级子调用),函数在那些接口中被使用。基于调用关系图和代码修改信息,可以计算出当前修改的代码最终影响到的接口,测试人员可以基于需要测试的接口进行测试范围的评估。对class文件进行字节码解析,同时分析出每个函数的圈复杂度,根据接口调用所有函数的圈复杂度及代码量,计算出测试难度系数,测试负责人可根据此难度系数合理分配测试时间和人员。
此发明通过对代码本身的结构进行分析,得到可靠的调用关系,解决了如果Agent采集的数据不准确会出现推荐的测试范围失真的情况。此提案还可实现对每个接口测试难易程度进行建模并度量,辅助测试负责人制定合理的测试计划。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
实施例2
本发明还提供一种电子设备,包括存储器以及处理器,所述存储器中存储有计算机程序,所述处理器执行所述程序时实现实施例1中所述的所有方法。
上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种基于字节码的测试工作量评估方法,其特征在于,所述测试工作量包括测试范围和测试工时,该方法包括以下步骤:
对测试项目class文件进行字节码分析,得到接口、函数和配置间的调用关系,根据调用关系,构建调用关系图;
对当前版本和历史版本的class文件中每个函数指令集进行比较,获得代码修改信息;
根据调用关系图和代码修改信息得到需要测试的接口,根据需要测试的接口评估测试范围;
对需要测试的接口计算出难度系数,根据难度系数评估测试工时;
所述的得到接口、函数和配置间的调用关系包括以下步骤:
步骤S101、对本应用发布的Jar进行解压,根据class文件的包名进行过滤,得到二进制class文件;
步骤S102、使用Javassist对所述class文件进行字节码分析,得到接口、配置和函数,进而得到函数的代码行数和函数的圈复杂度;
步骤S103、将所述接口、配置、函数、函数的代码行数和函数的圈复杂度写入图式数据库,得到接口、函数和配置间的调用关系。
2.根据权利要求1所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的代码行数的获取方法为通过CodeAttribute得到函数在源码中的起始行号和截止行号,所述起始行号和截止行号的差值为函数包含的代码行数。
3.根据权利要求1所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的圈复杂度的计算公式为:
V=D+1
式中V为圈复杂度,D为判定条件数。
4.根据权利要求3所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的判定条件数为包含条件运算的语句出现的次数。
5.根据权利要求4所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的条件运算包括if、else if、else、case、while、do while、for、三目运算符中的一个或多个。
6.根据权利要求1所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的难度系数的计算公式为:
DD=vmax×60%+vmed×30%+n×10%
式中,DD为难度系数,Vmax为圈复杂度最大值,Vmed为圈复杂度中位数,所n为代码行数系数。
7.根据权利要求6所述的一种基于字节码的测试工作量评估方法,其特征在于,所述的代码行数系数n的取值方法为:
若N≤80,则n=0.25;
若80<N≤160,则n=0.5;
若160<N≤240,则n=0.75;
若N>240,则n=1,
其中,N为代码行数。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述基于字节码的测试工作量评估方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述基于字节码的测试工作量评估方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484949.4A CN115858348B (zh) | 2022-11-24 | 2022-11-24 | 一种基于字节码的测试工作量评估方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211484949.4A CN115858348B (zh) | 2022-11-24 | 2022-11-24 | 一种基于字节码的测试工作量评估方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115858348A CN115858348A (zh) | 2023-03-28 |
CN115858348B true CN115858348B (zh) | 2024-05-31 |
Family
ID=85666015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211484949.4A Active CN115858348B (zh) | 2022-11-24 | 2022-11-24 | 一种基于字节码的测试工作量评估方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858348B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909510A (zh) * | 2017-03-02 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 一种获取测试用例的方法以及服务器 |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
CN107992424A (zh) * | 2017-12-15 | 2018-05-04 | 平安科技(深圳)有限公司 | 自动化测试分析方法、应用服务器及计算机可读存储介质 |
CN111897727A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备及存储介质 |
CN112380123A (zh) * | 2020-11-13 | 2021-02-19 | 众信方成智能科技(南京)有限公司 | 一种面向c/c++混源软件的自动化质量评估系统设计方法 |
CN113760307A (zh) * | 2020-11-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 获取应用代码的差异化覆盖率的方法和装置 |
CN114579452A (zh) * | 2022-03-07 | 2022-06-03 | 北京有竹居网络技术有限公司 | 接口影响检测方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858141B (zh) * | 2018-08-23 | 2023-07-28 | 西门子股份公司 | 分层架构软件中代码评估方法、装置及存储介质 |
-
2022
- 2022-11-24 CN CN202211484949.4A patent/CN115858348B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909510A (zh) * | 2017-03-02 | 2017-06-30 | 腾讯科技(深圳)有限公司 | 一种获取测试用例的方法以及服务器 |
CN107239396A (zh) * | 2017-05-11 | 2017-10-10 | 东南大学 | 一种基于代码圈复杂度度量的软件演化评估方法 |
CN107992424A (zh) * | 2017-12-15 | 2018-05-04 | 平安科技(深圳)有限公司 | 自动化测试分析方法、应用服务器及计算机可读存储介质 |
CN111897727A (zh) * | 2020-07-30 | 2020-11-06 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备及存储介质 |
CN112380123A (zh) * | 2020-11-13 | 2021-02-19 | 众信方成智能科技(南京)有限公司 | 一种面向c/c++混源软件的自动化质量评估系统设计方法 |
CN113760307A (zh) * | 2020-11-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 获取应用代码的差异化覆盖率的方法和装置 |
CN114579452A (zh) * | 2022-03-07 | 2022-06-03 | 北京有竹居网络技术有限公司 | 接口影响检测方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115858348A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fluri et al. | Analyzing the co-evolution of comments and source code | |
CN110908997A (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN105068921B (zh) | 基于App对比分析的Android应用商店可信度的评价方法 | |
US9098630B2 (en) | Data selection | |
CN107077413A (zh) | 数据驱动的测试框架 | |
US20220222253A1 (en) | Sql statement generator | |
CN112825068B (zh) | 数据血缘生成方法及装置 | |
CN117076742A (zh) | 数据血缘追踪方法、装置及电子设备 | |
CN112579440B (zh) | 一种虚拟测试依赖对象的确定方法及装置 | |
Wilkie et al. | Tool support for measuring complexity in heterogeneous object-oriented software | |
US10360208B2 (en) | Method and system of process reconstruction | |
CN115858348B (zh) | 一种基于字节码的测试工作量评估方法、设备及介质 | |
Akca et al. | Run-time measurement of cosmic functional size for java business applications: Initial results | |
Lavazza et al. | Automated Measurement of UML Models: an open toolset approach. | |
Sabir et al. | A lightweight approach for specification and detection of SOAP anti-patterns | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN113032254B (zh) | 测试覆盖情况的评估方法和装置 | |
US20050015264A1 (en) | Methods, systems, and a computer-readable medium for defining and evaluating business rules during runtime of a computer software application program | |
CN115438341A (zh) | 提取代码循环计数器的方法、装置、存储介质和电子设备 | |
Liu et al. | Extraction of attribute dependency graph from database applications | |
KirMani | Dimensional Modeling Using Star Schema for Data Warehouse Creation | |
CN113590686A (zh) | 生态环境数据指标的处理方法、装置及设备 | |
Zäschke et al. | Improving conceptual data models through iterative development | |
CN117472641B (zh) | 数据质量的检测方法、装置、电子设备及存储介质 | |
Zhang et al. | Composite‐Level Conflict Detection in UML Model Versioning |
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 |