欢迎来到天天文库
浏览记录
ID:30933382
大小:72.00 KB
页数:4页
时间:2019-01-05
《嵌入式软件调试技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、嵌入式软件测试技术徐东(机械电子工程2110801068)摘要:本文主要对嵌入式软件测试的定义、方法、软件测试的通用要素等内容做了论述,指出了嵌入式软件测试的策略及方法,可以使系统开发的效率最大化,避免目标系统的瓶颈,确保嵌入式软件的质量。关键词:嵌入式系统、软件测试、白盒测试、黑盒测试1引言嵌人式系统已经广泛应用于人类生活中,包括消费电子产品、交通系统、工业过程控制等。嵌入式系统中软件的规模和复杂性正在迅速增加。这为嵌入式软件产品创造了巨大的商业机会,同时也对嵌入式软件的开发技术和测试技术提出了新的挑战。嵌入式系统必须依赖于高品质的硬件和高性能的软件,因
2、此对于测试欣人式系统而言,硬件测试和软件测试都是至关重要的部分。而诙入式系统及软件对可靠性的要求比较高,嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,出于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统及软件必须进行严格的测试、确认和验证。2嵌入式系统软件的特征嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同:1)软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载休中。2)软件代码高质量、高可靠
3、性。尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。3)系统软件(0S)的高实时性是基本要求。在多任务嵌入式系统中,对垂耍性各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。4)多任务操作系统是知识集成的平台和走向工业标准化道路的基础。5)嵌入式系统软件需要RTOS
4、开发平台。嵌入式系统与通用计算机不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多项任务、利用系统资源、系统函数以及和专家库函数接口,用户必须口行选配RTOS开发平台,这样能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。3测试策略在嵌入式软件测试中,采用正确的测试策略,可以提高嵌入式软件性能测试效率,避免H标系统的瓶颈。自从出现高级语言,开发环境与最终运行•环境通常都是存在差异的,嵌入式系统更是如此。开发环境被认为是主机平台,软件运行环境为日标平台。相应的测试为losttarget测试和或cross—testing.对于嵌入
5、式软件测试或叫交义测试(cross—test),在测试的齐个阶段有着通用的策略:3.1单元测试所有单元级测试都可以在主机环境上进行,除非少数情况,特别具体指定了单元测试直接在忖标环境进行.最大化在主机环境进行软件测试的比例,通过尽可能小的目标单元访问所有目标指定的界面•在主机平台上运行测试的速度比在目标平台上快得多,当在主机平台完成测试时,可以在目标环境上重复作一次简单的确认测试,确认测试结果在主机和忖标机上没有被他们的不同影响.在H标环境上进行确认测试将确定一些未知的、未预料到的、未说明的主机与口标机的不同.例如,冃标编译器可能有bug,但在主机编译器上
6、没有。3.2集成测试软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在日标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误.在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少.有些嵌入式系统与口标环境耦合的非常紧密,若在主机环境做集成是不切实际的.一个犬型软件的开发可以分儿个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境。3.3确认测试和系统测试所有的确认测试和系统测试必须在H标环境下执行.当然在主机上开发和执行系统测试,然后移植到FI标环境
7、重复执行是很方便的.对冃标系统的依赖性会妨碍将主机环境上的系统测试移植到忖标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便•确认(验收)测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟.这关系到嵌入式软件的最终使用.包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论.使用有效的cross—test测试策略可以极大的提高域入式软件开发测试的水平和效率,应用以上测试工具进行cross—test时的策略如下:1)使用测试工具的插装功能(主机环境)执
8、行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。2)使
此文档下载收益归作者所有