欢迎来到天天文库
浏览记录
ID:31359943
大小:110.50 KB
页数:7页
时间:2019-01-09
《基于黑盒测试的嵌入式系统平台设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于黑盒测试的嵌入式系统平台设计与实现 摘要:针对嵌入式系统汇编语言词法、语法分析的设计与实现,提出了Lex与Yacc之间的关系,然后两者通过gcc命令进行编译形成综合分析。最后运行该综合分析器就可以对51系列的汇编语言进行分析。提出了被测源程序静态结构的分析方法,建立了程序流程图的过程,除此之外,还强调了被测源程序插桩处理与覆盖率分析的具体理论和使用规则,这为黑盒测试结果提供了科学的方法。 关键词:黑盒测试;嵌入式系统;程序流程图;插桩处理 中图分类号:TN919?34文献标识码:A文章编号:1004?373X(2016)21?0172?03 Designandim
2、plementationofembeddedsystemplatformbasedonblack?boxtesting HEDandan (DalianMaritimeUniversity,Dalian116026,China) Abstract:Aimingatthedesignandimplementationoftheassemblylanguagemorphologyandsyntaxanalysisoftheembeddedsystem,therelationshipbetweenLexandYaccisputforward,andthetwoitemsare
3、compiledwithgcccommandtoformthesynthesisanalyzer.Thesynthesisanalyzercananalyzetheassemblylanguageof51series.Thestaticstructureanalysismethodofthetested7sourceprogramisproposed.Theprocessoftheprogramflowchartwasestablished.Thespecifictheoriesandservicerulesoftheinstrumentationprocessingandc
4、overagerateanalysisofthetestedsourceprogramareemphasized,whichprovideascientificmethodforblack?boxtestingresults. Keywords:black?boxtesting;embeddedsystem;programflowchart;instrumentationprocessing 0引言 黑盒测试是从用户观点出发的测试,依据需求功能说明书中的预期用途、定时和性能的要求,推断测试结果。黑盒测试根据测试阶段可分为单元测试、集成测试、确认测试、系统测试四个阶段[1
5、]。嵌入式计算机系统具有与传统软件测试不同的新特性,因此需要采取针对性的测试方法。通用的测试方法可分为静态时间分析和动态时间分析。 1嵌入式软件测试的环境分析 在线仿真配备了CPU芯片接口,提供和应用程序交流信息桥,不足之处在于对硬件的依赖性较强,测试范围较窄;目标机仿真测试结果真实,但由于实际运行中连接外部设备,很难辨识软件和硬件错误。在实际测试中,根据测试效率、成本、可靠性、自动化程度等因素选择测试环境[2]。 2嵌入式测试系统的技术实现7 CodeTest一方面吸取软件插桩技术,另一方面从硬件测试那里吸取从总线获取数据的技术,并进行升级改造。在硬件测试时,Cod
6、eTest选择插入点的方式为主动获取关键数据。和CodeTest相比,纯软件测试对目标测试的影响大大降低。因此选用Cereal仿真器。 嵌入式软件测试系统由功能测试模块、代码测试模块、数据分析和文档报告模块、通信接口转换模块组成。对于黑盒测试来说,功能测试模块居主导地位,它主要通过接收目标系统输出信号和需要的信号进行比对来判定目标系统在功能上是否达到最优[3]。 3词法语法分析的设计与实现 3.1Lex?Yacc Lex是检测字符匹配性的词法生成程序,Yacc是测定语法的生成程序。一个Lex程序由三段组成:首先是C和Lex定义;第二段是C代码;第三段是C函数。一个Ya
7、cc程序也是由三段组成,分别是声明、语法规则和C代码。Lex同Yacc的工作原理如图1所示。 3.2Lex?Yacc之间的联系 Lex程序用来计算数字字符串,能对各种符号进行识别,当插码时可以以注释的形式插入插桩代码,等程序完成,可以自行取消代码插桩,不影响整体进程。Yylval用来传递Lex与Yacc之间数字字符串转化后的数值,利用lineno传递正在处理的代码行号和标号。本次设计全程在Linux下,通过Lex编译后生成词法分析程序的C代码,通过Yacc编译后生成语法分析程序的C程序代码。两者通过
此文档下载收益归作者所有