[发明专利]C++Test针对Codewarrior的软件仿真方法有效
申请号: | 201010579997.2 | 申请日: | 2010-12-07 |
公开(公告)号: | CN102567069A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 刘军利;钱升华;黄太新;孟广国 | 申请(专利权)人: | 北京广利核系统工程有限公司;中国广东核电集团有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京元中知识产权代理有限责任公司 11223 | 代理人: | 王明霞 |
地址: | 100094 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | test 针对 codewarrior 软件 仿真 方法 | ||
技术领域
本发明涉及电站控制领域,具体涉及一种在C++Test环境下对Codewarrior的测试对象进行软件仿真,从而得到单元测试的静态分析、动态测试的跟踪调试及覆盖率支持的方法。
背景技术
目前核电站的应用上,常常需要根据不同的客户要求,安装或增加一些新的设备,这些设备需要使用相应的软件,此类软件都是在相应的工程软件环境下编写的,软件完成后需要首先进行测试,以验证是否能够驱动相应设备或是否达到驱动要求,但此类实际运行环境比较难以实现,因此就采用仿真的方法来验证和测试软件的正确性。现有技术中,核电站领域多是利用Codewarrior来进行软件的编程和测试,Codewarrior是一个完整的用于编程应用中的硬件集成开发环境,其本身自带有硬件仿真程序,可以实现测试对象的仿真调试工作。Codewarrior在使用时需要搭建硬件环境,搭建好环境后,然后编译测试对象,加载到仿真环境中,执行编译生成文件,观察仿真器指示灯,然后选择刚刚执行过的测试用例,进行跟踪调试,每调试完一个功能项,要重新启动硬件仿真器,执行步骤比较繁琐,静态分析和动态测试都存在这样的问题,且不能实现覆盖率统计信息。另一方面,Codewarrior在进行硬件仿真时,开发人员编写的代码必须已经开发完整,不完整的情况下,很难让测试人员运行在Codewarrior的硬件仿真环境里,如开发人员寄存器没有初始化的情况下,测试人员就无法进行测试,需要重起硬件、更改寄存器的值,很不便利。目前多数行业开始采用软件仿真来代替硬件仿真,软件仿真需要的运行环境相对硬件仿真的运行环境要少得多,而且软件仿真可以方便实现测试程序某个部分、某个功能、某个方向的部分输出,而且可以随时中止测试程序,随时提出测试过程中的数据,这些都是硬件仿真所实现不了的。因此,如何在核电站领域中使用软件仿真程序来提高工作效率,是当前需要解决的问题。
发明内容
为解决现有技术中Codewarrior的测试对象无法应用在软件仿真程序中的问题,本发明提供一种利用C++Test环境下调入软件仿真程序实现Codewarrior的测试对象的静态分析、动态跟踪调试及覆盖率统计信息的技术方案,具体方案如下:C++Test针对Codewarrior的软件仿真方法,
步骤1、在Codewarrior中编写测试对象;
其特征在于,依次执行下述步骤:
步骤2、将在Codewarrior中编写的测试对象中的非C语言进行剥离;
步骤3、在Workbench中配置Codewarrior的执行环境;
步骤4、然后导入剥离后的测试对象;
步骤5、对Workbench中的C++Test进行配置Codewarrior的执行环境;
步骤6、在C++Test中执行测试对象,生成测试用例;
步骤7、在Workbench中运行测试用例,生成测试中间文件;
步骤8、得到C++Test环境下的测试对象的测试结果和覆盖率信息。
本发明的另一优选方案:所述步骤1中剥离的非C语言由相应功能的C语言进行替换。
本发明的另一优选方案:所述步骤3中包括调用Codewarrior中针对此测试对象所用到的运行时库。
本发明的另一优选方案:所述步骤5中包括编译调用程序,所述调用程序包括如下步骤:
步骤51、编译可链接执行文件;
步骤52、加载软件仿真程序并执行可链接执行文件;
步骤53、读取测试结果进行显示输出。
本方案充分解决Codewarrior的测试对象无法应用在软件仿真程序下的问题,同时提供测试覆盖率数据支持。使Codewarrior的测试对象软件脱离硬件仿真的环境而应用在软件仿真程序下,不必等到先做出硬件板卡再进行测试,缩短了工期,提高了工作效率。达到降低技术难度、克服资源短缺、降低成本的效果。将原嵌入式动态单元测试执行流程3个步骤合并成一个执行步骤,简化了执行过程。将C++Test与Workbench结合,克服各自的缺陷,实现Codewarrior的测试对象在软件仿真程序下生成测试用例、测试中间文件,输出各种测试结果的有益效果,同时加上了编译动态运行时库的操作,以提供测试对象在编译过程中调用的相关库稳健,本方案采用软件仿真程序后相对硬件仿真大约提高工作效率25%.,并且节约成本,减少对硬件资源的依赖。
附图说明
图1本发明的执行步骤示意框图。
图2本发明在C++Test环境下调用windiss时配置符号库示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京广利核系统工程有限公司;中国广东核电集团有限公司,未经北京广利核系统工程有限公司;中国广东核电集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010579997.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于云的系统中的信息技术资源分配和利用跟踪
- 下一篇:信息运行维护管理方法