欢迎来到天天文库
浏览记录
ID:22515168
大小:71.23 KB
页数:8页
时间:2018-10-29
《关于嵌入式软件测试技术分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、关于嵌入式软件测试技术分析摘要随着嵌入式技术的不断发展,嵌入式系统多个规模及复杂性有所提升,从而促使软件的可靠性遭受巨大的挑战。文中以嵌入式软件测试技术为研究视角,介绍了嵌入式软件测试流程。【关键词】嵌入式软件测试技术分析嵌入式系统是指把设计完成的多项功能的硬件和软件紧紧耦合在一块儿,以此监控、管理或辅助其他设备的正常工作。嵌入式软件是以嵌入式硬件平台为基础,把用户预期目标引入计算机系统。该软件的主要特征为功能单一,嵌入式系统无法同时载入多个程序,通常情况下只会执行某一固定程序。同时该系统有严格的约束力,系统对于成本、可靠性、功耗等要求严格,所以一般的嵌入式软件可以裁减,便于更好的使用。1简述
2、嵌入式软件测试的特点嵌入式系统会对所处的环境做出相应的反应,可以在特定的时间内算出结果。开发嵌入式软件必须设定相对应的开发环境,给予相应的软硬件且确保软件的实时性。嵌入式软件的开发环境与测试工作都与一般的软件存在差异。嵌入式软件又称作为交叉测试,测试的目的是确保嵌入式产品可以满足用户的实际需求。嵌入式软件与普通软件测试的区别如下:①嵌入式软件测试与其相应的测试环境有着必然的联系,嵌入式软件测试中对其软、硬件的兼容性有严格的要求。②嵌入式软件测试必须保障软件系统的安全性和可靠性。必须把系统的实时响应问题考虑在内,嵌入式软件测试严格规范响应的时间。③嵌入式软件测试过程中必须对内存泄露、碎片等问题尽
3、早展开测试,防患于未然。2嵌入式软件白盒测试技术白盒测试技术就是根据程序内部逻辑结构为视角设计测试用例。白盒测试技术也被称为结构测试技术,白盒测试技术主要包含词法语法分析、插桩分析等。2.1语义分析进行语义分析之前要先把语法、词法进行分析,词法分析的目标就是要识别程序中的各个单词,此时应对对源程序由左至右、由上至下逐个字符展开读入操作,通过构词规则判定单词符号。语法分析必须以词法分析为基础,主要目的识别程序内的关键字、语句、函数等,以此判断逻辑结构是不是正确。通过语法分析后源程序在结构上是否规范,此时要检查上下文的性质,这就是语义分析,也是审查源程序类型阶段。2.2程序插桩技术程序插桩技术是借
4、助被测程序中穿插探针操作,根据探针的返回数据来完成测试目的。最常使用的插桩办法是在程序中穿插输出语句,以此获取程序的数据流、控制流等信息。编译通过的代码展开插桩,在宿主机上进行编译。若编译通过则转移到目标机上执行,目标机则把执行过的数据返回至宿主机中,采用宿主机对这些数据进行处理。2.3覆盖率分析软件系统代码的覆盖率是恒定一个代码可靠性的重要指标。覆盖率分析可以消除城市过程中的结构化测试。覆盖率分析采用程序插桩技术来完成。嵌入式软件的覆盖率分析大多需要借助其他工具完成。3嵌入式软件测试流程3.1创建测试环境现阶段,日常使用的嵌入式软件系统形式各样,NucleusPLUS因自身的良好性能、开放的
5、源代码得到更广泛的应用。该软件系统在国内用户日益增多,系统主要包含内核、文件系统、浏览器等多个模块,。在Window环境下采用VisualC++6.0建立仿真平台,仿真平台作为最佳的嵌入式软件平台、,可以把用户给出的调试方法形成嵌入式目标代码转移至仿真平台之上,随之进行合理的调试操作。依照设定的配置环境和程序库编译整个嵌入式程序,这时生成的程序得以在仿真平台上正常运行。仿真平台进行调试操作是以VC++IDE环境为基础,这操作搭配RationalTestStudio测试工具,设置相对应的编译器及其他环境变量,这时就可以通过该测试工具对需要测试的对象进行检测。3.2嵌入式软件测试步骤设置检测需求是
6、进行测试操作的基础,设置的测试需求必须明显标出所测对象的功能、性能等一系列指标;随之整理收集测试需要的各项资源,创建最佳的测试环境。依照嵌入式软件的规格判定测试的特性,做好测试之前的工作。做好上述准备工作之后,依照测试环境的实况引用测试用例,对嵌入式系统的工作情况情况和结果进行记录。3.2.1测试目标代码的覆盖率实施白盒测试的时候,可以运用代码覆盖分析工具检测哪部分代码已被执行,通过插桩技术实现整个测试工作。插桩是以测试环境为基础嵌入硬件,或者在执行代码增设软件。根据总结分析结果可知,哪部分代码没有执行操作,使用PureCoverage对目标代码的覆盖率进行检测。开展检测时,要先设定合理的测试
7、目标,例如:整个程序模块内的独立路径必须执行一次操作;对逻辑判断出现的2种情况则各进行一次操作;测试内部数据的有效性等。根据设定测试目标的情况,选取最合理的测试用例,完成目标代码的相关检测操作。3.2.2检测系统的内存情况因多数嵌入式系统内存受到一定的限制,内存分析工具能够动态处理内存分配中存在的错误。若错误引用动态内存之后,形成的错误通常无法再现,失效内容也不能再次追踪,运用内存分析工具能够快速
此文档下载收益归作者所有