CN110377493A - 一种面向代码可读性的单元测试用例优化方法 - Google Patents

一种面向代码可读性的单元测试用例优化方法 Download PDF

Info

Publication number
CN110377493A
CN110377493A CN201810325049.2A CN201810325049A CN110377493A CN 110377493 A CN110377493 A CN 110377493A CN 201810325049 A CN201810325049 A CN 201810325049A CN 110377493 A CN110377493 A CN 110377493A
Authority
CN
China
Prior art keywords
class
segment
frci
code
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.)
Granted
Application number
CN201810325049.2A
Other languages
English (en)
Other versions
CN110377493B (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.)
NANJING MUCE INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NANJING MUCE 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 NANJING MUCE INFORMATION TECHNOLOGY Co Ltd filed Critical NANJING MUCE INFORMATION TECHNOLOGY Co Ltd
Priority to CN201810325049.2A priority Critical patent/CN110377493B/zh
Publication of CN110377493A publication Critical patent/CN110377493A/zh
Application granted granted Critical
Publication of CN110377493B publication Critical patent/CN110377493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3684Test management for test design, e.g. generating new test cases
    • 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

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

一种面向代码可读性的单元测试用例优化方法
技术领域
本发明属于软件测试与程序分析领域,尤其适用于软件测试中的单元测试用例自动生成领域,其目的在于优化自动化生成工具所生成单元测试用例代码的可读性,是一种提高软件可读性、可理解性、可维护性的软件质量保障方法。
背景技术
软件测试是软件研发过程中的一项重要工作,其中测试用例生成是软件测试过程中代价最高的工作之一。单元测试是软件测试过程中的重要阶段。通过单元测试,可以对软件中的最小可测单元进行检查和验证,帮助开发人员开展代码自查,减轻后期研发人员在集成测试、系统测试时的负担。因此,如果能够自动完成单元测试用例的生成、执行和检查工作,可以有效降低质量保障人员的工作压力,提高软件研发工作的生产效率,增加软件产品的生产质量和可靠性。
目前,针对单元测试工作任务重、时间紧、强度高所带来的挑战,国内外研究人员相继提出了多种单元测试用例自动化生成方法,并开发了数种单元测试用例自动化生成工具,如Randoop、EvoSuite、GRT等。理论及实证研究表明,上述方法和工具生成的单元测试用例具有较好的错误检测能力和代码覆盖水平,为研发人员开展单元测试提供了一定的帮助。然而,上述方法及工具均未考虑所生成单元测试用例的可读性,由此造成生成结果可读性非常差,严重影响了研发人员对测试代码的理解,也对维护人员后期维护带来了较大的不便。更严重的情况下,开发人员需要花费比手动生成更多的时间来阅读和理解自动生成的测试代码。此时,使用自动化生成工具反而会造成软件测试效率的下降。
对此,本发明提出一种面向代码可读性的单元测试用例生成方法。本发明的基本思想为:与自动化生成工具随机初始化类实例相比,存在于源程序中的类实例化方式更符合研发人员的编程思想和阅读习惯,因而可以用于指导自动化生成代码的可读性优化。对此,针对自动化生成工具生成的单元测试用例代码,首先通过程序流分析和依赖性分析挖掘源程序中各个类的实例化代码片段,进而构建类实例化片段仓库FRCI(FragmentRepository of Class Instantiation);然后在FRCI的指导下,在不影响执行结果和覆盖结果的前提下,来分析替换单元测试代码中的类实例化代码,尽可能的使自动生成的单元测试代码与源程序的代码风格相似。通过该方法,可以提高单元测试代码的可读性,减少研发人员和维护人员理解和维护单元测试代码所花费的时间,从而有效地提高软件测试、软件研发效率。
发明内容
本发明通过提供一种面向代码可读性的单元测试用例优化方法,来有效解决目前存在的自动化生成工具所生成单元测试用例代码可读性低、影响研发人员测试效率的问题,进而来大幅提高自动化生成方法及相关工具在软件生产实践中的实用性和易用性,最终实现提高软件测试效率、保障软件质量的目标。
为达成上述目标,本发明提出一种面向代码可读性的单元测试用例优化方法。该方法针对源程序,利用控制流分析和数据依赖分析挖掘在源程序中出现的每个类的实例化代码片段,从而构建类实例化片段仓库FRCI;在此基础上,针对自动化生成工具生成单元测试用例代码中所有的类实例化片段,自上而下不断从FRCI中选择可行的片段进行替换和分析,保留执行结果不变且满足覆盖条件的替换结果,最终生成优化后的单元测试用例结果。具体而言,该方法包括下列步骤。
1)类实例化片段挖掘。给定源程序PG,分析PG中所有的入口语句和出口语句。然后,从每一条出口语句开始,向后逐一识别每一条语句stmt中的定义变量vdef,并针对引用型的定义变量vref做后向程序依赖分析,从而识别源程序中所有影响该变量定义的语句集合SFRCI。同时,分析变量vref的类型classref,并将三元组fragmentFRCI=<classref,varref,SFRCI>作为一个类实例化片段添加到FRCI中。从出口语句至入口语句分析结束后,选择另外一条出口语句重新开始后向分析,直至所有出口语句选择完毕。语句分析完成后,对具有相同类型的代码片段,例如fragment1=<class1,var1,S1>,fragment2=<class2,var2,S2>,class1=class2,通过海明距离(Hamming Distance)分析S1和S2,来识别同时去除FRCI中的重复代码片段,从而构建类实例化片段仓库FRCI。对于S1和S2,它们两者的海明距离distancehamming计算公式如下:
其中,linei 1和linei 2分别表示S1和S2中的第i行语句,函数isEqual(linei 1,linei 2)用于判断linei 1和linei 2是否相同,如果不同则返回1,否则返回0。在进行海明距离计算时,如果S1和S2的长度不同,则将distancehamming(S1,S2)的值设置为1。当distancehamming(S1,S2)的值不等于0时,认为S1和S2是重复的,此时应当抛弃fragment1和fragment2中的一个;如果distancehamming(S1,S2)的值为0,则认为S1和S2是不同的,此时应当同时保留fragment1和fragment2
2)测试用例可读性优化。给定源程序PG、自动化工具生成的单元测试用例集TS以及类实例化片段仓库FRCI,对TC中的每一条单元测试用例tc,分析并提取所有的类实例化片段F。同时,执行tc并收集记录PG的语句覆盖信息covline tc、分支覆盖信息covbranch tc和执行结果resulttc。然后,对F中的每一条类实例化片段fragment=<class,var,S>,从FRCI中不断选择与class具有相同类型的代码片段fragmentFRCI进行替换,从而生成新的单元测试用例tcFRCI。执行tcFRCI并收集记录PG的语句覆盖信息covline tcFRCI、分支覆盖信息covbranch tcFRCI和执行结果resulttcFRCI。若满足以下条件:a)执行结果相同。即,resulttc=resulttcFRCI;b)覆盖能力没有降低。即,则可认为使用fragmentFRCI替换fragment是有效的。此时,保留tcFRCI。不断对F中的每一个类实例化片段进行分析,直至所有类实例化片段分析完成;不断对TC中的每一条单元测试用例进行分析,直至所有单元测试用例分析完成。最终,输出一个可读性优化后的单元测试用例集。
进一步,其中上述步骤1)的具体步骤如下:
步骤1)-1:起始状态;
步骤1)-2:输入源程序PG,识别PG中的入口语句和出口语句;
步骤1)-3:从PG中取出一条出口语句stmt;
步骤1)-4:识别stmt中的定义变量vardef和使用变量varuse
步骤1)-5:判断vardef是否存在,若存在则执行下一步,若不存在则执行步骤1)-11;
步骤1)-6:判断vardef是否是引用变量,若是则执行下一步,若不是则执行步骤1)-11;
步骤1)-7:赋值变量varref为vardef,赋值classref为变量varref的类型:
varref=vardef,classref=type(varref);
步骤1)-8:计算变量varref的后向程序依赖关系,赋值stmtdd为varref的后向程序依赖语句,并赋值语句集合SFRCI为{stmt}与stmtdd的并集:
SFRCI={stmt}∪stmtdd
步骤1)-9:新建代码片段fragmentFRCI=<classref,varref,SFRCI>,并将fragmentFRCI添加到FRCI中;
步骤1)-10:判断stmt是否是入口语句,若是则执行步骤1)-12,若不是则执行下一步;
步骤1)-11:取出stmt的前一条语句,并重命名为stmt,返回步骤1)-4;
步骤1)-12:判断所有出口语句是否遍历完成,若是则执行下一步,若不是则返回步骤1)-3;
步骤1)-13:去除FRCI中重复的代码片段;
步骤1)-14:输出类实例化片段仓库FRCI;
步骤1)-15:结束状态。
进一步,其中上述步骤2)的具体步骤如下:
步骤2)-1:起始状态;
步骤2)-2:输入源程序PG、单元测试用例集TS和类实例化片段仓库FRCI;
步骤2)-3:从TS中取出一条单元测试用例tc;
步骤2)-4:提取tc中所有的类实例化片段F;
步骤2)-5:执行tc,同时收集语句覆盖信息covline tc、分支覆盖信息covbranch tc和执行结果resulttc
步骤2)-6:从F中取出一条类实例化片段fragment=<class,var,S>;
步骤2)-7:从FRCI中取出一条包含class的片段fragmentFRCI=<class,varFRCI,SFRCI>;
步骤2)-8:修改fragment为<class,var,SFRCI>,从而生成单元测试用例tcFRCI
fragment=<class,var,SFRCI>;
步骤2)-9:执行tcFRCI,并收集语句覆盖信息covline tcFRCI、分支覆盖信息covbranch tcFRCI和执行结果resulttcFRCI
步骤2)-10:判断是否同时满足执行结果不变(resulttc=resulttcFRCI)和满足覆盖条件若是则执行下一步,若否则返回步骤2)-6;
步骤2)-11:赋值变量tc为tcFRCI
tc=tcFRCI
步骤2)-12:判断F中片段是否遍历完成,若是则执行下一步,若否则返回步骤2)-6;
步骤2)-13:判断TS中单元测试用例是否遍历完成,若是则执行下一步,若否则返回步骤2)-3;
步骤2)-14:输出优化后的单元测试用例集TS;
步骤2)-15:结束状态。
附图说明
图1为本发明实施中的一种面向代码可读性的单元测试用例优化方法的流程图。
图2为图1中类实例化片段挖掘的流程图。
图3为图1中测试用例可读性优化的流程图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
图1为本发明实施的一种面向代码可读性的单元测试用例优化方法的流程图。
一种面向代码可读性的单元测试用例优化方法,其特征在于,包括下列步骤。
S1类实例化片段挖掘,给定源程序,从每个出口语句后向分析至入口语句,将每个引用类型定义变量的实例化代码片段通过控制流分析和数据依赖性分析挖掘出来,形成一个个类实例化片段,然后通过海明距离识别和去除重复的类实例化片段,最终构建并输出一个类实例化片段仓库。
S2测试用例可读性优化,给定源程序、单元测试用例集和S1生成的类实例化片段仓库,针对每个单元测试用例中的每一个类实例化片段,从类实例化片段仓库中选择具有相同类型且满足判断条件的代码片段进行替换,判断条件包括执行结果不变和语句、分支覆盖能力不会下降两点,最终生成并输出一个优化后的单元测试用例集。
图2为类实例化片段挖掘的流程图。针对从每条出口路径至入口路径上的引用类型定义变量,通过后向控制流分析和数据依赖性分析挖掘每种类型的类实例化代码片段,从而构建形成一个类实例化片段仓库。具体步骤如下:
步骤1:起始状态;步骤2:输入源程序PG,识别PG中的入口语句和出口语句;步骤3:从PG中取出一条出口语句stmt;步骤4:识别stmt中的定义变量vardef和使用变量varuse;步骤5:判断vardef是否存在,若存在则执行下一步,若不存在则执行步骤11;步骤6:判断vardef是否是引用变量,若是则执行下一步,若不是则执行步骤11;步骤7:计算变量varref的后向程序依赖关系,赋值stmtdd为varref的后向程序依赖语句,并赋值语句集合SFRCI为{stmt}与stmtdd的并集:步骤8:计算变量varref的后向程序依赖关系,赋值stmtdd为varref的后向程序依赖语句,并赋值语句集合SFRCI为{stmt}与stmtdd的并集:步骤9:执行tcFRCI,并收集语句覆盖信息covline tcFRCI、分支覆盖信息covbranch tcFRCI和执行结果resulttcFRCI;步骤10:判断stmt是否是入口语句,若是则执行步骤12,若不是则执行下一步;步骤11:取出stmt的前一条语句,并重命名为stmt,返回步骤4;步骤12:判断所有出口语句是否遍历完成,若是则执行下一步,若不是则返回步骤3;步骤13:去除FRCI中重复的代码片段;步骤14:输出类实例化片段仓库FRCI;步骤15:结束状态。
图3为测试用例可读性优化的流程图。针对每条单元测试用例中每个类实例化片段,从类实例化代码片段仓库中选择具有相同类型的片段进行替换,对比分析替换前后程序的执行结果和覆盖信息,保留执行结果不变且语句、分支覆盖能力不会下降的替换结果,最终完成单元测试用例集的优化。具体步骤如下:
步骤1:起始状态;步骤2:输入源程序PG、单元测试用例集TS和类实例化片段仓库FRCI;步骤3:从TS中取出一条单元测试用例tc;步骤4:提取tc中所有的类实例化片段F;步骤5:执行tc,同时收集语句覆盖信息covline tc、分支覆盖信息covbranch tc和执行结果resulttc;步骤6:从F中取出一条类实例化片段fragment=<class,var,S>;步骤7:从FRCI中取出一条包含class的片段fragmentFRCI=<class,varFRCI,SFRCI>;步骤8:修改fragment为<class,var,SFRCI>,从而生成单元测试用例tcFRCI;步骤9:执行tcFRCI,并收集语句覆盖信息covline tcFRCI、分支覆盖信息covbranch tcFRCI和执行结果resulttcFRCI;步骤10:判断是否同时满足执行结果不变(resulttc=resulttcFRCI)和满足覆盖条件若是则执行下一步,若否则返回步骤6;步骤11:赋值变量tc为tcFRCI;步骤12:判断F中片段是否遍历完成,若是则执行下一步,若否则返回步骤6;步骤13:判断TS中单元测试用例是否遍历完成,若是则执行下一步,若否则返回步骤3;步骤14:输出优化后的单元测试用例集TS;步骤15:结束状态。
综上所述,本发明解决了自动化工具普遍存在的所生成单元测试用例可读性低的问题,有效提升了当前单元测试用例生成方法及相关工具的易用性和实用性,提高了软件测试工作的效率,更好地保障了软件产品的质量。

Claims (3)

1.一种面向代码可读性的单元测试用例优化方法,其特征在于,针对源程序,利用控制流分析和数据依赖分析挖掘在源程序中出现的每个类的实例化代码片段,从而构建类实例化片段仓库FRCI;在此基础上,针对自动化生成工具生成单元测试用例代码中所有的类实例化片段,自上而下不断从FRCI中选择可行的片段进行替换和分析,保留执行结果不变且满足覆盖条件的替换结果,最终生成优化后的单元测试用例结果;该方法包括下列步骤:
1)类实例化片段挖掘,给定源程序PG,分析PG中所有的入口语句和出口语句;然后,从每一条出口语句开始,向后逐一识别每一条语句stmt中的定义变量vdef,并针对引用型的定义变量vref做后向程序依赖分析,从而识别源程序中所有影响该变量定义的语句集合SFRCI;同时,分析变量vref的类型classref,并将三元组fragmentFRCI=<classref,varref,SFRCI>作为一个类实例化片段添加到FRCI中;从出口语句至入口语句分析结束后,选择另外一条出口语句重新开始后向分析,直至所有出口语句选择完毕;语句分析完成后,对具有相同类型的代码片段,例如fragment1=<class1,var1,S1>,fragment2=<class2,var2,S2>,class1=class2,通过海明距离Hamming Distance分析S1和S2,来识别同时去除FRCI中的重复代码片段,从而构建类实例化片段仓库FRCI;对于S1和S2,它们两者的海明距离distancehamming计算公式如下:
其中,linei 1和linei 2分别表示S1和S2中的第i行语句,函数isEqual(linei 1,linei 2)用于判断linei 1和linei 2是否相同,如果不同则返回1,否则返回0;在进行海明距离计算时,如果S1和S2的长度不同,则将distancehamming(S1,S2)的值设置为1;当distancehamming(S1,S2)的值不等于0时,认为S1和S2是重复的,此时应当抛弃fragment1和fragment2中的一个;如果distancehamming(S1,S2)的值为0,则认为S1和S2是不同的,此时应当同时保留fragment1和fragment2
2)测试用例可读性优化,给定源程序PG、自动化工具生成的单元测试用例集TS以及类实例化片段仓库FRCI,对TC中的每一条单元测试用例tc,分析并提取所有的类实例化片段F;同时,执行tc并收集记录PG的语句覆盖信息covline tc、分支覆盖信息covbranch tc和执行结果resulttc;然后,对F中的每一条类实例化片段fragment=<class,var,S>,从FRCI中不断选择与class具有相同类型的代码片段fragmentFRCI进行替换,从而生成新的单元测试用例tcFRCI;执行tcFRCI并收集记录PG的语句覆盖信息covline tcFRCI、分支覆盖信息covbranch tcFRCI和执行结果resulttcFRCI;若满足以下条件:a)执行结果相同,即,resulttc=resulttcFRCI;b)覆盖能力没有降低,即,则可认为使用fragmentFRCI替换fragment是有效的;此时,保留tcFRCI;不断对F中的每一个类实例化片段进行分析,直至所有类实例化片段分析完成;不断对TC中的每一条单元测试用例进行分析,直至所有单元测试用例分析完成;最终,输出一个可读性优化后的单元测试用例集。
2.根据权利要求1所述的面向代码可读性的单元测试用例优化方法,其特征在于,在步骤1)中,挖掘源程序中的类实例化代码片段;给定源程序,从每个出口语句后向分析至入口语句,将每个引用类型定义变量的实例化代码片段通过控制流分析和数据依赖性分析挖掘出来,形成一个个类实例化片段,然后通过海明距离识别和去除重复的类实例化片段,最终构建并输出一个类实例化片段仓库。
3.根据权利要求1所述的面向代码可读性的单元测试用例优化方法,其特征在于,在步骤2)中,优化自动化工具所生成测试用例的代码可读性;给定源程序、单元测试用例集和类实例化片段仓库,针对每个单元测试用例中的每一个类实例化片段,从类实例化片段仓库中选择具有相同类型且满足判断条件的代码片段进行替换,判断条件包括执行结果不变和语句、分支覆盖能力不会下降两点,最终生成并输出一个优化后的单元测试用例集。
CN201810325049.2A 2018-04-12 2018-04-12 一种面向代码可读性的单元测试用例优化方法 Active CN110377493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810325049.2A CN110377493B (zh) 2018-04-12 2018-04-12 一种面向代码可读性的单元测试用例优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810325049.2A CN110377493B (zh) 2018-04-12 2018-04-12 一种面向代码可读性的单元测试用例优化方法

Publications (2)

Publication Number Publication Date
CN110377493A true CN110377493A (zh) 2019-10-25
CN110377493B CN110377493B (zh) 2022-05-17

Family

ID=68243762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810325049.2A Active CN110377493B (zh) 2018-04-12 2018-04-12 一种面向代码可读性的单元测试用例优化方法

Country Status (1)

Country Link
CN (1) CN110377493B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416598A (zh) * 2022-03-28 2022-04-29 广州番禺职业技术学院 一种基于测试切片的众包测试扩增方法
WO2022100447A1 (zh) * 2020-11-13 2022-05-19 华南理工大学 单元测试代码结构自动解析与路径分析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN106021094A (zh) * 2016-04-29 2016-10-12 南京慕测信息科技有限公司 一种基于程序静态分析的Java单元测试教学反馈方法
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436128A (zh) * 2007-11-16 2009-05-20 北京邮电大学 软件测试用例自动生成方法及系统
CN106021094A (zh) * 2016-04-29 2016-10-12 南京慕测信息科技有限公司 一种基于程序静态分析的Java单元测试教学反馈方法
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022100447A1 (zh) * 2020-11-13 2022-05-19 华南理工大学 单元测试代码结构自动解析与路径分析方法
CN114416598A (zh) * 2022-03-28 2022-04-29 广州番禺职业技术学院 一种基于测试切片的众包测试扩增方法

Also Published As

Publication number Publication date
CN110377493B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN105787367B (zh) 一种软件更新的补丁安全性检测方法及系统
CN103294596B (zh) 一种基于程序不变量的合约式软件故障预警方法
CN108563556A (zh) 基于差分演化算法的软件缺陷预测优化方法
CN103294594A (zh) 一种基于测试的静态分析误报消除方法
CN102567201A (zh) 跨模型的图形用户界面测试脚本自动修复方法
CN106126413A (zh) 基于两阶段包裹式特征选择的软件缺陷预测方法
CN106407357A (zh) 一种文本数据规则模型开发的工程方法
CN109375948A (zh) 一种智能功能点识别的软件计价方法
CN110377493A (zh) 一种面向代码可读性的单元测试用例优化方法
CN108664237B (zh) 一种基于启发式和神经网络的非api成员推荐方法
CN108228187A (zh) 一种数值程序的全局优化方法
CN104331361B (zh) 一种用于白盒测试覆盖率计算可视化的测试装置及方法
CN105528293A (zh) 一种用于回归测试选取测试用例的系统及方法
CN111444106B (zh) 一种对软件可测试需求的分析方法及系统
CN105117980B (zh) 一种电网设备状态的自动评价方法
CN106598843B (zh) 一种基于程序分析的软件日志行为自动识别方法
CN111176995B (zh) 一种基于大数据测试用例的测试方法和测试系统
CN109743200A (zh) 基于资源特征的云计算平台计算任务成本预测方法及系统
Zhang et al. Analysis of automatic code generation tools based on machine learning
CN104731705B (zh) 一种基于复杂网络的脏数据传播路径发现方法
Ratzinger et al. Quality assessment based on attribute series of software evolution
de Almeida Neves et al. Morpheus Web Testing: A Tool for Generating Test Cases for Widget Based Web Applications
CN111427761A (zh) 测试用例智能推荐
Abdelhamid et al. A proposed methodology for expert system engineering
CN117009750B (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