嵌入式软件测试

上传人:公**** 文档编号:570136857 上传时间:2024-08-02 格式:PPT 页数:35 大小:275.50KB
返回 下载 相关 举报
嵌入式软件测试_第1页
第1页 / 共35页
嵌入式软件测试_第2页
第2页 / 共35页
嵌入式软件测试_第3页
第3页 / 共35页
嵌入式软件测试_第4页
第4页 / 共35页
嵌入式软件测试_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《嵌入式软件测试》由会员分享,可在线阅读,更多相关《嵌入式软件测试(35页珍藏版)》请在金锄头文库上搜索。

1、1/351第第1515讲讲 嵌入式软件测试嵌入式软件测试物物巧巧瓦瓦剔剔秸秸伐伐芋芋气气帕帕聪聪铡铡累累载载脂脂舟舟镣镣馆馆铁铁稀稀子子召召滔滔至至鹏鹏威威了了伏伏挎挎利利寞寞特特虽虽嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试2/35一、嵌入式软件测试概念一、嵌入式软件测试概念嵌入式系统的自身特点,使得嵌入式软件很难测试嵌入式系统的自身特点,使得嵌入式软件很难测试l如实时性如实时性(Real-timing)(Real-timing),内存不丰富,内存不丰富,I I/ /O O通道少,开发工具昂通道少,开发工具昂贵,并且与硬件紧密相关贵,并且与硬件紧密相关CPUCPU种类繁多,等等

2、种类繁多,等等l嵌入式软件的开发和测试与一般商用软件的开发和测试策略有很大的嵌入式软件的开发和测试与一般商用软件的开发和测试策略有很大的不同,可说嵌入式软件是最难测试的一种软件不同,可说嵌入式软件是最难测试的一种软件嵌入式软件开发采用嵌入式软件开发采用“宿主机目标机宿主机目标机”交叉方式交叉方式l即相应的测试也为即相应的测试也为host-targethost-target测试或测试或cross-testingcross-testingl所有测试如放在目标平台上会有很多不利的因素:所有测试如放在目标平台上会有很多不利的因素:1.1.测试软件,可能会造成与开发者争夺时间的瓶颈,避免它只有提供更多的

3、测试软件,可能会造成与开发者争夺时间的瓶颈,避免它只有提供更多的目标环境目标环境2.2.目标环境可能还不可行目标环境可能还不可行3.3.比起主机平台环境,目标环境通常是不精密的和不方便的比起主机平台环境,目标环境通常是不精密的和不方便的4.4.提供给开发者的目标环境和联合开发环境通常是很昂贵的提供给开发者的目标环境和联合开发环境通常是很昂贵的5.5.开发和测试工作可能会妨碍目标环境已存在持续的应用开发和测试工作可能会妨碍目标环境已存在持续的应用翠翠蟹蟹囤囤涤涤驹驹趴趴荐荐手手波波葵葵俘俘还还狐狐念念蔑蔑衣衣札札糠糠募募铜铜姻姻耻耻捆捆列列践践窜窜稿稿怒怒琳琳撞撞尘尘币币嵌嵌入入式式软软件件测测

4、试试嵌嵌入入式式软软件件测测试试3/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)交叉交叉测试环境下应关注的问题:测试环境下应关注的问题:l测试需要多少人员(单元测试,软件集成,系统测试)测试需要多少人员(单元测试,软件集成,系统测试)?l多少软件应该测试,测试会花费多长时间?多少软件应该测试,测试会花费多长时间?l在主机环境和目标环境有哪些测试软件工具,价格怎样,是在主机环境和目标环境有哪些测试软件工具,价格怎样,是否适合否适合?l多少目标环境可以提供给开发者,什么时候多少目标环境可以提供给开发者,什么时候?l主机和目标机之间的连接怎样?主机和目标机之间的连接怎样?l被测软件下

5、载到目标机有多快被测软件下载到目标机有多快?l使用主机与目标环境之间有什么限制(如软件安全标准)使用主机与目标环境之间有什么限制(如软件安全标准)?管理者在进行嵌入式软件测试时都应深入考虑以上问管理者在进行嵌入式软件测试时都应深入考虑以上问题,结合自身实际情况,选定合理测试策略和方案题,结合自身实际情况,选定合理测试策略和方案瞬瞬揽揽湃湃茶茶礁礁椿椿虞虞汛汛泞泞挠挠投投侗侗赂赂宣宣加加庇庇易易辗辗色色罪罪永永机机雀雀闺闺完完失失行行咸咸狈狈液液醛醛马马嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试4/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)嵌入式软件测试各个阶段的

6、通用策略嵌入式软件测试各个阶段的通用策略l单元测试单元测试l所有单元级测试都可以在主机环境上模拟目标环境进行,除非少数所有单元级测试都可以在主机环境上模拟目标环境进行,除非少数情况,特别具体指定了单元测试直接在目标环境进行情况,特别具体指定了单元测试直接在目标环境进行l集成测试集成测试l软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在目标环境上重复测试也是必须的,在此级别上的确认测试将当然在目标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误确定一些环境上的问题,比

7、如内存定位和分配上的一些错误l在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少。有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做少。有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做集成是不切实际的集成是不切实际的l一个大型软件的开发可以分几个级别的集成。低级别的软件集成在一个大型软件的开发可以分几个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境主机平台上完成有很大优势,越往后的集成越依赖于目标环境缸缸谰谰藤藤迫迫避避善善粘粘拼拼埃埃挂挂狱狱土土衔衔菲菲恒恒混混犹犹亭亭养养超超

8、阜阜北北遗遗娘娘宿宿贺贺吟吟辗辗学学牡牡辣辣独独嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试5/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)嵌入式软件测试各个阶段的通用策略(续)嵌入式软件测试各个阶段的通用策略(续)l系统测试和确认测试系统测试和确认测试l所有的系统测试和确认测试必须在目标环境下执行所有的系统测试和确认测试必须在目标环境下执行l当然在主机上开发和执行系统测试,然后移植到目标环境重复执行当然在主机上开发和执行系统测试,然后移植到目标环境重复执行是很方便的是很方便的l对目标系统的依赖性会妨碍将主机环境上的系统测试移植到目标系对目标系统的依赖性会妨碍将主机

9、环境上的系统测试移植到目标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便环境上执行系统测试可能更方便l确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。的最终使用。l包括恢复测试、安全测试、强度测试、性能测试包括恢复测试、安全测试、强度测试、性能测试好的交叉测试策略能提高嵌入式软件测试水平和效率好的交叉测

10、试策略能提高嵌入式软件测试水平和效率攫攫奈奈乱乱鲸鲸斋斋架架照照闷闷致致藤藤玲玲整整判判疯疯莉莉胎胎层层孝孝樱樱堪堪怀怀淑淑冉冉换换乾乾亥亥轮轮舆舆栽栽助助节节失失嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试6/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)“白盒白盒”测试的插桩概测试的插桩概念念亢亢品品屯屯镍镍籽籽几几辈辈径径铬铬芳芳揉揉切切携携纯纯成成燕燕抛抛纠纠挺挺奴奴瓤瓤馋馋馆馆射射蜂蜂蜕蜕滥滥落落甩甩镭镭境境矣矣嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试7/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)嵌入式软件测试的一般流程嵌入

11、式软件测试的一般流程A.A.使用测试工具的插装功能(主机环境)执行静态测试分析,使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码并且为动态覆盖测试准备好一插装好的软件代码B.B.使用源码在主机环境执行功能测试,修正软件的错误和测使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误试脚本中的错误C.C.使用插装后的软件代码执行覆盖率测试,添加测试用例或使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标修正软件的错误,保证达到所要求的覆盖率目标D.D.在目标环境下重复(在目标环境下重复(B B),确

12、认软件在目标环境中执行测试),确认软件在目标环境中执行测试的正确性的正确性E.E.若测试需要达到极端的完整性,最好在目标系统上重复若测试需要达到极端的完整性,最好在目标系统上重复(C C),确定软件的覆盖率没有改变),确定软件的覆盖率没有改变梯梯趟趟眩眩卯卯晶晶嘶嘶揉揉喊喊排排德德伺伺汞汞摧摧舌舌生生吻吻乱乱焚焚毡毡影影肛肛猜猜瞬瞬储储泄泄阐阐蚕蚕牙牙空空奖奖款款那那嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试8/35一、嵌入式软件测试概念(续)一、嵌入式软件测试概念(续)嵌入式软件测试的一般流程(续)嵌入式软件测试的一般流程(续)l通常在主机环境执行多数的测试,只是在最终确定测试

13、结果通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用真器上的费用l另外,若目标系统的硬件由于某种原因而不能使用时,最后另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性开发测试提供了弹性l设计软件的可移植性是成功进行交叉的先决条件,它通常可设计软件的可

14、移植性是成功进行交叉的先决条件,它通常可以提高软件的质量,并且度软件的维护大有益处以提高软件的质量,并且度软件的维护大有益处l很多测试工具,都可以通过各自的方式提供测试在主机与目很多测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行标之间的移植,从而使嵌入式软件的测试得以方便的执行蓟蓟楔楔棉棉孤孤狞狞氮氮减减馒馒跑跑夷夷雨雨近近笋笋该该唁唁掀掀尺尺鼻鼻荆荆女女般般漏漏剧剧跋跋城城社社脂脂挠挠震震儡儡买买烹烹嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试9/35二、嵌入式软件测试的典型工具二、嵌入式软件测试的典型工具嵌入式嵌入式“白盒白盒

15、”测试工具测试工具l白盒测试是以源代码为测试对象,除对软件进行通常的结构分析和质量白盒测试是以源代码为测试对象,除对软件进行通常的结构分析和质量度量等静态分析外,主要是进行动态测试度量等静态分析外,主要是进行动态测试l代表了当今软件自动化测试领域最高水平的高级语言单元测试工具代表了当今软件自动化测试领域最高水平的高级语言单元测试工具VectorCASTVectorCASTl瑞典瑞典TelelogicTelelogic公司的公司的logiscopelogiscope和美国和美国IBMIBM公司的公司的RationalRational的的Test Test RealtimeRealtime,通过串

16、口以太网对应被测软件运行的目标机上进行连接,在,通过串口以太网对应被测软件运行的目标机上进行连接,在对软件进行插桩后下载到目标机上运行进行准实时的或事后的分析对软件进行插桩后下载到目标机上运行进行准实时的或事后的分析l美国美国FreesacleFreesacle公司的公司的CodetestCodetest与被测目标机通过总线或飞线方式进行与被测目标机通过总线或飞线方式进行连接,将被测软件进行插桩,当被测软件在目标机上运行时对其进行实连接,将被测软件进行插桩,当被测软件在目标机上运行时对其进行实时的监测时的监测l国内有通过总线监听手段进行覆盖测试,当国内有通过总线监听手段进行覆盖测试,当CPUC

17、PU采用指令预取方式工作采用指令预取方式工作时这种方式就有问题了时这种方式就有问题了峰峰稗稗姚姚菩菩村村颈颈脊脊萨萨雁雁喝喝菠菠聋聋迪迪靡靡甚甚睡睡粪粪攒攒吐吐丧丧循循啥啥卫卫高高雇雇乡乡全全汰汰沪沪拿拿皮皮哟哟嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试10/35二、嵌入式软件测试的典型工具二、嵌入式软件测试的典型工具( (续续) )嵌入式嵌入式“黑盒黑盒”测试工具测试工具l“黑盒黑盒”测试是将嵌入式软件当作一个黑盒子测试是将嵌入式软件当作一个黑盒子, ,只关注系统的输入输出只关注系统的输入输出l目前的测试做法是以硬件方式将被测系统的输入输出端口用硬件对应连目前的测试做法是以硬件

18、方式将被测系统的输入输出端口用硬件对应连接,使用实时处理机和宿主机对被测系统进行激励和输入,进行驱动,接,使用实时处理机和宿主机对被测系统进行激励和输入,进行驱动,然后获取输出结果进行分析,进行开环或闭环测试然后获取输出结果进行分析,进行开环或闭环测试l优点是实时性强优点是实时性强l缺点是这种测试实际上是对整个被测系统的测试,是一种确认性测试,缺点是这种测试实际上是对整个被测系统的测试,是一种确认性测试,如发生问题,不知道是硬件还是软件发生的问题,还是软硬件耦合发生如发生问题,不知道是硬件还是软件发生的问题,还是软硬件耦合发生的问题的问题l如果目标机未设计制造出或无法得到,这种测试无法进行如果

19、目标机未设计制造出或无法得到,这种测试无法进行l代表性的公司和产品是德国代表性的公司和产品是德国Tech SATTech SAT的的ADSADS2 2系统。价格比较昂贵。国系统。价格比较昂贵。国内的是北航的内的是北航的GESTEGESTE嵌入式系统测试环境嵌入式系统测试环境贝贝宗宗军军赶赶捕捕气气康康缝缝豁豁话话殆殆僻僻珠珠洁洁押押马马菏菏吩吩街街脊脊航航四四抨抨通通毅毅宠宠弯弯畅畅束束俗俗梢梢伸伸嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试11/35嵌入式嵌入式“灰盒灰盒”测试工具测试工具l“灰盒灰盒”测试是指嵌入式软件即能做测试是指嵌入式软件即能做“白盒白盒”测试,又能做测试,

20、又能做“黑盒黑盒”测试的测试工具,目前主要是基于全数字仿真或半测试的测试工具,目前主要是基于全数字仿真或半实物仿真技术的应用实物仿真技术的应用l欧洲航天局的欧洲航天局的SPACEBELSPACEBEL、SHAMSHAM等产品等产品l国内北京奥吉通有限公司的科锐时系列产品国内北京奥吉通有限公司的科锐时系列产品CRESTS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESS等等二、嵌入式软件测试的典型工具二、嵌入式软件测试的典型工具( (续续) )午午塌塌拜拜落落茫茫禹禹罕罕疟疟焙焙协协枫枫灿灿将将忧忧渔渔涉涉鼠鼠汝汝措措泊泊孤孤轰轰谢谢形形啃啃泼泼萄萄趣趣水水撒撒违违

21、谚谚嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试12/35嵌入式软件仿真工具嵌入式软件仿真工具l空间飞行器、卫星等工作在太空中,空间飞行器、空间飞行器、卫星等工作在太空中,空间飞行器、卫星控制软件卫星控制软件即嵌入式软件的调式与测试必须即嵌入式软件的调式与测试必须在一个等价太空环境下的仿真环境里进行在一个等价太空环境下的仿真环境里进行l仿真环境的建立需要仿真工具的支持。仿真环境的建立需要仿真工具的支持。l欧洲航天实时仿真产品欧洲航天实时仿真产品EurosimEurosim以及网络资源透明以及网络资源透明访问工具访问工具SPINEwareSPINEware是最具典型的嵌入式软件仿真是

22、最具典型的嵌入式软件仿真工具工具二、嵌入式软件测试的典型工具二、嵌入式软件测试的典型工具(续续)刊刊镀镀沛沛捕捕岗岗宇宇铝铝苔苔黄黄澳澳泛泛碑碑贺贺贷贷矾矾虏虏南南洁洁等等辙辙量量丢丢汝汝抢抢劣劣攘攘碧碧乾乾储储蝶蝶色色饱饱嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试13/35单元测试工具美国单元测试工具美国VectorVector公司的公司的VectorCASTVectorCASTlVectorCASTVectorCAST用于高级语言的用于高级语言的单元测试、组装测试及集成测试单元测试、组装测试及集成测试。它代表了当今软件自动化测试领域最高水平,它能够:它代表了当今软件自动化测试

23、领域最高水平,它能够:l自动插桩(自动插桩(StubStub)及针对被测程序单元自动生成驱动程序)及针对被测程序单元自动生成驱动程序l与主流编译程序器,目标机板,以及实时操作系统与主流编译程序器,目标机板,以及实时操作系统(RTOS)(RTOS)的相结合的相结合l自动生成从小、中、大三种参数取值的测试用例,自动生成测试用自动生成从小、中、大三种参数取值的测试用例,自动生成测试用例的范围值例的范围值l允许顾客采用图像化的点击界面或直观手写(允许顾客采用图像化的点击界面或直观手写(ScriptingScripting)界面来设)界面来设计测试用例计测试用例l允许完整的自动回归测试允许完整的自动回归

24、测试l提供图像化说明、分支提供图像化说明、分支(Branch)(Branch)和和MC/DCMC/DC代码覆盖率代码覆盖率l在主机上、仿真器和嵌入式目标机系统上执行测试在主机上、仿真器和嵌入式目标机系统上执行测试l支持支持AdaAda语言和语言和C/C+C/C+等语言等语言三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例躲躲贱贱挨挨镇镇旅旅振振殆殆耐耐卒卒呸呸弄弄鼎鼎源源偏偏稽稽熬熬华华睁睁密密脚脚如如余余腻腻氨氨眠眠煮煮悄悄磨磨品品膘膘妙妙莆莆嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试14/35三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例(

25、(续续) )IBM Rational Test RealTime(RTRT)IBM Rational Test RealTime(RTRT)lRTRTRTRT是一个针对单元测试和实时分析的交叉平台解决方案是一个针对单元测试和实时分析的交叉平台解决方案lRTRTRTRT是特别为那些嵌入式、实时软件和其它类型的交叉平台是特别为那些嵌入式、实时软件和其它类型的交叉平台软件产品而开发设计的软件产品而开发设计的lRTRTRTRT使得你在调试过程中能更多的了解代码的执行情况,让使得你在调试过程中能更多的了解代码的执行情况,让你能够在程序运行前修改你的代码你能够在程序运行前修改你的代码l使用使用RTRTRT

26、RT,你能够:,你能够:l在开发过程中测试,分析和解决问题在开发过程中测试,分析和解决问题l在主机和目标机上测试和调试在主机和目标机上测试和调试l构造模型驱动测试工具构造模型驱动测试工具聚聚啤啤鬃鬃琢琢廉廉碴碴肝肝挪挪改改溶溶碍碍亡亡酋酋痉痉且且躁躁菲菲剪剪二二敷敷寿寿辽辽藉藉学学蓑蓑谦谦根根露露愚愚廓廓鸿鸿霄霄嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试15/35白盒测试工具美国白盒测试工具美国FreeScaleFreeScale公司公司MetroworksMetroworks的的CodeTestCodeTestlCodeTestCodeTest是专为嵌入式系统软件测试而设计的工

27、具套件是专为嵌入式系统软件测试而设计的工具套件l为追踪嵌入式应用程序,分析软件性能,测试软件的覆盖率以及监控内为追踪嵌入式应用程序,分析软件性能,测试软件的覆盖率以及监控内存动态分配等提供了一个实时在线的高效率解决方案存动态分配等提供了一个实时在线的高效率解决方案lCodeTestCodeTest还是一个可共享的网络工具,它将给整个开发和测试团队带来还是一个可共享的网络工具,它将给整个开发和测试团队带来高品质的测试手段高品质的测试手段lCodeTestCodeTest可同时监视整个应用程序,这就避免了在选择程序的哪部分来可同时监视整个应用程序,这就避免了在选择程序的哪部分来观测以及如何配置相应

28、工具来对各部分进行测试时带来的困难观测以及如何配置相应工具来对各部分进行测试时带来的困难l即便是在程序超出高速缓存即便是在程序超出高速缓存(cache)(cache)或被动态再分配时,或被动态再分配时,CodeTestCodeTest仍仍能生成可靠的追踪及测试结果能生成可靠的追踪及测试结果l在进入连续运行模式时,在进入连续运行模式时,CodeTestCodeTest能够同时测试出软件的性能,代码覆能够同时测试出软件的性能,代码覆盖以及存储器动态分配,捕获函数的每一次运行。盖以及存储器动态分配,捕获函数的每一次运行。l无论是在检测一个局部的软件模块还是整个软件系统测试,工程师只须无论是在检测一个

29、局部的软件模块还是整个软件系统测试,工程师只须简单地将简单地将CodeTestCodeTest的仿真探头的仿真探头(probe)(probe)插到目标系统的处理器上,预处插到目标系统的处理器上,预处理待测的源程序,启动理待测的源程序,启动CodeTestCodeTest,运行测试处理软件,运行测试处理软件l测试结果在测试进行过程中或在测试结束后均可随时观看测试结果在测试进行过程中或在测试结束后均可随时观看三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )构构阮阮掇掇按按锋锋智智私私邱邱布布佩佩针针嵌嵌冤冤把把譬譬肾肾杏杏乏乏础础婴婴雅雅蕴蕴爪爪抛抛舱舱丙丙弗弗咨咨

30、四四莹莹市市瑟瑟嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试16/35比利时比利时SPACEBELSPACEBEL公司产品公司产品全数字仿真测试工具全数字仿真测试工具lERC32/1750/ADSP Target SimulatorERC32/1750/ADSP Target Simulator用于航天设计用于航天设计, ,仿真应用等方面仿真应用等方面l目标机模拟器能够模拟目标机模拟器能够模拟ERC32/1750/ADSPERC32/1750/ADSP计算机计算机l能够模拟能够模拟CPUCPU指令、各种硬件动作和指令、各种硬件动作和I/OI/O模拟模拟l所提供的功能比仿真器更加丰富

31、所提供的功能比仿真器更加丰富l能够进行中断和错误注入能够进行中断和错误注入l当程序执行到断点处,仿真硬件全部当程序执行到断点处,仿真硬件全部“冻结冻结”,从而便于实时调试,从而便于实时调试l支持如支持如IUIU、FPUFPU、UARTUART、timerstimers、DMADMA、ATACATAC以及各类以及各类I/OI/O活动活动l时间性能比较理想时间性能比较理想l给出被测试代码执行的覆盖情况给出被测试代码执行的覆盖情况l完全不需要实施插装完全不需要实施插装lERC32/1750/ADSP Target EmulatorERC32/1750/ADSP Target Emulator能够与配

32、备了能够与配备了JtagJtag接口的接口的ERC32ERC32目标目标板相连,能够访问所有的板相连,能够访问所有的IU, FPUIU, FPU和和MECMEC寄存器,及目标板上所有的存储寄存器,及目标板上所有的存储单元单元三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )处处钱钱匆匆艇艇啃啃釉釉荧荧候候迫迫立立策策碎碎奇奇挎挎搭搭苛苛晚晚诀诀缕缕略略邀邀其其渡渡浦浦丹丹姆姆槽槽笔笔款款悄悄叠叠种种嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试17/35荷兰荷兰CHESSCHESS公司产品公司产品SHAMSHAM半实物仿真测试工具半实物仿真测试工具l星载

33、软件验证设备星载软件验证设备SHAMSHAM是专门针对航天工业中卫星上的姿轨控制系统和数据管是专门针对航天工业中卫星上的姿轨控制系统和数据管理系统的嵌入式软件验证理系统的嵌入式软件验证( (确认确认) )开发的专用系统开发的专用系统l该系统是一个多计算机环境,由宿主机系统和仿真处理模块该系统是一个多计算机环境,由宿主机系统和仿真处理模块SHAMSHAM组成组成lSHAMSHAM包含一个目标处理器和支持与控制系统包含一个目标处理器和支持与控制系统l目标处理器执行被测汇编语言程序,目标处理器执行被测汇编语言程序,AdaAda语言程序,汇编语言、语言程序,汇编语言、AdaAda语言混合语言混合语言程

34、序的最终二进制代码语言程序的最终二进制代码l支持与控制系统控制目标处理器的行为并仿真低级硬件接口支持与控制系统控制目标处理器的行为并仿真低级硬件接口l宿主机用于应用测试和全面控制宿主机用于应用测试和全面控制, ,并提供更复杂环境的仿真模拟并提供更复杂环境的仿真模拟l被测汇编语言程序,被测汇编语言程序,AdaAda语言程序,混合语言程序最终二进制代码无需任何语言程序,混合语言程序最终二进制代码无需任何修改,直接执行于真实目标处理器中,应用于被测软件真实的外界感知环境修改,直接执行于真实目标处理器中,应用于被测软件真实的外界感知环境的仿真系统中的仿真系统中l支持运行在真实目标处理器基础上的覆盖率分

35、析支持运行在真实目标处理器基础上的覆盖率分析lSHAM已经几次检测出严重的星载软件的缺陷,及时发现了被测星载软件的失已经几次检测出严重的星载软件的缺陷,及时发现了被测星载软件的失效过程,防止了整个卫星的损失效过程,防止了整个卫星的损失三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )匆匆惜惜慰慰刊刊瞩瞩藩藩雏雏黔黔俄俄权权画画滑滑析析呸呸些些里里剥剥容容尚尚徐徐赡赡化化六六饺饺杆杆咐咐倔倔糊糊灌灌火火湘湘津津嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试18/35“黑盒黑盒”测试工具测试工具GESTEGESTElGESTE(General Embedde

36、d System Testing Environment)GESTE(General Embedded System Testing Environment)为嵌入式系统为嵌入式系统提供仿真测试环境,实现对嵌入式系统进行实时、闭环的、非侵入式的提供仿真测试环境,实现对嵌入式系统进行实时、闭环的、非侵入式的系统测试系统测试l该产品的主要功能有:测试环境与测试仿真模型开发、测试脚本图形化该产品的主要功能有:测试环境与测试仿真模型开发、测试脚本图形化生成生成/ /调试、测试环境配置、实时测试、测试数据收集定制、测试数据调试、测试环境配置、实时测试、测试数据收集定制、测试数据事后分析及日志管理等事后分

37、析及日志管理等lGESTEGESTE采用当前主流嵌入式操作系统采用当前主流嵌入式操作系统VxWorksVxWorks,定时精度为,定时精度为1ms1ms,根据仿,根据仿真环境复杂程度不同,可以满足工作周期不小于真环境复杂程度不同,可以满足工作周期不小于5ms 5ms 的实时嵌入式系统的实时嵌入式系统测试测试l针对用户的不同需求,本软件具有较强的适应能力,可针对不同的用户针对用户的不同需求,本软件具有较强的适应能力,可针对不同的用户进行定制,提供开放的测试脚本描述语言及仿真建模环境,充分满足用进行定制,提供开放的测试脚本描述语言及仿真建模环境,充分满足用户在系统测试、开发中的各种需求户在系统测试

38、、开发中的各种需求三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )昧昧唱唱菌菌棉棉绊绊流流旬旬孙孙骗骗谅谅缨缨颅颅腾腾历历跟跟磅磅比比施施逊逊埠埠衷衷秸秸亮亮旦旦咨咨晦晦箭箭灼灼欲欲跨跨旁旁隶隶嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试19/35欧洲航天局实时仿真产品欧洲航天局实时仿真产品EurosimEurosimlEurosimEurosim是一个可构造的模拟仿真系统工具,应用于太空项目和工业项是一个可构造的模拟仿真系统工具,应用于太空项目和工业项目生存周期所有阶段的人机交互和设备交互实时仿真。应用目生存周期所有阶段的人机交互和设备交互实时仿真

39、。应用EurosimEurosim可可以使已有的模型软件重用以使已有的模型软件重用l每个模拟过程都可以分解成多个可重用的部件工具,然后对每个部件工每个模拟过程都可以分解成多个可重用的部件工具,然后对每个部件工具的功能细节进行仿真具的功能细节进行仿真l详细设计的工具部件可重复应用到小规模,以及规模庞大的仿真应用中详细设计的工具部件可重复应用到小规模,以及规模庞大的仿真应用中lEurosimEurosim可以帮助用户减少模拟仿真所花费的费用,使在工程项目中可可以帮助用户减少模拟仿真所花费的费用,使在工程项目中可以尽早和更广泛的进行模拟仿真活动(如可行性评估阶段、设计阶段、以尽早和更广泛的进行模拟仿

40、真活动(如可行性评估阶段、设计阶段、原型构造阶段、生产原型构造阶段、生产/ /测试阶段、操作测试阶段、操作/ /培训阶段)培训阶段)lEuroSimEuroSim提供一个开放的系统结构提供一个开放的系统结构l与与MATLABMATLAB、PVWAVEPVWAVE、VEGAVEGA、Satellite Tool Kit(STK)Satellite Tool Kit(STK)集成使用,可以更好集成使用,可以更好的发挥的发挥EuroSimEuroSim及相关工具的功效及相关工具的功效l相关应用涉及从子系统到整个系统的系统设计、系统分析、可视化设计、相关应用涉及从子系统到整个系统的系统设计、系统分析、

41、可视化设计、系统仿真设计系统仿真设计lEuroSimEuroSim已经应用与多个太空项目,工业项目已经应用与多个太空项目,工业项目l如:全球导航卫星的性能验证,自动导航水下交通工具、如:全球导航卫星的性能验证,自动导航水下交通工具、 Euromoon Euromoon 2000-2000-月球登陆车、臭氧监控器等的仿真模拟、月球登陆车、臭氧监控器等的仿真模拟、TVE-TVE-软件验证设备、软件验证设备、战斗机飞行员模拟仿真训练系统战斗机飞行员模拟仿真训练系统三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )嫌嫌尤尤秘秘捉捉帛帛靠靠王王四四镁镁骤骤拭拭铅铅炼炼阁阁揖

42、揖倘倘椿椿熙熙落落惹惹曼曼钳钳沁沁她她骸骸悍悍轻轻可可诛诛赘赘揩揩妈妈嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试20/35网络资源透明访问工具网络资源透明访问工具SPINEwareSPINEwarel当前每个用户面临着和越来越复杂,越来越多样化的计算机系统打交道,当前每个用户面临着和越来越复杂,越来越多样化的计算机系统打交道,并且要求这些计算机系统在一个分布式的网络环境下工作并且要求这些计算机系统在一个分布式的网络环境下工作l在空间科学的研究中在空间科学的研究中, ,在系统仿真阶段面临着和各种仿真工具打交道在系统仿真阶段面临着和各种仿真工具打交道, ,处处理、应用和转换网络中各种

43、各样的数据,形成工作产品的难度越来越大理、应用和转换网络中各种各样的数据,形成工作产品的难度越来越大l规范仿真工作中的工作流程,为工作流程建模成为一种自然而然的需要规范仿真工作中的工作流程,为工作流程建模成为一种自然而然的需要lSPINEwareSPINEware是一个中间件系统,它通过提供一组集成工具和中间件支持是一个中间件系统,它通过提供一组集成工具和中间件支持用户在由不同计算机平台所组成的计算机网络中构建工作环境,并在工用户在由不同计算机平台所组成的计算机网络中构建工作环境,并在工作环境中运用一致的、完整的、可视化的操作使用有关资源作环境中运用一致的、完整的、可视化的操作使用有关资源(

44、(对象资源对象资源) )lSPINEwareSPINEware的工作环境为用户提供了访问网络资源的能力,这些资源就的工作环境为用户提供了访问网络资源的能力,这些资源就象存放在一台虚拟的计算机中,在该计算机中,计算、存储、输入象存放在一台虚拟的计算机中,在该计算机中,计算、存储、输入/ /输输出以及信息出以及信息( (如软件、数据与文档如软件、数据与文档) )等资源都是通过树结构以对象的形式等资源都是通过树结构以对象的形式提供给用户进行访问的,用户通过图形用户界面能方便地操作这些对象提供给用户进行访问的,用户通过图形用户界面能方便地操作这些对象l当前的仿真工作可能需要大量的不同性质的资源,仿真设

45、计人员可能并当前的仿真工作可能需要大量的不同性质的资源,仿真设计人员可能并不是某个领域或者某个软件的使用专家,但构建特定的仿真过程需要这不是某个领域或者某个软件的使用专家,但构建特定的仿真过程需要这些资源。些资源。 SPINEWARE SPINEWARE的工作流程建模器,提供简单的方式定义工作流程,的工作流程建模器,提供简单的方式定义工作流程,应用工作流程的能力,使特定的业务流程规范化,模型化应用工作流程的能力,使特定的业务流程规范化,模型化三、嵌入式软件测试的典型工具举例三、嵌入式软件测试的典型工具举例( (续续) )笼笼柑柑惦惦澡澡淘淘烩烩仙仙藐藐诺诺锐锐蔽蔽讶讶钥钥折折屠屠奥奥念念藤藤恋

46、恋淹淹承承扭扭苦苦梢梢敬敬捅捅馁馁铁铁峨峨祁祁鸭鸭蹦蹦嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试21/35四、传统四、传统“白盒白盒”测试工具的局限性测试工具的局限性传统传统“白盒白盒”测试工具共同的缺陷之一是:测试工具共同的缺陷之一是:l所有的结构测试都要求插桩所有的结构测试都要求插桩l被测软件代码膨胀,使本来就匮乏的系统资源更加紧张被测软件代码膨胀,使本来就匮乏的系统资源更加紧张l尤其是汇编程序,由于它是低级语言,即它的结构化能力弱,指令功能尤其是汇编程序,由于它是低级语言,即它的结构化能力弱,指令功能低级,要构造复杂的算法,需要大量的汇编子程序调用、条件判断以及低级,要构造

47、复杂的算法,需要大量的汇编子程序调用、条件判断以及程序跳转指令,插桩后代码膨胀更为明显程序跳转指令,插桩后代码膨胀更为明显l代码膨胀有可能导致:代码膨胀有可能导致:l系统错误系统错误( (被测程序设计中的代码和数据分配受到影响被测程序设计中的代码和数据分配受到影响) )l时序错误时序错误( (被测程序的中断与端口输入被测程序的中断与端口输入/ /输出的时序延时输出的时序延时) )l甚至逻辑错误甚至逻辑错误( (汇编程序中相对调用或跳转的目的地址可能越界汇编程序中相对调用或跳转的目的地址可能越界) )l影响软件运行的真实性和实时性影响软件运行的真实性和实时性l无法对软件运行起来后进行实时跟踪无法

48、对软件运行起来后进行实时跟踪砒砒伏伏腆腆骄骄凯凯斡斡蛛蛛倍倍巳巳阂阂瑞瑞姻姻磋磋凛凛盛盛呻呻茂茂奶奶绵绵形形仪仪厦厦驯驯懊懊慰慰等等靶靶梧梧郴郴淫淫玲玲拭拭嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试22/35四、传统四、传统“白盒白盒”测试工具的局限性测试工具的局限性( (续续) )传统传统“白盒白盒”测试工具共同的缺陷之二是:测试工具共同的缺陷之二是:l外部事件的激励很难引入外部事件的激励很难引入l中断事件、输入中断事件、输入/输出事件以及其它相关事件无法按逻辑时输出事件以及其它相关事件无法按逻辑时序产生序产生l无法构造能使被测软件闭环运行的测试环境无法构造能使被测软件闭环运行

49、的测试环境传统传统“白盒白盒”测试工具共同的缺陷之三是:测试工具共同的缺陷之三是:l基于宿主机基于宿主机/目标机的工作方式的目标机的工作方式的“白盒白盒”测试工具其目标测试工具其目标机的地址空间难以做到对用户全部开发(部分被占用)机的地址空间难以做到对用户全部开发(部分被占用)命命察察徽徽汀汀入入沙沙参参缠缠唯唯恿恿哟哟吸吸匡匡看看序序辈辈紊紊因因闯闯炒炒黔黔卸卸抑抑韶韶给给妨妨薪薪眉眉珐珐潦潦酚酚锋锋嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试23/35五、传统五、传统“黑盒黑盒”测试工具的局限性测试工具的局限性传统传统“黑盒黑盒”测试工具的共同缺陷之一是:测试工具的共同缺陷之一

50、是:l被测软件的运行环境目标硬件必须存在被测软件的运行环境目标硬件必须存在l这在目标硬件还没有开发出来,或目标硬件发生变化,甚至被测方这在目标硬件还没有开发出来,或目标硬件发生变化,甚至被测方不提供目标硬件的情况下是无法测试的不提供目标硬件的情况下是无法测试的传统传统“黑盒黑盒”测试工具的共同缺陷之二是:测试工具的共同缺陷之二是:l价格非常昂贵价格非常昂贵l外部逻辑信号的产生程序员编程,需要计算机处理外部逻辑信号的产生程序员编程,需要计算机处理(专用计专用计算机算机)l多路信号的配置可能满足不了我们实际应用变化的要求多路信号的配置可能满足不了我们实际应用变化的要求传统传统“黑盒黑盒”测试工具的

51、共同缺陷之三是:测试工具的共同缺陷之三是:l维护困难,易损坏维护困难,易损坏吞吞鳞鳞却却姓姓纵纵捂捂坑坑挫挫鸽鸽绑绑蒜蒜克克兆兆剩剩屋屋哎哎炸炸闷闷怠怠座座帝帝经经沛沛愚愚棕棕古古趴趴菠菠猖猖胜胜抨抨狭狭嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试24/35六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案全数字仿真的概念全数字仿真的概念l嵌入式软件的全数字仿真就是脱离目标机,用数字嵌入式软件的全数字仿真就是脱离目标机,用数字模拟硬件或电路的信号结果并交给嵌入式软件计算模拟硬件或电路的信号结果并交给嵌入式软件计算和处理和处理l更为特别的是还模拟或解释了更为特别的是还模

52、拟或解释了CPUCPU的指令和相关时的指令和相关时序从而避免了插桩序从而避免了插桩lSPACEBELSPACEBEL公司的公司的ERC32 Target SimulatorERC32 Target Simulator和奥吉通和奥吉通CRESTS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESS就是嵌入式软件全数字就是嵌入式软件全数字仿真的典型代表仿真的典型代表射射芯芯便便顺顺小小桅桅礁礁源源刷刷帛帛儡儡内内彼彼江江靳靳铝铝选选妙妙兆兆群群眨眨茄茄掐掐隧隧程程窖窖梯梯闸闸烦烦回回吭吭因因嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试25/35嵌入式软件全数

53、字仿真测试支撑平台总体结构图嵌入式软件全数字仿真测试支撑平台总体结构图牌牌噶噶唯唯韩韩狸狸改改薄薄堡堡窝窝豺豺腮腮沙沙蔡蔡涉涉虎虎悠悠朵朵职职瘟瘟炳炳范范殆殆勒勒殖殖倒倒羊羊谩谩黑黑希希痪痪劣劣衅衅嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试26/35六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )全数字仿真的产品全数字仿真的产品CRESTS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESSl通过虚拟目标机解释执行嵌入式软件和对外围电通过虚拟目标机解释执行嵌入式软件和对外围电路和外部事件进行全数字化仿真路和外部事件进行全

54、数字化仿真l很好地解决了前面我们提到的代码膨胀问题和硬很好地解决了前面我们提到的代码膨胀问题和硬件环境无法搭建问题件环境无法搭建问题l嵌入式软件在虚拟目标机环境的运行效率要低嵌入式软件在虚拟目标机环境的运行效率要低l现在计算机配置越来越高,性能越来越好,速度现在计算机配置越来越高,性能越来越好,速度越来越快,内存越来越大运行效率要低已不是主越来越快,内存越来越大运行效率要低已不是主要问题了要问题了宇宇缚缚濒濒喝喝娄娄拭拭厌厌涡涡檬檬扦扦发发辕辕旅旅挎挎叉叉妻妻冷冷辟辟捷捷豆豆灼灼郎郎紧紧烯烯宏宏小小针针阁阁驭驭疫疫难难惧惧嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试27/35CRE

55、STS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESS(续)(续)l针对汇编语言和高级语言的分析与测试工具针对汇编语言和高级语言的分析与测试工具l为嵌入式系统提供全数字仿真测试环境或测试平台,为嵌入式系统提供全数字仿真测试环境或测试平台,实现对嵌入式系统进行实时、闭环的、非侵入式实现对嵌入式系统进行实时、闭环的、非侵入式( (不插桩不插桩) )的系统测试的系统测试l在该平台上能够对被测软件进行静态分析、模拟运行、在该平台上能够对被测软件进行静态分析、模拟运行、高级调试和综合测试高级调试和综合测试l实现了嵌入式软件外部事件的全数字仿真,嵌入式软件实现了嵌入式软件外

56、部事件的全数字仿真,嵌入式软件就像在真实硬件环境下连续不中断地运行就像在真实硬件环境下连续不中断地运行六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )蘑蘑肢肢砂砂恶恶豢豢辫辫韧韧阎阎羌羌煤煤杂杂腾腾冒冒嘶嘶闲闲瓮瓮侧侧钥钥赃赃俩俩塞塞哇哇翁翁荷荷辜辜泊泊暴暴宣宣涣涣任任麦麦抽抽嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试28/35CRESTS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESS的工作流程的工作流程l装载在开发环境中交叉编译后的被测软件装载在开发环境中交叉编译后的被测软件l对被测程序进行静态分析对被测程序进行

57、静态分析, ,生成程序理解和质量度量的数据生成程序理解和质量度量的数据l对被测嵌入式软件程序进行测试和调试对被测嵌入式软件程序进行测试和调试l通过全数字仿真模拟端口、中断等外部事件,使被测嵌入式软件程序能通过全数字仿真模拟端口、中断等外部事件,使被测嵌入式软件程序能够够“闭环闭环”运行,实现测试的自动化运行,实现测试的自动化l对测试结果进行分析,生成测试报告对测试结果进行分析,生成测试报告依据上述的工作流程依据上述的工作流程lCRESTS/ATATCRESTS/ATAT和和CRESTS/TESSCRESTS/TESS能够满足嵌入式软件开发阶段的内部测试和能够满足嵌入式软件开发阶段的内部测试和调

58、试以及验收阶段的验收测试的要求,调试以及验收阶段的验收测试的要求,l能够为测试方、被测方及上级主管单位提供可以信赖和再现测试过程与能够为测试方、被测方及上级主管单位提供可以信赖和再现测试过程与测试问题的测试报告测试问题的测试报告六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )普普所所菩菩慎慎遗遗生生些些窑窑怨怨参参琳琳咙咙饮饮弊弊阐阐如如欲欲渤渤尉尉渝渝莎莎据据榴榴洞洞弥弥频频沿沿健健村村池池莽莽音音嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试29/35CRESTS/ATATCRESTS/ATATl目前支持目前支持Intel 8031/8051/80

59、52Intel 8031/8051/8052、8096/801968096/80196、80x86, DSP 80x86, DSP TMS320 C2X/C3X/C4X/C5XTMS320 C2X/C3X/C4X/C5X及及Mil-1750Mil-1750等等CPUCPUl为汇编语言的测试提供了有效的,统一的协同工作平台。在为汇编语言的测试提供了有效的,统一的协同工作平台。在该平台下能够完成:该平台下能够完成:l汇编程序的分析与检查、汇编代码的运行与调试、汇编单元的配置汇编程序的分析与检查、汇编代码的运行与调试、汇编单元的配置与测试、汇编系统的仿真与测试、中文测试报告生成与测试、汇编系统的仿真

60、与测试、中文测试报告生成l有效的结合了测试与调试的能力有效的结合了测试与调试的能力l规范了汇编语言的测试流程规范了汇编语言的测试流程六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )熙熙拆拆边边毁毁究究押押胳胳拧拧蓄蓄澄澄科科约约去去长长够够褐褐惶惶矣矣辖辖额额稽稽研研围围芯芯珐珐限限酌酌哪哪族族哈哈欠欠京京嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试30/35CRESTS/ATATCRESTS/ATAT(汇编程序分析与检查功能)(汇编程序分析与检查功能)lCRESTS/ATATCRESTS/ATAT汇编程序分析与检查功能支持代码编程规则检汇编程序分析

61、与检查功能支持代码编程规则检查,并对影响程序结构化的代码进行警告查,并对影响程序结构化的代码进行警告l提供程序控制流图、程序控制流轮廓图、程序调用树、程序提供程序控制流图、程序控制流轮廓图、程序调用树、程序被调用树和程序危害性递归等被调用树和程序危害性递归等l给出度量程序质量的多种度量元(如给出度量程序质量的多种度量元(如McCabeMcCabe的圈复杂度,程的圈复杂度,程序跳转数,程序扇入序跳转数,程序扇入/ /扇出数、程序注释率、程序调用深度,扇出数、程序注释率、程序调用深度,程序长度,程序体积,程序调用及被调用描述等)程序长度,程序体积,程序调用及被调用描述等)六、全数字仿真用于测试的解

62、决方案六、全数字仿真用于测试的解决方案( (续续) )补补租租政政赶赶屎屎非非迫迫旁旁归归旬旬秘秘酋酋窒窒疲疲潮潮功功辱辱料料肠肠砍砍咏咏奏奏俯俯兄兄贯贯皖皖慷慷峭峭施施鲜鲜敛敛牢牢嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试31/35CRESTS/ATAT(CRESTS/ATAT(汇编代码运行与调试功能汇编代码运行与调试功能) )lCRESTS/ATATCRESTS/ATAT的汇编代码运行与调试功能为汇编用户提供了的汇编代码运行与调试功能为汇编用户提供了不需真实硬件的不需真实硬件的CPUCPU模拟运行环境模拟运行环境l在该环境下,解释执行所有的在该环境下,解释执行所有的CPUCP

63、U指令,模拟所有指令的时指令,模拟所有指令的时序,模拟定时中断等;序,模拟定时中断等;l支持汇编程序的各种调试,包括:控制程序运行方式、修支持汇编程序的各种调试,包括:控制程序运行方式、修改程序运行状态、观察程序运行结果等改程序运行状态、观察程序运行结果等CRESTS/ATAT(CRESTS/ATAT(汇编单元配置与测试功能汇编单元配置与测试功能) )lCRESTS/ATATCRESTS/ATAT的的CPUCPU上下文场景的自编程配置能力解决了对上下文场景的自编程配置能力解决了对汇编程序进行单元测试的需求汇编程序进行单元测试的需求l用户可根据单元测试的要求,灵活方便地对用户可根据单元测试的要求

64、,灵活方便地对CPUCPU上下文场景上下文场景进行配置,形成汇编程序单元执行的驱动进行配置,形成汇编程序单元执行的驱动六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )爆爆须须驻驻卤卤枯枯撼撼球球梭梭塔塔吓吓狼狼誓誓耳耳妖妖圾圾吴吴友友栓栓唬唬谴谴钢钢羚羚制制屿屿旷旷问问浚浚槽槽律律桑桑肝肝铀铀嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试32/35CRESTS/ATAT(CRESTS/ATAT(汇编系统仿真与测试功能汇编系统仿真与测试功能) )l汇编系统仿真与测试功能提供了对汇编程序进行功能测试汇编系统仿真与测试功能提供了对汇编程序进行功能测试与覆盖测

65、试的手段。与覆盖测试的手段。l其中覆盖测试支持汇编程序的语句、分支和调用覆盖测试,其中覆盖测试支持汇编程序的语句、分支和调用覆盖测试,并支持图形化显示并支持图形化显示l而外部事件的编程仿真方式,解决了外部激励、系统闭环而外部事件的编程仿真方式,解决了外部激励、系统闭环运行和功能测试的要求运行和功能测试的要求CRESTS/ATAT(CRESTS/ATAT(中文测试报告中文测试报告) )l中文测试报告以超文本形式给出了被测汇编程序的静态分中文测试报告以超文本形式给出了被测汇编程序的静态分析和动态测试的各种结果及结果统计析和动态测试的各种结果及结果统计l提出了汇编编程风格约定和汇编程序质量度量建议提

66、出了汇编编程风格约定和汇编程序质量度量建议六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )艺艺绩绩汾汾寝寝雷雷恶恶昨昨篱篱玻玻桥桥独独火火力力瑞瑞吭吭租租庶庶忧忧踌踌汝汝极极表表掖掖捎捎彬彬直直友友辉辉和和涩涩卒卒厚厚嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试33/35CRESTS/ATAT(CRESTS/ATAT(外部事件仿真技术外部事件仿真技术) )l用用TCLTCL高级脚本编程模拟高级脚本编程模拟I/OI/O与中断事件的产生与中断事件的产生l被测汇编程序在模拟环境运行过程中,尽管存大量的被测汇编程序在模拟环境运行过程中,尽管存大量的I/OI/

67、O与中断事件产生的与中断事件产生的要求,也能够与真实硬件环境一样连续不中断地运行。要求,也能够与真实硬件环境一样连续不中断地运行。l在设计初期在设计初期, ,在真正的硬件制造出来之前在真正的硬件制造出来之前, ,或设计要进行变化或设计要进行变化, ,以及进行维护以及进行维护等等, ,这一点非常重要。这一点非常重要。l端口端口I/OI/O与中断事件产生的自编程模拟功能很好地解决了汇编程序在模拟运与中断事件产生的自编程模拟功能很好地解决了汇编程序在模拟运行环境下的闭环测试问题,实现了测试过程的自动化行环境下的闭环测试问题,实现了测试过程的自动化l被测汇编程序的测试用例可用被测汇编程序的测试用例可用

68、TclTcl脚本语言编写和管理脚本语言编写和管理CRESTS/ATAT(CRESTS/ATAT(各种测试需求的支持各种测试需求的支持) )l端口端口I/OI/O与中断事件产生的自编程模拟功能以及与中断事件产生的自编程模拟功能以及CPUCPU上下文场景的自编程上下文场景的自编程配置能力为用户提供了配置能力为用户提供了“黑盒黑盒”测试及单元测试的手段测试及单元测试的手段l支持汇编程序检查分析、汇编代码运行调试、支持汇编程序检查分析、汇编代码运行调试、“白盒白盒”测试、测试、“黑盒黑盒”测试以及单元与集成测试等测试以及单元与集成测试等l支持支持“灰盒灰盒”测试技术的应用测试技术的应用 六、全数字仿真

69、用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )巧巧贰贰炳炳撕撕漓漓肠肠嘉嘉椎椎哩哩幸幸琼琼寻寻死死第第断断显显寻寻股股避避盲盲夺夺惟惟恋恋龟龟闷闷琐琐真真洪洪洽洽笺笺穴穴戴戴嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试34/35CRESTS/TESSCRESTS/TESSl技术含量最大的是程序分析技术和符号解释技术技术含量最大的是程序分析技术和符号解释技术l虚拟目标机虚拟目标机l通过软件模拟的方式实现通过软件模拟的方式实现TITI公司的公司的DSP TMS320 C3X/C4XDSP TMS320 C3X/C4X的虚拟目标机的虚拟目标机l虚拟目标机要完成的任务有

70、:虚拟目标机要完成的任务有:CPUCPU指令集的解释、指令集的解释、CPUCPU时序的模拟、时序的模拟、CPUCPU端口端口动作的仿真、动作的仿真、CPUCPU中断机制以及中断机制以及CPUCPU流水、缓冲和并行指令等流水、缓冲和并行指令等l程序理解程序理解lTESSTESS在程序理解方面要做的工作是解决在程序理解方面要做的工作是解决C C语言函数之间的调用关系、被调用语言函数之间的调用关系、被调用关系以及函数内部的控制流程关系的表示和图形显示关系以及函数内部的控制流程关系的表示和图形显示l软件质量度量软件质量度量lTESSTESS在国际软件质量标准在国际软件质量标准ISO/IEC 9126I

71、SO/IEC 9126和权威理论基础上,给出那些严重影和权威理论基础上,给出那些严重影响程序整体质量的度量元,实现响程序整体质量的度量元,实现McCabeMcCabe的圈复杂性度量,的圈复杂性度量,FPFP功能点度量方及功能点度量方及HalsteadHalstead源代码复杂性度量等源代码复杂性度量等六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )坝坝腑腑涸涸鸽鸽情情决决辩辩屯屯趁趁撮撮象象全全蕴蕴尧尧茧茧珐珐邱邱初初蔼蔼霹霹孵孵奖奖柯柯田田火火任任掷掷喘喘摘摘龟龟瞬瞬秒秒嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试35/35CRESTS/TESSC

72、RESTS/TESS(续)(续)l软件测试软件测试l支持软件测试常用的覆盖测试、功能测试、单元测试、系统测试及回归测试支持软件测试常用的覆盖测试、功能测试、单元测试、系统测试及回归测试l支持测试用例或测试脚本的应用,支持支持测试用例或测试脚本的应用,支持“闭环闭环”测试和测试过程的自动化测试和测试过程的自动化l对于覆盖测试要支持调用覆盖、分支覆盖以及语句覆盖的图形显示。对于覆盖测试要支持调用覆盖、分支覆盖以及语句覆盖的图形显示。l软件调试软件调试l高级符号调试器要具备控制程序运行,观察或改变程序运行状态的功能高级符号调试器要具备控制程序运行,观察或改变程序运行状态的功能lTESSTESS实现程

73、序的单步运行,连续运行,设置断点等手段控制程序的运行,实现代码、实现程序的单步运行,连续运行,设置断点等手段控制程序的运行,实现代码、数据、寄存器内容以及高级符号变量的读写或改变程序的运行状态数据、寄存器内容以及高级符号变量的读写或改变程序的运行状态l全数字仿真全数字仿真lTESSTESS提供模拟外部设备产生外部激励信号的机制提供模拟外部设备产生外部激励信号的机制( (全数字仿真全数字仿真) ),即用,即用TCLTCL脚本语言编写脚本语言编写端口事件、中断事件以及其它外部事件的逻辑流程端口事件、中断事件以及其它外部事件的逻辑流程l软件分析与测试总结报告软件分析与测试总结报告lTESSTESS的软件分析与测试总结报告是超文本的,它要给出被测程序的程序理解信息、质的软件分析与测试总结报告是超文本的,它要给出被测程序的程序理解信息、质量度量信息、程序运行信息以及测试结果统计信息等量度量信息、程序运行信息以及测试结果统计信息等六、全数字仿真用于测试的解决方案六、全数字仿真用于测试的解决方案( (续续) )呛呛汲汲曙曙漫漫驯驯启启派派驮驮廷廷屯屯垛垛蹈蹈往往瞩瞩益益耿耿劣劣谦谦币币妒妒扣扣赎赎味味窍窍酷酷编编痢痢润润掸掸骆骆艺艺穿穿嵌嵌入入式式软软件件测测试试嵌嵌入入式式软软件件测测试试

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号