CN108572892B - 一种基于PowerPC多核处理器的离线测试方法和装置 - Google Patents
一种基于PowerPC多核处理器的离线测试方法和装置 Download PDFInfo
- Publication number
- CN108572892B CN108572892B CN201710151367.7A CN201710151367A CN108572892B CN 108572892 B CN108572892 B CN 108572892B CN 201710151367 A CN201710151367 A CN 201710151367A CN 108572892 B CN108572892 B CN 108572892B
- Authority
- CN
- China
- Prior art keywords
- test
- task
- target program
- loading
- test task
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种基于PowerPC多核处理器的离线测试方法和装置,所述方法包括:当所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;针对所述目标程序加载测试任务;从所述目标程序中提取测试用例;采用所述模拟接口执行所述测试用例;当所述测试用例执行完毕时,结束并删除所述测试任务,解决了现有技术中,针对特定未通过的测试用例进行单独执行时,必须重复编译、链接、加载程序,导致软件编译加载耗时长,以及,多核多线程时序无法模拟和测试的问题,从而使得在多核多进程的架构模式中提升了嵌入式程序***的工作效率的同时,也保证了测试的完备性和提高测试的可靠性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于PowerPC多核处理器的离线测试方法和一种基于PowerPC多核处理器的离线测试装置。
背景技术
随着嵌入式技术的飞速发展,嵌入式处理需求也在快速增长,在集成电路技术飞速发展的今天,单核处理器的性能已经发展到一个相对比较高的高度,单纯依靠提高单核处理器的性能来提高***的实时性已经不足够,***架构正朝着多处理器设计的方向发展,以解决单处理器***复杂度太高和计算能力不足的问题,特别像是PowerPC多核处理器这样的精简指令集架构的CPU在多种领域的信息处理技术中表现出色,从而受到广大用户的青睐。
目前,基于PowerPC的处理器已大规模应用于嵌入式实时通信***程序平台中,其最大的特点是多核多进程并发处理,这也适应了现阶段嵌入式实时通信***的发展,通过多核多线程的程序任务并发处理,最大限度的发挥嵌入式***的实时性,达到通信***毫秒级甚至微妙级实时通信的目的。
众所周知,在程序开发过程中,测试是一个非常重要的开发环节,目前的程序开发测试有很多方法,最主要的是单元测试或离线测试,一般只需要一台装有相关程序开发工具的PC(Personal Computer,个人电脑)机或服务器即可。通常这种测试有一个模拟进程,用以模拟程序子***的各种外部消息或触发条件,编译链接运行,并观测或校验程序运行结果。
由运用现有技术来对程序实行离线测试的流程方案来看,启动程序的测试,必须经过编译、链接、加载及运行等阶段,如果执行完多个用例后,想针对某一个未通过的测试用例进行单独执行,就必须重新经历“编译、链接、加载及运行”等阶段,而对于一个完整的嵌入式实时程序***来说,一般代码量都比较大,经历一遍编译、链接、加载等阶段可能会耗时较长,从而延长测试时间,增加人力投入,最终导致测试效率低下。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于PowerPC多核处理器的离线测试方法和相应的一种基于PowerPC多核处理器的离线测试装置。
为了解决上述问题,本发明实施例公开了一种基于PowerPC多核处理器的离线测试,所述PowerPC多核处理器具有用于完全模拟外部运行环境的模拟接口,所述方法包括:
当所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
针对所述目标程序加载测试任务;
从所述目标程序中提取测试用例;
采用所述模拟接口执行所述测试用例;
当所述测试用例执行完毕时,结束并删除所述测试任务。
优选地,在所述采用所述模拟接口执行所述测试用例的步骤之后,所述的方法,还包括:
获取执行所述测试用例生成的测试报告;
依据所述测试报告判断所述测试用例是否执行完毕,以及,当所述测试用例未执行完毕,返回所述从所述目标程序中提取测试用例的步骤。
优选地,所述针对所述目标程序加载测试任务的步骤包括:
通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
优选地,所述针对所述目标程序加载测试任务的步骤还包括:
获取所述目标程序的测试脚本;
采用所述测试脚本对所述目标程序加载测试任务;
所述结束并删除所述测试任务的步骤包括:
结束所述测试任务;
采用所述测试脚本从所述目标程序中删除所述测试任务。
优选地,所述针对所述目标程序加载测试任务的步骤还包括:
获取所述目标程序的控制台命令;
采用所述控制台命令对所述目标程序加载测试任务。
所述结束并删除所述测试任务的步骤包括:
结束所述测试任务;
采用所述控制台命令从所述目标程序中删除所述测试任务。
为了解决上述问题,本发明实施例公开了一种基于PowerPC多核处理器的离线测试装置,所述PowerPC多核处理器具有用于完全模拟外部运行环境的模拟接口,所述装置包括软件代码模块和测试模块:
所述软件代码模块,用于在所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
所述测试模块包括测试加载子模块,测试执行子模块和测试复位子模块;其中,
所述测试加载子模块,用于针对所述目标程序加载测试任务;
所述测试执行子模块,用于从所述目标程序中提取测试用例,采用所述模拟接口执行所述测试用例;
所述测试复位子模块,用于在所述测试用例执行完毕时,结束并删除所述测试任务。
优选地,所述测试模块还包括:
测试报告获取子模块,用于获取执行所述测试用例生成的测试报告;
判断子模块,用于依据所述测试报告判断所述测试用例是否执行完毕,以及,在所述测试用例执行完毕时,调用所述测试复位子模块;在所述测试用例未执行完毕时,返回所述测试执行子模块。
优选地,所述测试加载子模块包括:
测试任务开启单元,用于通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
优选地,所述测试加载子模块还包括:
测试脚本获取单元,用于获取所述目标程序的测试脚本;
第一测试任务加载单元,用于采用所述测试脚本对所述目标程序加载测试任务;
所述测试复位子模块包括:
第一任务结束单元,用于结束所述测试任务;
第一任务删除单元,用于采用所述测试脚本从所述目标程序中删除所述测试任务。
优选地,所述测试加载子模块还包括:
控制台命令获取单元,用于获取所述目标程序的控制台命令;
第二测试任务加载单元,用于采用所述控制台命令对所述目标程序加载测试任务;
所述测试复位子模块包括:
第二任务结束单元,用于结束所述测试任务;
第二任务删除单元,用于采用所述控制台命令从所述目标程序中删除所述测试任务。
与现有技术相比,本发明实施例包括以下优点:
运用本发明实施例所述方法可以在不需要测试的时候,不进行测试任务加载,从而对嵌入式程序***正式代码无任何影响;当需要测试的时候,将测试任务加载进来,同时完全模拟外部接口,这样正式的程序***代码对测试不可知,可以完全按照已有的多核多进程的架构模式进行运行,时序和接口完全一致,保证了测试的完备性。在测试结束时,测试复位步骤中,将测试任务从应用中剔除,并恢复程序***的初始状态,这样虽然经历过连续步骤的测试过程,但对嵌入式程序***正式代码也无任何影响。
附图说明
图1是现有技术中的程序离线测试***模块结构示意图
图2是本发明的一种基于PowerPC多核处理器的离线测试方法实施例的步骤流程图;
图3是本发明的一种基于PowerPC多核处理器的离线测试装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图1所示的已有的一种程序离线测试***模块结构示意图,在已有的程序离线测试***中,一般会按照如下方式执行离线测试:
接口适配单元104会根据所测软件代码单元103的不同,对模拟单元101和校验单元102有针对性的做一些接口适配,以便和软件正式代码对接。
模拟单元101模拟整个软件运行流程中的所有外部接口及输入,同时通过一些代码或脚本等控制手段,驱动测试流程按启动测试程序,编译、链接、加载及运行,程序加载,执行用例,检测是否完成,输出测试报告并结束的顺序执行离线测试。
校验单元102在测试结束时对软件代码单元103的处理结果进行校验。
这种方式的缺点在于不适用于嵌入式多核多进程实时程序平台***,其完全没有考虑整机运行时多核多进程程序并行处理的时序,和整机差异较大,往往单元测试或离线测试通过的代码,在整机集成测试时还会出现各种各样的问题,不具有代表性,可靠性不高。这是因为普通的程序离线测试***,需要借助于PC机上的一些程序开发工具,通过模拟和校验单元,达到对正式程序代码的离线测试。然而这些程序一般都只能顺序的执行某些流程或命令,即所测试的程序代码单元,必须是某个顺序执行的程序代码模块或子模块,对于目前的多核多进程嵌入式程序***来说,各个核或进程上存在多个并发的程序任务,各任务模块单元之间可能会存在一定的时序顺序或交叉访问等相互影响的操作,相互之间不可避免的存在一定的依赖关系,从而导致最终整体的程序输出结果,在很大程度上取决于各个程序模块单元当时的执行时序及访问顺序等,所以运用现有技术的程序离线测试***对多核多进程嵌入式程序***来说并不适用。
同时,在已有的方案中,所搭建的测试***,模拟单元和校验单元是针对特定的程序模块或子模块进行的,这样会随着所测试程序代码的不同而不同,即使通过接口适配单元来进行适配,有可能达到不修改模拟和校验单元的目的,但接口适配也人为的增加了工作量。
以上两点导致已有的程序离线测试模型和整机集成环境相比,运行环境有很大不同,处理时序及接口的不一致,导致经过一系列离线测试通过的代码,在整机集成测试时,依旧会存在各种各样的问题。
实施例一
参照图2,示出了本发明的一种基于PowerPC多核处理器的离线测试方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,当所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
在实际应用中,本发明实施例可以应用在多核多进程并发处理的嵌入式实时通信***程序平台中,这项技术可以涉及到通信、交通、家电及医疗等诸多领域中。
在具体实现中,本发明实施例可以在PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序。
例如,在一台装有相关程序开发工具的计算机中,当PowerPC多核处理器处于多核多进程的运行状态时,需要对开发过程中的程序进行离线测试,这时,可以通过获取目标程序的API(Application Programming Interface,应用程序编程接口)信息,从而确定所要被测试的目标程序。
步骤202,针对所述目标程序加载测试任务;
在本发明的一种优选实施例中,可以通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
例如,在PowerPC多核处理器处于多核多进程的运行状态时,通过处理器中的加载模块重配置测试任务的定时中断通知消息,将测试任务加载进来,并通知测试任务开启运行模式。
在本发明的另一种优选实施例中,还可以通过如下方式针对所述目标程序加载测试任务:
方式1,获取所述目标程序的测试脚本,采用所述测试脚本对所述目标程序加载测试任务。
方式2,获取所述目标程序的控制台命令,采用所述控制台命令对所述目标程序加载测试任务。
当然,本领域技术人员可以运用上述任意一种或多种方式对所述目标程序加载测试任务都是可行的,对此本发明不作限制。
步骤203,从所述目标程序中提取测试用例;
在具体实现中,本发明实施例可以根据实际需要,提取目标程序的作为部分代码作为目标程序的测试用例,也可以是待测程序的整体代码作为目标程序的测试用例。
步骤204,采用所述模拟接口执行所述测试用例;
在实际应用中,本发明实施例可以增设用于完全模拟外部运行环境的模拟接口,采用所述模拟接口执行所述测试用例,诱导目标程序仍以为自身处于外部运行环境中,从而使得目标程序代码在测试过程中对测试不可见,在完全运行真实的程序代码流程和时序下完成测试。
在本发明的一种优选实施例中,本发明还可以在测试过程中获取执行所述测试用例生成的测试报告,依据所述测试报告判断所述测试用例是否执行完毕,并当判断结果为所述测试用例未执行完毕,返回所述从所述目标程序中提取测试用例的步骤;若判断结果为所述测试用例执行完毕时,则执行步骤205。
在实际应用中,本发明实施例可以在某个测试用例执行未通过测试,或,研发人员希望重复执行任意一个或多个测试用例时,直接返回到对目标程序中提取测试用例的步骤中,重复程序离线测试流程,无需再次重复编译、链接、加载程序版本。
例如,在某个目标程序的测试用例执行完毕时,所生成的测试报告显示该用例未通过测试,或,研发人员希望重复执行任意一个或多个测试用例时,可以直接对该目标程序提取一个新的用例,对新的用例执行离线测试。
步骤205,当所述测试用例执行完毕时,结束并删除所述测试任务。
在具体实现中,本发明实施例可以通过重新配置任务的定时中断通知消息,将测试任务删除并恢复程序***的初始状态。
在本发明一个优选实施例中,还可以通过如下方式结束并删除所述测试任务:
方式1,采用所述测试脚本从所述目标程序中删除所述测试任务,并结束所述测试任务。
方式2,采用所述控制台命令从所述目标程序中删除所述测试任务,并结束所述测试任务。
当然,本领域技术人员可以运用上述任意一种或多种方式结束并删除所述测试任务都是可行的,对此本发明不作限制。
在实际应用中运用本发明实施例的方法,可以在被检测的目标程序的测试用例在本次测试中执行完毕时,让被测试的目标程序恢复初始状态;当被检测的目标程序的测试用例在本次测试中未执行完毕时,或,研发人员希望重复执行任意一个或多个测试用例时,在针对多个用例的情况下,无论是连续执行还是单独执行,都可以直接返回到对目标程序中提取测试用例的步骤中,重复程序离线测试流程,而无需重复编译、链接、加载程序版本,从而提高测试效率离;另外,运用本发明实施例可以在不需要测试的时候,不进行测试任务的加载,从而对嵌入式程序***正式代码无任何影响;当需要测试的时候,测试加载步骤中,通过脚本或控制台等方式,加载测试任务,同时完全模拟外部接口,使得正式待测程序代码对测试不可见,使得目标程序的测试用例完全运行的是真实的程序代码流程和时序,这样可以使得所述目标程序的正式程序***代码对测试不可知,所述***代码能完全按照已有的多核多进程的架构模式进行运行,时序和接口完全一致,通过上述方法,既在降低人为操控接口适配的工作量,从而在提升了嵌入式程序***的工作效率的同时,也保证了测试的完备性和提高测试的可靠性;再则,在测试结束时,测试复位步骤中,运用本发明实施例可以通过脚本或控制台等方式,将测试任务删除,并恢复程序***的初始状态,这样虽然经历离线测试虽然经历过连续步骤的测试过程,但对嵌入式程序***正式代码也无任何影响,从而提升证测试结果的真实性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
参照图3,示出了本发明的一种基于PowerPC多核处理器的离线测试装置实施例的结构框图,具体可以包括如下模块:
软件代码模块301,用于在所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
测试模块302,所述测试模块302还可以包括测试加载子模块3021,测试执行子模块3022,测试复位子模块3033;其中,
所述测试加载子模块3021,用于针对所述目标程序加载测试任务;
所述测试执行子模块3022,用于从所述目标程序中提取测试用例,采用所述模拟接口执行所述测试用例;
所述测试复位子模块3023,用于在所述测试用例执行完毕时,结束并删除所述测试任务。
在本发明实施例的一个优选实施例中,所述测试模块302还可以包括如下子模块:
测试报告获取子模块,用于获取执行所述测试用例生成的测试报告;
判断子模块,用于依据所述测试报告判断所述测试用例是否执行完毕,以及,在所述测试用例执行完毕时,调用所述测试复位子模块3023;在所述测试用例未执行完毕时,返回所述测试执行子模块3022。
在本发明实施例的一个优选实施例中,所述任务测试加载子模块3021还可以包括如下单元:
测试任务开启单元,用于通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
在本发明实施例的一个优选实施例中,所述任务测试加载子模块3021还可以包括如下单元:
测试脚本获取单元,用于获取所述目标程序的测试脚本;
第一测试任务加载单元,用于采用所述测试脚本对所述目标程序加载测试任务;
控制台命令获取单元,用于获取所述目标程序的控制台命令;
第二测试任务加载单元,用于采用所述控制台命令对所述目标程序加载测试任务。
在本发明实施例的一个优选实施例中,所述所述测试复位子模块3023还可以包括如下单元:
第一任务结束单元,用于结束所述测试任务;
第一任务删除单元,用于采用所述测试脚本从所述目标程序中删除所述测试任务;
第二任务结束单元,用于所述结束并删除所述测试任务的步骤包括:
结束所述测试任务;
第二任务删除单元,用于采用所述控制台命令从所述目标程序中删除所述测试任务。
在实际应用中运用本发明实施例,可以在不需要测试的时候,不进行测试模块的加载,从而对嵌入式程序***正式代码无任何影响;当需要测试的时候,测试加载步骤中,采用测试加载子模块通过脚本或控制台等方式,将测试模块加载进来,同时完全模拟外部接口,这样正式的程序***代码对测试不可知,诱导目标程序的测试用例认为自身仍处于测试外部环境中,完全按照已有的多核多进程的架构模式进行运行,时序和接口完全一致,提高了测试环境的真实性,从而也提高了测试结果的准确性,在测试结束时,测试复位步骤中,当目标程序的测试用例执行完毕时,采用所述测试复位子模块通过脚本或控制台等方式,将测试模块剔除,并恢复程序***的初始状态,采用这样虽然经历离线测试虽然经历过连续步骤的测试过程,但对嵌入式程序***正式代码也无任何影响,从而可以实现将拟单元和校验单元可以集成在正式的嵌入式程序***平台中。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全程序实施例、或结合程序和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于PowerPC多核处理器的离线方法和一种基于PowerPC多核处理器的离线装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于PowerPC多核处理器的离线测试方法,其特征在于,所述PowerPC多核处理器具有用于完全模拟外部运行环境的模拟接口,所述方法包括:
当所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
针对所述目标程序加载测试任务;
从所述目标程序中提取测试用例;
采用所述模拟接口执行所述测试用例;
当所述测试用例执行完毕时,结束并删除所述测试任务;
其中,所述结束并删除所述测试任务的步骤包括:
通过重配置测试任务的定时中断通知消息,将所述测试任务从所述目标程序中删除,并结束所述测试任务。
2.根据权利要求1所述的方法,其特征在于,在所述采用所述模拟接口执行所述测试用例的步骤之后,所述的方法,还包括:
获取执行所述测试用例生成的测试报告;
依据所述测试报告判断所述测试用例是否执行完毕,以及,当所述测试用例未执行完毕,返回所述从所述目标程序中提取测试用例的步骤。
3.根据权利要求1或2所述的方法,其特征在于,所述针对所述目标程序加载测试任务的步骤包括:
通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
4.根据权利要求3所述的方法,其特征在于,所述针对所述目标程序加载测试任务的步骤还包括:
获取所述目标程序的测试脚本;
采用所述测试脚本对所述目标程序加载测试任务;
所述结束并删除所述测试任务的步骤包括:
结束所述测试任务;
采用所述测试脚本从所述目标程序中删除所述测试任务。
5.根据权利要求3所述的方法,其特征在于,所述针对所述目标程序加载测试任务的步骤还包括:
获取所述目标程序的控制台命令;
采用所述控制台命令对所述目标程序加载测试任务;
所述结束并删除所述测试任务的步骤包括:
结束所述测试任务;
采用所述控制台命令从所述目标程序中删除所述测试任务。
6.一种基于PowerPC多核处理器的离线测试装置,其特征在于,所述PowerPC多核处理器具有用于完全模拟外部运行环境的模拟接口,所述装置包括软件代码模块和测试模块:
所述软件代码模块,用于在所述PowerPC多核处理器处于多核多进程的运行状态且需要进行离线测试时,确定待测试的目标程序;
所述测试模块包括测试加载子模块,测试执行子模块和测试复位子模块;其中,
所述测试加载子模块,用于针对所述目标程序加载测试任务;
所述测试执行子模块,用于从所述目标程序中提取测试用例,采用所述模拟接口执行所述测试用例;
所述测试复位子模块,用于在所述测试用例执行完毕时,结束并删除所述测试任务;其中,所述结束并删除所述测试任务包括通过重配置测试任务的定时中断通知消息,将所述测试任务从所述目标程序中删除,并结束所述测试任务。
7.根据权利要求6所述的装置,其特征在于,所述测试模块还包括:
测试报告获取子模块,用于获取执行所述测试用例生成的测试报告;
判断子模块,用于依据所述测试报告判断所述测试用例是否执行完毕,以及,在所述测试用例执行完毕时,调用所述测试复位子模块;在所述测试用例未执行完毕时,返回所述测试执行子模块。
8.根据权利要求6或7所述的装置,其特征在于,所述测试加载子模块包括:
测试任务开启单元,用于通过重配置测试任务的定时中断通知消息,将测试任务加载进目标程序中,并开启所述测试任务。
9.根据权利要求8所述的装置,其特征在于,所述测试加载子模块还包括:
测试脚本获取单元,用于获取所述目标程序的测试脚本;
第一测试任务加载单元,用于采用所述测试脚本对所述目标程序加载测试任务;
所述测试复位子模块包括:
第一任务结束单元,用于结束所述测试任务;
第一任务删除单元,用于采用所述测试脚本从所述目标程序中删除所述测试任务。
10.根据权利要求8所述的装置,其特征在于,所述测试加载子模块还包括:
控制台命令获取单元,用于获取所述目标程序的控制台命令;
第二测试任务加载单元,用于采用所述控制台命令对所述目标程序加载测试任务;
所述测试复位子模块包括:
第二任务结束单元,用于结束所述测试任务;
第二任务删除单元,用于采用所述控制台命令从所述目标程序中删除所述测试任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151367.7A CN108572892B (zh) | 2017-03-14 | 2017-03-14 | 一种基于PowerPC多核处理器的离线测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151367.7A CN108572892B (zh) | 2017-03-14 | 2017-03-14 | 一种基于PowerPC多核处理器的离线测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108572892A CN108572892A (zh) | 2018-09-25 |
CN108572892B true CN108572892B (zh) | 2020-10-27 |
Family
ID=63578617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710151367.7A Active CN108572892B (zh) | 2017-03-14 | 2017-03-14 | 一种基于PowerPC多核处理器的离线测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572892B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857665B (zh) * | 2019-01-30 | 2022-03-15 | 北京云测信息技术有限公司 | 一种测试用例的测试执行方法及装置 |
CN112035346B (zh) * | 2020-08-25 | 2023-09-12 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于嵌入式dsp操作***的自动化测试方法、***及介质 |
CN113514759B (zh) * | 2021-09-07 | 2021-12-17 | 南京宏泰半导体科技有限公司 | 一种多核测试处理器及集成电路测试***与方法 |
CN116820946B (zh) * | 2023-06-16 | 2024-05-14 | 深圳国家金融科技测评中心有限公司 | 一种对目标软件兼容性进行自动化测试的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932776A (zh) * | 2006-09-29 | 2007-03-21 | 上海科泰世纪科技有限公司 | 嵌入式操作***中接口测试的自动化运行方法 |
CN101385008A (zh) * | 2006-03-14 | 2009-03-11 | 英特尔公司 | 用于多处理器内核的公用模拟接口 |
CN102331961A (zh) * | 2011-09-13 | 2012-01-25 | 华为技术有限公司 | 并行模拟多个处理器的方法及***、调度器 |
CN102681941A (zh) * | 2012-05-15 | 2012-09-19 | 北京理工大学 | 一种可扩展的嵌入式仿真测试*** |
CN105279007A (zh) * | 2014-07-10 | 2016-01-27 | 龙芯中科技术有限公司 | 多核处理器的模拟方法及装置 |
-
2017
- 2017-03-14 CN CN201710151367.7A patent/CN108572892B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101385008A (zh) * | 2006-03-14 | 2009-03-11 | 英特尔公司 | 用于多处理器内核的公用模拟接口 |
CN1932776A (zh) * | 2006-09-29 | 2007-03-21 | 上海科泰世纪科技有限公司 | 嵌入式操作***中接口测试的自动化运行方法 |
CN102331961A (zh) * | 2011-09-13 | 2012-01-25 | 华为技术有限公司 | 并行模拟多个处理器的方法及***、调度器 |
CN102681941A (zh) * | 2012-05-15 | 2012-09-19 | 北京理工大学 | 一种可扩展的嵌入式仿真测试*** |
CN105279007A (zh) * | 2014-07-10 | 2016-01-27 | 龙芯中科技术有限公司 | 多核处理器的模拟方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108572892A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
US8589892B2 (en) | Verification of speculative execution | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
CN110580226B (zh) | 操作***级程序的目标码覆盖率测试方法、***及介质 | |
US20130311827A1 (en) | METHOD and APPARATUS for automatic testing of automation software | |
US8868976B2 (en) | System-level testcase generation | |
US8990622B2 (en) | Post-silicon validation using a partial reference model | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
US7546585B2 (en) | Method, system and computer program product for testing computer programs | |
CN107957939B (zh) | 网页交互界面测试方法及*** | |
Zhou et al. | Extracting configuration knowledge from build files with symbolic analysis | |
CN116069635A (zh) | Soc***的测试方法、装置、计算机设备及存储介质 | |
US8972784B2 (en) | Method and device for testing a system comprising at least a plurality of software units that can be executed simultaneously | |
CN108874656A (zh) | 代码测试方法、装置、可读存储介质及计算机设备 | |
CN109753415B (zh) | 处理器验证***及基于处理器验证***的处理器验证方法 | |
US8938646B2 (en) | Mutations on input for test generation | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN115373929A (zh) | 测试方法、装置、设备、可读存储介质及程序产品 | |
CN115034165A (zh) | 一种芯片仿真验证方法、***、设备以及存储介质 | |
CN113742252A (zh) | 一种检测内存乱序的方法及装置 | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
KR101513662B1 (ko) | 실행 가능한 그래픽 사용자 인터페이스 검색 시스템 및 검색 방법 | |
US11719749B1 (en) | Method and system for saving and restoring of initialization actions on dut and corresponding test environment | |
US8930759B2 (en) | Stream generation |
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 |