嵌入式软件单元自动化测试工具的研究

来源 :锦绣·上旬刊 | 被引量 : 0次 | 上传用户:zhlkf99
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着软件的广泛应用,在追求满足越来越复杂的逻辑功能的同时也在追求高安全、高可靠的软件。传统的软件单元测试,测试工作量巨大,需要耗费大量的人力、物力,发现缺陷的严重等级与数量与测试投入不成正比。故本文,研究并设计嵌入式软件单元的自动化测试工具,解决源码解析、静态分析、控制流分析的自动化执行与测试,并进行缺陷追溯与信息统计,形成软件单元测试的闭环。
  最后针对此工具进行外部接口的开发,可实现与Jenkins等主流工具的持续集成,真正实现源代码上传即可触发软件单元测试的自动化流程。
  关键词:嵌入式;自动化;单元测试;jenkins
  1研究背景
  本研究主要是基于当前轨道交通装备技术的高速发展,软件发展的规模不断增大,软件迭代研发周期要求越来越短,测试压力越来越大;软件单元测试在软件测试周期中的所占用的测试时间,测试人员,拥有非常大的比重;几乎每个项目的软件单元测试的测试需求一致,导致产生大量的重复性工作量,严重延长项目的研发生产周期。故基于现状进行深化研究,计划开发嵌入式软件单元自动化测试工具,以实现自源代码上传之后可以自动化执行软件单元测试的愿景。
  2核心技术设计方案
  2.1软件单元自动化测试工具架构设计
  此软件单元自动化测试工具的架构设计如图1架构设计图所示
  2.2源码解析
  此工具首先解析用户上传的源码库、编译依赖库。在仿真环境下,将源代码和编译依赖进行打包,统一进行编译链接。若编译失败,则需要不断补充编译依赖库,使得源码本身对编译环境依赖的头文件等都导入到系统中。这样,源码可不依赖于原有的编译器和编译环境,可实现直接可在工具内编译执行。
  2.3静态分析
  此工具对源码进行解析后,先对待测单元进行度量分析。从三个方向进行度量分析,分别:圈复杂度分析、注释率分析、扇入扇出分析。首先对待测单元进行控制流的分析,通过控制流图的程序流程进行圈复杂度的分析及统计。其次对待测单元的总行数、代码行数、注释行数进行统计,并计算注释率。最后对待测单元的调用情况进行数据统计,计算统计出待測单元的扇入扇出数。
  工具设计需具备高效易用的编码规则检查功能模块,集成了包括MISRA C/C++2012、GJB8114等规则集中的重要规则,同时支持自定义规则集导入。源代码进入规则集检查器,规则集检查器运行每条规则的算法,对代码进行遍历检查。通过的代码,进行代码递增和规则递增;未通过的规则进行缺陷统计和定位。
  2.4控制流测试
  控制流测试用例自动生成。本工具设计通过符号执行技术对函数路径的遍历,让机器理解代码。用户将目标程序提供给系统编译器前端,在编译解析产生中间文件后,符号执行工具对中间代码进行符号执行,即对目标程序路径空间进行逐路径探索,从而自动化地对应生成较高覆盖率的测试用例集。
  符号执行以符号值作为程序的输入,符号化地执行程序,程序的输出也为变量的表达式。使用约束求解器来判定程序的路径是否可行。符号执行技术能够遍历程序的路径空间,检查程序是否满足特定的性质。
  2.5功能测试
  进行自动化的控制流测试之后,仅能验证每个软件单的语句、分支、修正的条件组合覆盖,无法验证每个软件单元的功能。故开发功能测试模块,解析罗列出每个软件单元的全局输入变量,并对调用的软件单元进行打桩。用户通过图形化的界面,结合软件详细设计规范中,每个软件单元的功能逻辑,对每个软件单元的全局输入变量进行赋值,对桩单元进行返回值设置。
  2.6缺陷追溯
  工具在高覆盖率分析函数路径的同时,还具备能实现程序中缺陷的精准查找,结合系统自动化生成测试框架的能力,工具在测试过程中发现的缺陷,是在特定的参数条件下,根据函数路径执行求解中确定。所以,所有的缺陷都需要能够准确定位到代码具体位置,并展示该缺陷发生的具体条件。
  2.7信息统计
  工具对软件测试信息进行信息统计,提供统计信息界面和项目看板界面。统计信息界面用数字和图形方式展示当前用户全部测试工程统计信息,包括工程数量、总函数数量、总代码量、测试用例数量、已分析/未分析函数数量、工程类型分布、各工程函数平均覆盖率以及不同类型工程中函数覆盖率分布。
  2.8持续集成
  当前软件行业的测试多趋向于自动化、智能化。在此工具中,对关键的功能点进行了后端调用接口的开发,实现了通过命令行的形式进行自动化调用。分别实现源码解析、静态分析、控制流测试、数据导出的脚本驱动操作。通过与jenkins进行插件式集成,实现了源码上传即可触发自动拉取代码,传输至工具,触发测试的机制。
  3总结
  随着功能日益强大的嵌入式系统不断发展并投入广泛应用,如何保证软件质量成为了工程技术人员必须要解决的难题。软件单元测试是嵌入式软件开发过程中早期进行软件功能验证,可靠性确认的重要手段,对后续阶段软件测试与保证软件质量具有重要意义。
  本文针对嵌入式软件单元测试,设计了一款源码解析、静态分析、控制流测试的自动化执行工具必将在提升嵌入式软件质量方面发挥愈加重要的作用。
其他文献
摘要:现代社会随着科技发展,居住小空间群体主要为青年群体,18-34岁的毕业生、上班族在小空间的居住条件下追求有品质的生活,室内设计有人性化、智能化、高端化,建筑内部空间即使小仍然能有多功能的应用,极大地体现了当代青年对于品质生活的需求。青年公寓空间功能组合正恰好满足了当代青年的生活品质的要求。  关键词:青年公寓小空间;品质生活;智能家居  随着人口的不断增长带给大部分青年人群生活压力也不断增加
期刊
摘要:在当前时代,艺术创作无法完全与商业市场分裂,商业品牌也往往需要艺术作品的点缀,这就使得艺术家和商业品牌间合作越来越密切。这种合作往往让两者互相成就,艺术家可以通过品牌来让自己的艺术观点、作品得到广泛传播,商业品牌也可以通过艺术创作为自己带来更显著的经济效益。本文以奈良美智的艺术创作与商业品牌合作为例,探讨这种跨界现象及其背后的价值和意义。  关键词:奈良美智;艺术;商业品牌;跨界  跨界,就
期刊
摘要:在社会主义现代化发展新时期,人力资源管理是推动国有企业实现可持续发展的关键,为保障人力资源管理作用充分发挥,应从人力资源管理实践的理论与实践的贡献视角出发,不断创新与优化国有企业发展模式。做好人力资源管理工作,使企业单位为推动城市经济建设发展贡献力量。  关键词:国有企业;教育培训;方法  引言:现阶段,国家及各区域政府对国有企业经济发展问题愈发重视,具有高素养型人才是推动国有企业发展的关键
期刊
摘要:土壤环境是我国生态环境的重要组成部分,因此,对土壤环境监测基础点位布设方式进行研究具备十分迫切的现实意义与经济价值。本文通过对相关文献进行查阅,对中国土壤环境监测网以及尺度设置、点位优化的内涵进行了全面阐述,并结合相关科学理论知识,最终提出了土壤环境监测基础点位的布设思路与策略,希望本文能够在一定程度上为我国土壤环境监测基础点位的设立提供理论支持。  关键词:土壤环境监测;基础点位;布设思路
期刊
摘要:在我国社会经济体系不断发展的过程中,城市化建设的步伐也在不断的推进着,这使得我国土地资源的实际利用效率在不断的提升着。基于此,本文结合实际情况对土地利用转型的概念进行深入探究,并以此为基础探讨我国土地资源管理的现状,望能够对相关工作的开展起到一定的帮助。  关键词:土地;利用转型;资源管理  结合实际情况来看,土地资源是人们生存发展的重要基础,也是现阶段社会经济体系发展的重要载体,在当前社会
期刊
摘要:现阶段社会市场的竞争越来越激烈,企业想要在社会市场中稳住脚跟,需要提高自身的核心能力,增强企业员工的竞争力,加强团队建设,提高人力资源管理的工作水平和工作质量。本文对新经济下搞好社保对人力资源的作用进行了简要分析,并提出有效的管理方法,保障企业的稳定发展。  关键词:新经济;社保;人力资源  引言:在新形勢下,我国在社保方面制定了新的政策和法律法规,加快我国社会保险体系的构成进度。我国的社会
期刊
摘要:协作通信技术主要利用不同用戶彼此共享天线来获得空间分集增益和性能增益。因此,协作通信能有效抵抗信道衰落、改善系统容量、提高信息传输速率、降低信号误码率。本文针对现有机会中继选择方案中由于定时误差大导致资源耗损多、碰撞概率高及节点误选等导致系统性能降低的问题,深入分析了机会中继中存在的定时器选取问题,并做出了相应改进,提出了一种基于协作通信的双定时器的中继选择方案。  关键词:协作通信;中继选
期刊
摘要:目前我国出版企业多采用社群营销方式,其所采用的主要策略包括品牌营销策略、体验营销策情感营销策略、内容营销策略,主要营销方式包括:群内分享,网络直播,同城活动等,这些营销策略及方式保证了出版企业效益的实现,但亦存在如对目标群体了解不足、营销体验参与度不高、信息缺乏优质的内容、群内信息分享不及时等诸多问题。如何改进这些不足,建议采取以下措施:一、了解目标群体个性,增强营销针对性;二、注重挖掘社群
期刊
摘要:农田水利工程建设在农业发展中发挥着越来越重要的作用,尤其是农田的水利工程灌溉,是农业发展必不可少的保障。但由于我国,农业建设大多采取粗放式农业灌溉,引发了农田水利工程灌溉过程中出现了水资源浪费问题。因此农田水利工程的高效节水灌溉成为,我国农业可持续化发展的重要手段,随着我国农业的机械化不断提升,对于农业的发展水平也需要不断提升,在农田水利工程对农业生产进行保障的同时,对农田的高效节水灌溉提出
期刊
摘要:在畜禽养殖过程中,疾病的发病率较高,并且基层兽医在治疗中仍然存在诸多的误区,缺少科学、专业的知识,对畜禽疾病防疫也没有给予充分重视,导致各种病症时有发生,影响自身的经济利益。而在畜禽疾病防治中,基层兽医起到非常重要的作用。因此,为了能提升畜禽疾病防治水平,有必要对当前在防治过程中存在的问题和误区进行合理分析,并且研究出切实可行的防治计划,以此保证更加有质量的开展疾病防治工作,为畜禽养殖业实现
期刊