CN108874656A - 代码测试方法、装置、可读存储介质及计算机设备 - Google Patents

代码测试方法、装置、可读存储介质及计算机设备 Download PDF

Info

Publication number
CN108874656A
CN108874656A CN201710343860.9A CN201710343860A CN108874656A CN 108874656 A CN108874656 A CN 108874656A CN 201710343860 A CN201710343860 A CN 201710343860A CN 108874656 A CN108874656 A CN 108874656A
Authority
CN
China
Prior art keywords
code
branch code
executing
test
branch
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
CN201710343860.9A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710343860.9A priority Critical patent/CN108874656A/zh
Publication of CN108874656A publication Critical patent/CN108874656A/zh
Pending legal-status Critical Current

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/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

代码测试方法、装置、可读存储介质及计算机设备
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种代码测试方法、装置、可读存储介质及计算机设备。
背景技术
目前,开发人员在完成业务功能代码的开发后,需要编写测试代码来对开发的业务功能代码进行测试。如目前基于JAVA语言的代码测试中,已经有了junit等单元测试框架,但仍需要基于该测试框架,人工编写测试代码。当业务代码的分支代码(如if、else等)较多时,需要考虑的测试用例(case)也较多,人工编写测试代码将很难考虑全面,从而导致无法保证代码测试的全面性;此外也会占用开发人员的大量时间,降低其工作效率。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种代码测试方法、装置、可读存储介质及计算机设备,能够自动生成测试代码,保证测试代码覆盖的全面性,并提升开发人员的工作效率。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提供一种代码测试方法,包括:对源代码进行编译,生成源代码的目标代码;分析目标代码,以确定出目标代码的各执行分支代码;分别对各执行分支代码执行如下操作,以对各执行分支代码进行测试:为执行分支代码的输入参数生成至少一组参数值;及分别根据每组参数值运行执行分支代码,得到执行分支代码的运行结果;以及根据各执行分支代码的运行结果,生成测试结果报告。
根据本发明的一实施方式,目标代码为可于JAVA虚拟机中运行的class文件中的字节码;分析目标代码,以确定出目标代码的各执行分支代码包括:根据字节码中分支代码的指令,确定出目标代码的各执行分支代码。
根据本发明的一实施方式,至少一组参数值包括各输入参数的边界值。
根据本发明的一实施方式,上述方法还包括:根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过。
根据本发明的一实施方式,根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过包括:当执行分支代码的运行结果为异常时,判断对执行分支代码的测试未通过;当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对不同的执行分支代码的测试均未通过;当执行分支代码的运行结果与已存储的、且参数值相同的执行分支代码的历史运行结果不同时,判断对执行分支代码的测试未通过。
根据本发明的一实施方式,测试结果报告包括判断对各执行分支代码的测试是否通过的判断结果。
根据本发明的一实施方式,上述方法还包括:获取源代码。
根据本发明的一实施方式,获取源代码包括:当检测到有新的源代码被上传至代码库中时,从代码库中获取新的源代码。
根据本发明的另一个方面,提供一种代码测试装置,包括:代码编译模块,用于对源代码进行编译,生成源代码的目标代码;代码分析模块,用于分析目标代码,以确定出目标代码的各执行分支代码;代码测试模块,用于分别对各执行分支代码执行如下操作,以对各执行分支代码进行测试:为执行分支代码的输入参数生成至少一组参数值;及分别根据每组参数值运行执行分支代码,得到执行分支代码的运行结果;以及报告生成模块,用于根据各执行分支代码的运行结果,生成测试结果报告。
根据本发明的一实施方式,上述装置还包括:结果判断模块,用于根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过:当执行分支代码的运行结果为异常时,判断对执行分支代码的测试未通过;当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对不同的执行分支代码的测试均未通过;当执行分支代码的运行结果与已存储的、且参数值相同的执行分支代码的历史运行结果不同时,判断对执行分支代码的测试未通过。
根据本发明的再一个方面,提供一种计算机设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上述任一种方法。
根据本发明的再一个方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上述任一种方法。
根据本发明实施例的代码测试方法,通过对编译后的目标代码进行分析,确定出各执行分支代码,并自动生成相应的参数值,将参数值代入执行分支代码中运行以对其进行测试。该方法通过自动确定分支代码且自动生成输入参数的参数值,可以保证代码测试的完整性,并使开发人员可以仅专注于业务功能代码的开发,提升了其工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施方式示出的一种代码测试方法的流程图。
图2是根据一示例性实施方式示出的另一种代码测试方法的流程图。
图3是根据一示例性实施方式示出的一种代码测试装置的框图。
图4是根据一示例性实施方式示出的另一种代码测试装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
图1是根据一示例性实施方式示出的一种代码测试方法的流程图。如图1所示,方法10包括:
在步骤S102中,对源代码进行编译,生成源代码的目标代码。
对需要测试的源代码进行编译,生成该源代码的目标代码。以源代码为采用JAVA语言编写为例,其目标代码为可于JAVA虚拟机(JVM)中的class文件中的字节码(Opcode)。
在步骤S104中,分析目标代码,以确定出目标代码的各执行分支代码。
在步骤S106中,分别对各执行分支代码进行测试。
具体地,在对一个执行分支代码进行测试时,可以包括如下步骤:
步骤S1061,为执行分支代码的输入参数生成至少一组参数值。
每组参数值包括该执行分支代码的各输入参数的赋值。
步骤S1062,分别根据每组参数值运行执行分支代码,得到执行分支代码的运行结果。
将至少一组参数值分别代入执行分支代码中运行,得到该执行分支代码至少一次的运行结果。
在步骤S108中,根据各执行分支代码的运行结果,生成测试结果报告。
根据本发明实施例的代码测试方法,通过对编译后的目标代码进行分析,确定出各执行分支代码,并自动生成相应的参数值,将参数值代入执行分支代码中运行以对其进行测试。该方法通过自动确定分支代码且自动生成输入参数的参数值,可以保证代码测试的完整性,并使开发人员可以仅专注于业务功能代码的开发,提升了其工作效率。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
图2是根据一示例性实施方式示出的另一种代码测试方法的流程图。如图2所示,方法20包括:
在步骤S202中,获取源代码。
例如,可以从Git代码库中获取源代码。Git是Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
在一些实施例中,可以通过设置代码检索条件,来从Git代码库中检索并获取源代码。代码检索条件例如可以为当用户提交时触发对源代码的检索,也即当检测到有新的源代码被上传至Git代码库中时,从Git代码库中检索并获取该新的源代码。或者,代码检索条件也可以设置为每天晚上在Git代码库中检索新上传的源代码。
在实际应用中,如可以使用现有的Jenkins集成工具来实现该检索及代码获取操作。
在步骤S204中,对源代码进行编译,生成源代码的目标代码。
同上,以源代码为采用JAVA语言编写为例,其目标代码为可于JAVA虚拟机(JVM)中的class文件中的字节码(Opcode)。
在步骤S206中,根据目标代码中分支代码的指令,确定出目标代码中的各执行分支代码。
仍以JAVA语言为例,代码的条件分支诸如有“if”、“if-else”、“while”、“do- while”及“switch”等,对应的字节码指令有“ifeq”、“ifl”、“ifle”、“ifne”、“ifgt”、 “ifge”、“ifnull”、“ifnonnull”、“if_icmpeq”、“if_icmpne”、“if_icmplt”、“if_icmpgt”、 “if_icmple”、“if_icmpge”、“if_acmpeq”、“if_acmpne”、“tableswitch”及“lookupswitch” 等。
通过JVM规范中的指令描述,即可确定出目标代码中的各执行分支代码。
在步骤S208中,分别对各执行分支代码进行测试。
具体地,在对一个执行分支代码进行测试时,可以包括如下步骤:
步骤S2081,为执行分支代码的输入参数生成至少一组参数值。
每组参数值包括该执行分支代码的各输入参数的赋值。
以源代码为如下代码为例:
该代码的功能是当a和b为正整数时,执行相应相加操作;否则,返回-1。
针对上述代码,在为其生成输入参数a和b的参数值时,首先分析输入参数a和b的取值有如表一所示的9种情况:
表一
由上述表格,针对每种情况,当输入参数a>0或者a<0时,可以分别取3个值。以a>0为例,可以取其最小值、最大值及中间的随机值,如a=1、a=300及a=35(随机选出),也即测试时尽量保证覆盖其边界值。a<0及b>0和b<0可以同样处理。因此,针对以上各种情况,可以取1组(a=0且b=0)、3组(a或b其中之一等于零)或9组(a或b均不等于零)参数值。
需要说明的是,在本发明实施例中,输入参数除了可以为上述基本类型外,还可以为对象类型。但由于对象类型最终也是由基本类型的参数构成,因此对对象类型输入参数的分析与上述对基本类型的分析相同。
步骤S2082,分别根据每组参数值运行执行分支代码,得到执行分支代码的运行结果。
将至少一组参数值分别代入执行分支代码中运行,得到该执行分支代码至少一次的运行结果。
在步骤S210中,根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过。
例如,当执行分支代码的运行结果为异常(exception)时,判断对执行分支代码的测试未通过。
当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对不同的执行分支代码的测试均未通过。
当执行分支代码的运行结果与已存储的、且参数值相同的执行分支代码的历史运行结果不同时,判断对执行分支代码的测试未通过。
如针对已测试的实现一功能的分支代码,会将输入参数值及执行结果会存储起来。当下次测试相同的功能的分支代码时,使用相同的输入参数但得到的测试结果不同,则判断对执行分支代码的测试未通过。
在步骤S212中,根据各执行分支代码的运行结果,生成测试结果报告。
测试结果报告中例如可以包括输入参数的参数值、代码运行的结果及执行时间等要素;此外,还可以包括步骤S210中的判断结果,以供开发人员参考。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图3是根据一示例性实施方式示出的一种代码测试装置的框图。如图3所示,装置30包括:代码编译模块302、代码分析模块304、代码测试模块306及报告生成模块308。
其中,代码编译模块302用于对源代码进行编译,生成源代码的目标代码。
在一些实施例中,目标代码为可于JAVA虚拟机中运行的class文件中的字节码。
代码分析模块304用于分析目标代码,以确定出目标代码的各执行分支代码。
代码测试模块306用于分别对各执行分支代码执行如下操作,以对各执行分支代码进行测试:为执行分支代码的输入参数生成至少一组参数值;及分别根据每组参数值运行执行分支代码,得到执行分支代码的运行结果。
在一些实施例中,至少一组参数值包括各输入参数的边界值。
报告生成模块308用于根据各执行分支代码的运行结果,生成测试结果报告。
根据本发明实施例的代码测试装置,通过对编译后的目标代码进行分析,确定出各执行分支代码,并自动生成相应的参数值,将参数值代入执行分支代码中运行以对其进行测试。该方法通过自动确定分支代码且自动生成输入参数的参数值,可以保证代码测试的完整性,并使开发人员可以仅专注于业务功能代码的开发,提升了其工作效率。
图4是根据一示例性实施方式示出的另一种代码测试装置的框图。与图3所示的装置30的不同之处在于,图4所示的装置40还包括:结果判断模块410及源代码获取模块412。
其中,源代码获取模块412用于获取源代码。
在一些实施例中,源代码获取模块412还用于当检测到有新的源代码被上传至代码库中时,从代码库中获取新的源代码。
结果判断模块410用于根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过。
在一些实施例中,当执行分支代码的运行结果为异常时,判断对执行分支代码的测试未通过;当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对不同的执行分支代码的测试均未通过;当执行分支代码的运行结果与已存储的、且参数值相同的执行分支代码的历史运行结果不同时,判断对执行分支代码的测试未通过。
此外,在一些实施例中,代码分析模块304还用于根据字节码中分支代码的指令,确定出目标代码的各执行分支代码。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (12)

1.一种代码测试方法,其特征在于,包括:
对源代码进行编译,生成所述源代码的目标代码;
分析所述目标代码,以确定出所述目标代码的各执行分支代码;
分别对各执行分支代码执行如下操作,以对各执行分支代码进行测试:
为所述执行分支代码的输入参数生成至少一组参数值;及
分别根据每组参数值运行所述执行分支代码,得到所述执行分支代码的运行结果;以及
根据各执行分支代码的运行结果,生成测试结果报告。
2.根据权利要求1所述的方法,其特征在于,所述目标代码为可于JAVA虚拟机中运行的class文件中的字节码;分析所述目标代码,以确定出所述目标代码的各执行分支代码包括:
根据所述字节码中分支代码的指令,确定出所述目标代码的各执行分支代码。
3.根据权利要求1所述的方法,其特征在于,所述至少一组参数值包括各输入参数的边界值。
4.根据权利要求1所述的方法,其特征在于,还包括:根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过。
5.根据权利要求4所述的方法,其特征在于,根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过包括:
当所述执行分支代码的运行结果为异常时,判断对所述执行分支代码的测试未通过;
当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对所述不同的执行分支代码的测试均未通过;
当所述执行分支代码的运行结果与已存储的、且参数值相同的所述执行分支代码的历史运行结果不同时,判断对所述执行分支代码的测试未通过。
6.根据权利要求5所述的方法,其特征在于,所述测试结果报告包括判断对各执行分支代码的测试是否通过的判断结果。
7.根据权利要求1所述的方法,其特征在于,还包括:获取所述源代码。
8.根据权利要求7所述的方法,其特征在于,获取所述源代码包括:
当检测到有新的源代码被上传至代码库中时,从所述代码库中获取所述新的源代码。
9.一种代码测试装置,其特征在于,包括:
代码编译模块,用于对源代码进行编译,生成所述源代码的目标代码;
代码分析模块,用于分析所述目标代码,以确定出所述目标代码的各执行分支代码;
代码测试模块,用于分别对各执行分支代码执行如下操作,以对各执行分支代码进行测试:
为所述执行分支代码的输入参数生成至少一组参数值;及
分别根据每组参数值运行所述执行分支代码,得到所述执行分支代码的运行结果;以及
报告生成模块,用于根据各执行分支代码的运行结果,生成测试结果报告。
10.根据权利要求9所述的装置,其特征在于,还包括:
结果判断模块,用于根据各执行分支代码的运行结果,判断对各执行分支代码的测试是否通过:
当所述执行分支代码的运行结果为异常时,判断对所述执行分支代码的测试未通过;
当输入相同的一组参数值后不同的执行分支代码的运行结果相同时,判断对所述不同的执行分支代码的测试均未通过;
当所述执行分支代码的运行结果与已存储的、且参数值相同的所述执行分支代码的历史运行结果不同时,判断对所述执行分支代码的测试未通过。
11.一种计算机设备,包括:存储器、处理器及存储在所述存储器中并可在所述处理器中运行的可执行指令,其特征在于,所述处理器执行所述可执行指令时实现如权利要求1-8任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1-8任一项所述的方法。
CN201710343860.9A 2017-05-16 2017-05-16 代码测试方法、装置、可读存储介质及计算机设备 Pending CN108874656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710343860.9A CN108874656A (zh) 2017-05-16 2017-05-16 代码测试方法、装置、可读存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710343860.9A CN108874656A (zh) 2017-05-16 2017-05-16 代码测试方法、装置、可读存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN108874656A true CN108874656A (zh) 2018-11-23

Family

ID=64320797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710343860.9A Pending CN108874656A (zh) 2017-05-16 2017-05-16 代码测试方法、装置、可读存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN108874656A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124910A (zh) * 2019-12-20 2020-05-08 北京达佳互联信息技术有限公司 确定测试代码执行数据的方法、装置、设备及存储介质
CN112256580A (zh) * 2020-10-23 2021-01-22 济南浪潮数据技术有限公司 一种代码扫描方法、装置、设备及存储介质
CN112948258A (zh) * 2021-03-26 2021-06-11 杭州万高科技股份有限公司 一种代码测试方法、装置、设备及计算机可读存储介质
CN113297088A (zh) * 2021-06-08 2021-08-24 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882106A (zh) * 2010-06-11 2010-11-10 东南大学 一种基于灾变的演化测试的动态优化方法
CN102855191A (zh) * 2012-08-31 2013-01-02 中国人民解放军63928部队 一种嵌入式基础软件代码分支覆盖测试数据遗传搜索方法
CN103455421A (zh) * 2013-08-19 2013-12-18 西安交通大学 基于程序控制依赖引导的回归测试案例生成方法
CN104375932A (zh) * 2014-08-27 2015-02-25 北京中电华大电子设计有限责任公司 一种Java卡代码覆盖率分析方法和装置
US20160234246A1 (en) * 2013-12-11 2016-08-11 International Business Machines Corporation Testing WEB Applications For Security Vulnerabilities With Metarequests
CN106021094A (zh) * 2016-04-29 2016-10-12 南京慕测信息科技有限公司 一种基于程序静态分析的Java单元测试教学反馈方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882106A (zh) * 2010-06-11 2010-11-10 东南大学 一种基于灾变的演化测试的动态优化方法
CN102855191A (zh) * 2012-08-31 2013-01-02 中国人民解放军63928部队 一种嵌入式基础软件代码分支覆盖测试数据遗传搜索方法
CN103455421A (zh) * 2013-08-19 2013-12-18 西安交通大学 基于程序控制依赖引导的回归测试案例生成方法
US20160234246A1 (en) * 2013-12-11 2016-08-11 International Business Machines Corporation Testing WEB Applications For Security Vulnerabilities With Metarequests
CN104375932A (zh) * 2014-08-27 2015-02-25 北京中电华大电子设计有限责任公司 一种Java卡代码覆盖率分析方法和装置
CN106021094A (zh) * 2016-04-29 2016-10-12 南京慕测信息科技有限公司 一种基于程序静态分析的Java单元测试教学反馈方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124910A (zh) * 2019-12-20 2020-05-08 北京达佳互联信息技术有限公司 确定测试代码执行数据的方法、装置、设备及存储介质
CN112256580A (zh) * 2020-10-23 2021-01-22 济南浪潮数据技术有限公司 一种代码扫描方法、装置、设备及存储介质
CN112256580B (zh) * 2020-10-23 2024-02-13 济南浪潮数据技术有限公司 一种代码扫描方法、装置、设备及存储介质
CN112948258A (zh) * 2021-03-26 2021-06-11 杭州万高科技股份有限公司 一种代码测试方法、装置、设备及计算机可读存储介质
CN113297088A (zh) * 2021-06-08 2021-08-24 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质
CN113297088B (zh) * 2021-06-08 2023-11-07 北京百度网讯科技有限公司 测试方法、测试装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
JP7200661B2 (ja) 並行脆弱性検出
CN110287702B (zh) 一种二进制漏洞克隆检测方法及装置
CN111104335B (zh) 一种基于多层次分析的c语言缺陷检测方法及装置
US8140901B2 (en) Validation of processors using a self-generating test case framework
CN108874656A (zh) 代码测试方法、装置、可读存储介质及计算机设备
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
US11204859B2 (en) Partial-results post-silicon hardware exerciser
EP3264274B1 (en) Input discovery for unknown program binaries
KR102013582B1 (ko) 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법
US9396095B2 (en) Software verification
Gu et al. Deepprof: Performance analysis for deep learning applications via mining gpu execution patterns
JP2014021982A (ja) オブジェクト指向言語のための記号テストドライバの反復生成
CN108572892B (zh) 一种基于PowerPC多核处理器的离线测试方法和装置
US10528691B1 (en) Method and system for automated selection of a subset of plurality of validation tests
JP6723483B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP2012181666A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Mariano et al. Analyzing graph-based algorithms employed to generate test cases from finite state machines
JP5463226B2 (ja) ソースコード検査方法およびソースコード検査装置
US20150007139A1 (en) Optimizing error parsing in an integrated development environment
Fangquan et al. Binary-oriented hybrid fuzz testing
JP6771619B2 (ja) ソースコードのプロパティを検証するための方法およびシステム
JP2015069400A (ja) ソフトウェアテストシステム
CN106294130A (zh) 一种单元测试方法及装置
US9606779B2 (en) Data processing system and data simulation method in the system
Puhan et al. Program crash analysis based on taint analysis

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123

RJ01 Rejection of invention patent application after publication