基于PolySpace的嵌入式软件内存测试.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文档。上传文档
查看更多
基于PolySpace的嵌入式软件内存测试   摘要:基于嵌入式软件的测试经验,针对嵌入式软件特点,研究了基于PolySpace的嵌入式软件内存测试方法,分析了PolySpace使用的语义分析技术,以实例讲解了如何实现内存测试,并指出对覆盖率测试的帮助。对于嵌入式软件测试,具有实际参考价值。   关键词:内存测试;运行时错误;语义分析技术;覆盖率测试   中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)01-85-03   Test of Memory Based on the PolySpace For Embedded Software   LIU Chun-yu, WANG Lei   (Software Test Center of CSBI, Lianyungang 222006, China)   Abstract: On the basis of researching software testing technology, aim at characteristic of embedded system, this thesis researched test of memory based on the PolySpace for embedded software. Analyzed the technology of semantic analyse using in PolySpace. Explain how to achieve memory testing by example,raise it can be help to test of procedure cover.   Keywords: test of memory; run-time errors; the technology of semantic analyse; test of procedure cover   1 研究嵌入式软件内存测试的背景   软件测试是提高软件质量的一个重要手段,据统计,国外软件开发机构40%的工作量花在软件测试上,软件开发费用的近1/2用于软件测试。对于一些要求高可靠、高安全的软件,如核反应监控软件、航天软件,测试费用可能相当于软件工程其它费用总和的3~5倍。   嵌入式软件和一般的应用软件测试相比,具有自身的特点(特别是对于没有操作系统的嵌入式应用软件而言):   1)嵌入式软件是在特定的硬件环境下才能运行的软件。因此,嵌入式软件测试最重要的目的就是保证嵌入式软件能在其特定的硬件环境下更可靠地运行。   2)嵌入式软件测试除了要保证嵌入式软件在特定硬件环境中运行的高可靠性,还要保证嵌入式软件的实时性。比如在工业控制中,如果某些特定环境下的嵌入式软件不具备实时响应的能力,就可能造成巨大的损失。   3)嵌入式软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏等情况发生,因此嵌入式软件测试除了对软件进行性能测试、GUI测试、覆盖分析测试之外,还需要对内存进行测试。   内存测试需要测试软件中的内存越界访问、内存资源泄漏情况。内存越界主要包括数组越界读写、“野指针操作”和堆栈溢出等几种。内存资源泄漏情况则包含较多的种类,如分配的内存没有释放、打开的文件没有关闭、socket没有关闭、Windows窗口句柄没有关闭等。内存越界和内存资源泄漏是普遍存在的严重问题,可以说如果解决了内存越界和内存资源泄漏问题,软件中的Bug就消除了一大半以上。   内存测试还需要测试软件的最大内存等资源的占用率,防止软件使用的资源超出系统的限制。同时还需要测试系统资源在极端情况下的软件行为,如系统内存资源被别的应用程序消耗时程序长时间运行后的情况等。   2 当前内存测试的主要手段   针对内存测试的特点和要测试的内容,当前内存测试的主要手段包括以下几种:   1)静态检查。即使用静态检查工具(如PC-Lint)或代码评审检视(Code-review)等手段来发现问题。可以检查内存中的堆栈溢出等比较浅显的问题,对复杂的内存使用情况无能为力。   2)动态检查。即通过使用内存动态检查工具(如BoundsChecker、Purify)在软件运行时进行检查。鉴于测试用例对程序执行路径的覆盖很难做到完全,此时很难完全检查内存越界或内存泄漏。   3)手工测试。自行编写内存测试代码进行白盒测试和黑盒测试,设计专门的用例来检查可能存在的资源泄漏和内存越界等问题。   4)使用内存监测工具进行监测。如Windows系统使用任务管理器来监测程序的内存使用情况、句柄等资源使用情况等。看是否存在资源泄漏等情况。   5)通过路径分析方法来提高内存测试的质量,分析可能

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档