嵌入式软件测试方法和策略研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式软件测试方法和策略研究

嵌入式软件测试方法和策略研究   【摘要】在信息技术迅速发展的今天,嵌入式系统的应用日趋复杂,开发技术日新月异,硬件发展的日益稳定,而软件故障却日益突出,其质量引起人们的重视,对嵌入式系统的测试研究显得尤为重要。嵌入式软件测试由于其自身的特点使得测试较为困难。在嵌入式软件测试中,采用正确的测试方法和策略,可以提高嵌入式软件测试效率,避免目标系统的瓶颈。   【关键词】嵌入式系统;软件测试;嵌入式软件测试   1.引言   随着数字化时代的到来,大量系统架构复杂、功能日益强大的嵌入式系统正不断进入市场,应用也日趋复杂,这对嵌人式软件的开发技术和测试技术提出了更高的要求。嵌人式系统的复杂性和集成度越来越高,其中的软件部分也开始在整个嵌入式系统中占有越来越多的比例,并经常实现硬件的功能。嵌入式系统的专用程度较高,所以对其可靠性的要求也比较高,为了保证系统的稳定性,避免由于其可能出现的失效而导致灾难性的后果,要求对嵌人式系统,包括嵌入式软件进行严格的测试、确认和验证。基于嵌入式软件自身的特点,如实时性(Real-timing),内存不丰富,I/O通道少,开发工具昂贵,并且与硬件紧密相关,CPU种类繁多,其缺陷不像PC软件的缺陷容易修补等等。传统的软件测试理论不能直接用于嵌入式软件测试,因此,研究嵌入式软件的测试方法和策略,对于提高和改善嵌入式软件的质量有重要意义。   2.嵌入式软件测试的基本方法   嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统[1]。嵌入式系统的软硬件功能界限模糊,测试比PC系统软件测试要困难得多,嵌入式软件系统测试具有如下特点[2]:   (1)测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;   (2)强壮性测试、可知性测试很难编码实现;   (3)交叉测试平台的测试用例、测试结果上载困难;   (4)基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;   (5)性能测试、确定性能瓶颈困难;   (6)实施测试自动化技术困难。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的重要的行业中的嵌入式软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。   在嵌入式软件测试中,既要考虑软件本身,还要考虑软件同硬件平台和操作系统的集成,同时还有条件苛刻的时间约束和实时要求,以及其他合性能相关的要求。   2.1 全数字模拟测试   全数字模拟测试是指采用数学平台的方法,将嵌入式软件从系统中剥离出来,通过开发CPU指令、常用芯片、I/O、中断、时钟等模拟器在开发主机平台(Host)上实现嵌入式软件的测试。该方法操作简单,适用于功能测试,是一种可以借鉴的常规软件测试方法。但是全数字模拟测试有较大的局限性,使用不同语言编写的嵌入式软件需要不同的仿真程序来执行,通用性差,实时性与准确性难以反映出嵌入式软件的真实情况,当并发事件要求一定的同步关系时,维护统一、精确地系统时钟,理顺时序关系相当困难。因此,设计一个能进行系统测试的环境代价太大,全数字模拟测试只能作为嵌入式软件测试的辅助手段。   2.2 交叉测试(Host/Target测试)   自从出现高级语言,嵌入式系统的开发环境和运行环境通常是存在差异的,开发环境被认为是主机平台(Host),软件运行环境为目标平台(Target),相应的测试为Host Target测试(交叉测试)。测试过程中,充分利用高级语言的可移植性,将系统中与目标环境无关的部分工作转移到PC平台上完成,在硬件环境未建好或调试工具缺乏时就可以开展,这时可以借鉴常规的软件测试方法。系统中与硬件密切相关的部分在Target上完成,用到的测试工具需要支持目标环境。最后,在目标环境中进行验证确认。交叉测试适用于高级语言,操作方便,测试成本较低,但是实时性受调试环境的制约,在目标环境中测试时要占用一定的目标资源。   3.常规软件测试方法   嵌入式系统中与目标环境无关的大部分测试工作可以在PC平台上完成,这就可以充分借用PC软件的测试方法。   3.1 静态测试和动态测试   静态测试(Static Test)包括代码检查、静态结构分析等,是指对软件文档或程序进行扫描分析,无需运行程序,与嵌入式环境无关。人工或借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处。   动态测试(Dynamic Test)是指选择适当的测试用例,实际运行被测代码,观察代码运行时所体现的功能、逻辑、行为、结构等,检查运行

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档