CN106155892A - 判断应用程序测试覆盖范围的方法及程序测试设备 - Google Patents

判断应用程序测试覆盖范围的方法及程序测试设备 Download PDF

Info

Publication number
CN106155892A
CN106155892A CN201510157498.7A CN201510157498A CN106155892A CN 106155892 A CN106155892 A CN 106155892A CN 201510157498 A CN201510157498 A CN 201510157498A CN 106155892 A CN106155892 A CN 106155892A
Authority
CN
China
Prior art keywords
object function
program
target program
position information
test
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
CN201510157498.7A
Other languages
English (en)
Other versions
CN106155892B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510157498.7A priority Critical patent/CN106155892B/zh
Publication of CN106155892A publication Critical patent/CN106155892A/zh
Application granted granted Critical
Publication of CN106155892B publication Critical patent/CN106155892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开一种判断应用程序测试覆盖范围的方法及程序测试设备,其中方法包括如下步骤:当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;基于所述链接关系,获取所述目标函数的起始位置信息;按照所述起始位置信息对所述目标程序进行插桩测试。采用本发明,可以提升对程序的测试效果以及测试效率。

Description

判断应用程序测试覆盖范围的方法及程序测试设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种判断应用程序测试覆盖范围的方法及其设备。
背景技术
现如今,各种终端应用影响着人们的日常生活,为用户提供便利,因此对于终端应用的程序进行测试尤为重要。目前对于程序进行测试的过程是通过人为手动进行测试,然而人为手动测试容易造成对某段代码的重复测试或者所进行的测试未覆盖到某段代码,降低了对程序的测试效果以及测试效率,进而对后续的程序开发造成了影响。
发明内容
本发明实施例提供一种判断应用程序测试覆盖范围的方法及程序测试设备,可以提升对程序的测试效果以及测试效率。
本发明实施例第一方面提供了一种判断应用程序测试覆盖范围的方法,可包括:
当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
基于所述链接关系,获取所述目标函数的起始位置信息;
按照所述起始位置信息对所述目标程序进行插桩测试。
本发明实施例第二方面提供了一种程序测试设备,可包括:
关系建立单元,用于当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
信息获取单元,用于基于所述链接关系,获取所述目标函数的起始位置信息;
程序测试单元,用于按照所述起始位置信息对所述目标程序进行插桩测试。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种判断应用程序测试覆盖范围的方法的流程示意图;
图2是本发明实施例提供的另一种判断应用程序测试覆盖范围的方法的流程示意图;
图3是本发明实施例提供的一种程序测试设备的结构示意图;
图4是本发明实施例提供的信息获取单元的结构示意图;
图5是本发明实施例提供的另一种程序测试设备的结构示意图;
图6是本发明实施例提供的又一种程序测试设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的判断应用程序测试覆盖范围的方法可以应用于对系统平台的应用程序进行插桩测试的场景,例如:对于针对IOS系统平台、Android系统平台等,当对目标程序进行测试时,程序测试设备可以与所述目标程序中的目标函数建立链接关系,基于所述链接关系,所述程序测试设备获取所述目标函数的起始位置信息,所述程序测试设备按照所述起始位置信息对所述目标程序进行插桩测试的场景等。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率。
本发明实施例涉及的程序测试设备可以包括:平板电脑、智能手机、笔记本电脑、掌上电脑、个人计算机以及移动互联网设备(MID)等具备程序处理功能的终端设备。
下面将结合附图1和附图2,对本发明实施例提供的判断应用程序测试覆盖范围的方法进行详细介绍。
请参见图1,为本发明实施例提供了一种判断应用程序测试覆盖范围的方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
具体的,当需要对目标程序进行测试时,程序测试设备可以与所述目标程序中的目标函数建立链接关系,优选的,所述程序测试设备可以创建一个前端进程,该前端进程优选为对目标程序进行输入的接口,测试人员可以通过该前端进程将需要测试的目标程序进行输入,所述程序测试设备可以获取所述目标程序,并与所述目标程序中的目标函数建立链接关系。例如:所述程序测试设备可以调用Clang工具建立一个前端进程,Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器,并通过Clang工具与所述目标函数建立链接关系。
可以理解的是,所述目标程序可以包含一个或多个函数,因此所述目标函数可以为一个或多个函数。对于多个函数,所述程序测试设备需要分别与所述多个函数建立链接关系。
通过与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性。
S102,基于所述链接关系,获取所述目标函数的起始位置信息;
具体的,基于所述链接关系,所述程序测试设备可以获取所述目标函数的起始位置信息,优选的,所述程序测试设备可以基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的抽象语法树(AbstractSyntax Tree,AST),所述预处理可以包括预编译过程以及翻译过程,所述程序测试设备基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,最终生成所述目标函数对应的AST。所述程序测试设备获取所述目标函数对应的AST,并对所述AST进行编译以获取所述目标函数的起始位置信息。可以理解的是,所述起始位置信息包括所述目标函数的首字符的位置坐标以及所述目标函数中开始运行的位置坐标,例如:所述目标函数的起始大括号的位置坐标等。
S103,按照所述起始位置信息对所述目标程序进行插桩测试;
具体的,所述程序测试设备按照所述起始位置信息对所述目标程序进行插桩测试,进一步的,对于多个目标函数,所述程序测试设备按照每个目标函数的起始位置信息进行插桩,并依次进行测试,即对所述目标程序进行测试。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率。
请参见图2,为本发明实施例提供了另一种判断应用程序测试覆盖范围的方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S206。
S201,当对目标程序进行测试时,定位并获取所述目标程序的头文件目录;
具体的,当需要对目标程序进行测试时,程序测试设备需要定位并获取目标程序的头文件目录,假设系统中默认的头文件目录为“/usr/include”,而在所述目标程序中未查找到,则需要进行头文件目录的重定位,所述程序测试设备可以将所定位的多个头文件目录进行输出,并由用户自行分析,并最终确定所述目标程序的头文件目录,所述程序测试设备获取用户所确定的所述目标程序的头文件目录,优选的,所述程序测试设备还可以将获取的所述目标程序的头文件目录输出为一个变量,并根据该变量生成一个插件。
S202,与所述目标程序中的目标函数建立链接关系;
具体的,程序测试设备可以与所述目标程序中的目标函数建立链接关系,优选的,所述程序测试设备可以创建一个前端进程,该前端进程优选为对目标程序进行输入的接口,测试人员可以通过该前端进程将需要测试的目标程序进行输入,所述程序测试设备可以获取所述目标程序,并与所述目标程序中的目标函数建立链接关系。例如:所述程序测试设备可以调用Clang工具建立一个前端进程,Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器,并通过Clang工具与所述目标函数建立链接关系。
可以理解的是,所述目标程序可以包含一个或多个函数,因此所述目标函数可以为一个或多个函数。对于多个函数,所述程序测试设备需要分别与所述多个函数建立链接关系。
通过对目标程序的头文件目录进行定位和获取,以及与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性。
S203,基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST;
具体的,所述程序测试设备可以基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST,所述预处理可以包括预编译过程以及翻译过程,所述程序测试设备基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,最终生成所述目标函数对应的AST。
S204,对所述AST进行编译以获取所述目标函数的起始位置信息;
具体的,所述程序测试设备获取所述目标函数对应的AST,并对所述AST进行编译以获取所述目标函数的起始位置信息。可以理解的是,所述起始位置信息包括所述目标函数的首字符的位置坐标以及所述目标函数中开始运行的位置坐标,例如:所述目标函数的起始大括号的位置坐标等。
S205,基于所述连接关系,获取所述目标函数的结束位置信息;
具体的,所述程序测试设备在获取所述起始位置信息的同时还可以获取所述目标函数对应的结束位置信息,所述结束位置信息包括所述目标函数的末字符的位置坐标以及所述目标函数中结束运行的位置坐标,例如:所述目标函数的结束大括号的位置坐标等。通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
S206,按照所述起始位置信息对所述目标程序进行插桩测试;
具体的,所述程序测试设备按照所述起始位置信息对所述目标程序进行插桩测试,进一步的,对于多个目标函数,所述程序测试设备按照每个目标函数的起始位置信息进行插桩,并依次进行测试,即对所述目标程序进行测试。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率;通过对目标程序的头文件目录进行定位和获取,以及与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性;通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
下面将结合附图3-附图5,对本发明实施例提供的程序测试设备进行详细介绍。需要说明的是,附图3-附图5所示的程序测试设备,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明实施例提供了一种程序测试设备的结构示意图。如图3所示,本发明实施例的所述程序测试设备1可以包括:关系建立单元11、信息获取单元12和程序测试单元13。
关系建立单元11,用于当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
具体实现中,当需要对目标程序进行测试时,所述关系建立单元11可以与所述目标程序中的目标函数建立链接关系,优选的,所述关系建立单元11可以创建一个前端进程,该前端进程优选为对目标程序进行输入的接口,测试人员可以通过该前端进程将需要测试的目标程序进行输入,所述关系建立单元11可以获取所述目标程序,并与所述目标程序中的目标函数建立链接关系。例如:所述关系建立单元11可以调用Clang工具建立一个前端进程,Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器,并通过Clang工具与所述目标函数建立链接关系。
可以理解的是,所述目标程序可以包含一个或多个函数,因此所述目标函数可以为一个或多个函数。对于多个函数,所述关系建立单元11需要分别与所述多个函数建立链接关系。
通过与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性。
信息获取单元12,用于基于所述链接关系,获取所述目标函数的起始位置信息;
具体实现中,基于所述链接关系,所述信息获取单元12可以获取所述目标函数的起始位置信息,优选的,所述信息获取单元12可以基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST,所述预处理可以包括预编译过程以及翻译过程,所述信息获取单元12基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,最终生成所述目标函数对应的AST。所述信息获取单元12获取所述目标函数对应的AST,并对所述AST进行编译以获取所述目标函数的起始位置信息。可以理解的是,所述起始位置信息包括所述目标函数的首字符的位置坐标以及所述目标函数中开始运行的位置坐标,例如:所述目标函数的起始大括号的位置坐标等。
所述信息获取单元12在获取所述起始位置信息的同时还可以获取所述目标函数对应的结束位置信息,所述结束位置信息包括所述目标函数的末字符的位置坐标以及所述目标函数中结束运行的位置坐标,例如:所述目标函数的结束大括号的位置坐标等。通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
具体的,请一并参见图4,为本发明实施例提供了信息获取单元的结构示意图。如图4所示,所述信息获取单元12可以包括:
语法树生成子单元121,用于基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST;
具体实现中,所述语法树生成子单元121可以基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST,所述预处理可以包括预编译过程以及翻译过程,所述语法树生成子单元121基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,最终生成所述目标函数对应的AST。
信息获取子单元122,用于对所述AST进行编译以获取所述目标函数的起始位置信息;
具体实现中,所述信息获取子单元122获取所述目标函数对应的AST,并对所述AST进行编译以获取所述目标函数的起始位置信息。可以理解的是,所述起始位置信息包括所述目标函数的首字符的位置坐标以及所述目标函数中开始运行的位置坐标,例如:所述目标函数的起始大括号的位置坐标等。
程序测试单元13,用于按照所述起始位置信息对所述目标程序进行插桩测试;
具体实现中,所述程序测试单元13按照所述起始位置信息对所述目标程序进行插桩测试,进一步的,对于多个目标函数,所述程序测试单元13按照每个目标函数的起始位置信息进行插桩,并依次进行测试,即对所述目标程序进行测试。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率;通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
请参见图5,为本发明实施例提供了另一种程序测试设备1的结构示意图。如图5所示,本发明实施例的所述程序测试设备11可以包括:关系建立单元11、信息获取单元12、程序测试单元13和目录获取单元14;其中,关系建立单元11、信息获取单元12和程序测试单元13的具体结构可以参见图3所示实施例的描述,在此不进行赘述。
目录获取单元14,用于当对目标程序进行测试时,定位并获取所述目标程序的头文件目录;
具体实现中,当需要对目标程序进行测试时,程序测试设备1需要定位并获取目标程序的头文件目录,假设系统中默认的头文件目录为“/usr/include”,而在所述目标程序中未查找到,则需要进行头文件目录的重定位,所述程序测试设备1可以将所定位的多个头文件目录进行输出,并由用户自行分析,并最终确定所述目标程序的头文件目录,所述目录获取单元14获取用户所确定的所述目标程序的头文件目录,优选的,所述目录获取单元14还可以将获取的所述目标程序的头文件目录输出为一个变量,并根据该变量生成一个插件。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率;通过对目标程序的头文件目录进行定位和获取,以及与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性;通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
请参见图6,为本发明实施例提供了又一种程序测试设备的结构示意图。如图6所示,所述程序测试设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及测试应用程序。
在图6所示的程序测试设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的测试应用程序,并具体执行以下操作:
当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
基于所述链接关系,获取所述目标函数的起始位置信息;
按照所述起始位置信息对所述目标程序进行插桩测试。
在一个实施例中,所述处理器1001在执行与所述目标程序中的目标函数建立链接关系之前,还执行以下操作:
定位并获取所述目标程序的头文件目录。
在一个实施例中,所述处理器1001在执行基于所述链接关系,获取所述目标函数的起始位置信息时,具体执行以下操作:
基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST;
对所述AST进行编译以获取所述目标函数的起始位置信息。
在一个实施例中,所述处理器1001在执行基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST时,具体执行以下操作:
基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,以生成所述目标函数对应的AST。
在一个实施例中,所述处理器1001还执行以下操作:
基于所述连接关系,获取所述目标函数的结束位置信息。
在本发明实施例中,当需要对目标程序进行测试时,通过与所述目标程序中的目标函数建立链接关系,可以基于该链接关系获取目标函数的起始位置信息,最终按照起始位置信息对目标程序进行插桩测试。实现了对目标程序的自动测试,通过基于链接关系获取目标函数的起始位置信息,保证了对程序进行覆盖测试的全面性,避免了对后续的程序开发的影响,提升了对程序的测试效果和测试效率;通过对目标程序的头文件目录进行定位和获取,以及与目标函数建立链接关系,可以便于实现后续对目标函数进行预处理、编译处理等过程,提高了对目标程序进行测试的准确性;通过获取所述目标函数的结束位置信息,可以便于测试人员对所述目标函数的测试结果进行分析以及进行评价,保证测试的效果以及有效性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种判断应用程序测试覆盖范围的方法,其特征在于,包括:
当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
基于所述链接关系,获取所述目标函数的起始位置信息;
按照所述起始位置信息对所述目标程序进行插桩测试。
2.根据权利要求1所述的方法,其特征在于,所述与所述目标程序中的目标函数建立链接关系之前,还包括:
定位并获取所述目标程序的头文件目录。
3.根据所述权利要求1所述的方法,其特征在于,所述基于所述链接关系,获取所述目标函数的起始位置信息,包括:
基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的抽象语法树AST;
对所述AST进行编译以获取所述目标函数的起始位置信息。
4.根据权利要求3所述的方法,其特征在于,所述基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST,包括:
基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,以生成所述目标函数对应的AST。
5.根据权利要求1所述的方法,其特征在于,还包括:
基于所述连接关系,获取所述目标函数的结束位置信息。
6.一种程序测试设备,其特征在于,包括:
关系建立单元,用于当对目标程序进行测试时,与所述目标程序中的目标函数建立链接关系;
信息获取单元,用于基于所述链接关系,获取所述目标函数的起始位置信息;
程序测试单元,用于按照所述起始位置信息对所述目标程序进行插桩测试。
7.根据权利要求6所述的设备,其特征在于,还包括:
目录获取单元,用于当对目标程序进行测试时,定位并获取所述目标程序的头文件目录。
8.根据权利要求6所述的设备,其特征在于,所述信息获取单元包括:
语法树生成子单元,用于基于所述链接关系对所述目标函数进行预处理,并在预处理后生成所述目标函数对应的AST;
信息获取子单元,用于对所述AST进行编译以获取所述目标函数的起始位置信息。
9.根据权利要求8所述的设备,其特征在于,所述语法树生成子单元具体用于基于所述链接关系对所述目标函数进行预编译处理,并对预编译处理后的目标函数进行翻译,以生成所述目标函数对应的AST。
10.根据权利要求6所述的设备,其特征在于,所述信息获取单元还用于基于所述连接关系,获取所述目标函数的结束位置信息。
CN201510157498.7A 2015-04-03 2015-04-03 判断应用程序测试覆盖范围的方法及程序测试设备 Active CN106155892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510157498.7A CN106155892B (zh) 2015-04-03 2015-04-03 判断应用程序测试覆盖范围的方法及程序测试设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510157498.7A CN106155892B (zh) 2015-04-03 2015-04-03 判断应用程序测试覆盖范围的方法及程序测试设备

Publications (2)

Publication Number Publication Date
CN106155892A true CN106155892A (zh) 2016-11-23
CN106155892B CN106155892B (zh) 2020-12-29

Family

ID=57338419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510157498.7A Active CN106155892B (zh) 2015-04-03 2015-04-03 判断应用程序测试覆盖范围的方法及程序测试设备

Country Status (1)

Country Link
CN (1) CN106155892B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270115A (zh) * 2022-09-27 2022-11-01 北京航空航天大学 一种边缘应用行为信息采集方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN101067798A (zh) * 2007-06-14 2007-11-07 华南理工大学 一种动态探针方法及其在嵌入式系统中的应用
CN101261604A (zh) * 2008-04-09 2008-09-10 中兴通讯股份有限公司 一种软件质量评价装置及软件质量评价的定量分析方法
CN101840334A (zh) * 2010-04-16 2010-09-22 中国电子科技集团公司第二十八研究所 一种软件构件服务化封装方法
US20110179347A1 (en) * 2009-09-30 2011-07-21 Iain Andrew Russell Proctor High performance php
CN102231134A (zh) * 2011-07-29 2011-11-02 哈尔滨工业大学 基于静态分析的冗余代码缺陷检测方法
CN102419728A (zh) * 2011-11-01 2012-04-18 北京邮电大学 基于覆盖率量化指标确定软件测试过程充分性的方法
CN102760098A (zh) * 2012-06-13 2012-10-31 北京航空航天大学 面向bit软件测试的处理器故障注入方法及其模拟器
US8595711B2 (en) * 2006-11-14 2013-11-26 Red Hat, Inc. Function-level compiler processing optimization
US20140096113A1 (en) * 2012-09-28 2014-04-03 Andreas Kuehlmann Policy evaluation based upon dynmamic observation, static analysis and code change history
US8839037B2 (en) * 2011-10-05 2014-09-16 Lsi Corporation Hardware queue for transparent debug
CN104142819A (zh) * 2013-07-10 2014-11-12 腾讯科技(深圳)有限公司 一种文件处理方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595711B2 (en) * 2006-11-14 2013-11-26 Red Hat, Inc. Function-level compiler processing optimization
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN101067798A (zh) * 2007-06-14 2007-11-07 华南理工大学 一种动态探针方法及其在嵌入式系统中的应用
CN101261604A (zh) * 2008-04-09 2008-09-10 中兴通讯股份有限公司 一种软件质量评价装置及软件质量评价的定量分析方法
US20110179347A1 (en) * 2009-09-30 2011-07-21 Iain Andrew Russell Proctor High performance php
CN101840334A (zh) * 2010-04-16 2010-09-22 中国电子科技集团公司第二十八研究所 一种软件构件服务化封装方法
CN102231134A (zh) * 2011-07-29 2011-11-02 哈尔滨工业大学 基于静态分析的冗余代码缺陷检测方法
US8839037B2 (en) * 2011-10-05 2014-09-16 Lsi Corporation Hardware queue for transparent debug
CN102419728A (zh) * 2011-11-01 2012-04-18 北京邮电大学 基于覆盖率量化指标确定软件测试过程充分性的方法
CN102760098A (zh) * 2012-06-13 2012-10-31 北京航空航天大学 面向bit软件测试的处理器故障注入方法及其模拟器
US20140096113A1 (en) * 2012-09-28 2014-04-03 Andreas Kuehlmann Policy evaluation based upon dynmamic observation, static analysis and code change history
CN104142819A (zh) * 2013-07-10 2014-11-12 腾讯科技(深圳)有限公司 一种文件处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王相懂 等: "基于GCC的抽象语法树对C++源程序结构的分析", 《计算机工程与应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115270115A (zh) * 2022-09-27 2022-11-01 北京航空航天大学 一种边缘应用行为信息采集方法及系统

Also Published As

Publication number Publication date
CN106155892B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN103312850B (zh) 一种手机自动化测试系统及工作方法
CN111145720B (zh) 一种将文本转换成语音的方法、系统、装置和存储介质
CN106293677B (zh) 一种代码转换方法及装置
CN104317589B (zh) 一种用于加载动态链接库的代码自动生成方法及装置
CN105373478B (zh) 自动化测试方法和系统
CN103677821A (zh) 软件开发工具代码发布的方法和装置
CN108733555A (zh) 一种应用测试方法及装置
CN112667510A (zh) 测试方法、装置、电子设备及存储介质
CN116991711A (zh) 一种测试用例的生成方法、装置、终端设备及存储介质
CN112712121B (zh) 一种图像识别模型训练方法、装置及存储介质
CN104347081A (zh) 一种测试场景说法覆盖度的方法和装置
CN112036843A (zh) 基于rpa及ai的流程元素定位方法、装置、设备和介质
CN106155892A (zh) 判断应用程序测试覆盖范围的方法及程序测试设备
CN115543324B (zh) 交互界面的生成方法、装置、设备及介质
CN117130593A (zh) 代码处理方法、系统和电子设备
CN112231234B (zh) 跨平台用户界面自动化测试方法、装置、设备和存储介质
CN109684395B (zh) 一种基于自然语言处理的可视化数据接口通用解析方法
US20220058530A1 (en) Method and device for optimizing deep learning model conversion, and storage medium
CN106155893A (zh) 判断应用程序测试覆盖范围的方法及程序测试设备
CN110083807B (zh) 合同的修改影响自动预测方法、装置、介质及电子设备
CN110443202B (zh) 论文字体工整度即时分析系统、方法及存储介质
CN114125342A (zh) 一种应急操作记录方法及装置
CN107766228A (zh) 一种基于多语种的自动化测试方法和装置
CN102722490A (zh) 一种电子阅读器的取词方法、取词装置及电子阅读器
CN113792567A (zh) 数据处理方法与数据处理模型的训练方法

Legal Events

Date Code Title Description
C06 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