软硬件结合的嵌入式体系正越来越多地运用到咱们常见的仪器设备中,嵌入式范畴方针体系的运用体系也日趋杂乱,开发技能一日千里。一起,跟着硬件技能发展的日趋安稳,而软件毛病却日益突显,由此软件的重要性已逐步引起人们的注重,越来越多的研讨人员认识到嵌入式体系,优化其测验技能已势在必行,研讨出适宜的嵌入式软件体系测验办法,正是本课题的含义地点。
嵌入式体系介绍及软件特色
嵌入式体系简介
嵌入式体系是以运用为中心,以计算机技能为根底,而且软硬件可裁剪,是专为运用体系量身打造、是对功用、可靠性、本钱、体积、功耗有严格要求的专用的计算机体系。
嵌入式体系一般指非PC类标配体系,它也包含硬件和软件两部分。硬件包含处理器/微处理器、存储器及外设器材和I/O端口、图形控制器等。软件部分包含操作体系软件(OS)(要求实时和多使命操作)和运用程序。有时规划人员把这两种软件组合在一起。运用程序控制着体系的运作和行为,而操作体系控制着运用程序编程与硬件的交互作用。
嵌入式体系软件特色剖析
嵌入式体系开发有其本身的特色。一般先进行硬件部分的开发,首要包含构成裸机渠道,依据需求移植实时操作体系,开发底层的硬件驱动程序等。硬件渠道测验经过后,运用软件的开发调试是依据该硬件渠道进行的,这一起也是对硬件渠道的一个测验。
嵌入式体系的开发进程是一个软硬件相互和谐,相互反应和相互测验的进程。一般来说,在嵌入式体系软件中,底层驱动程序、操作体系和运用程序的界面是不明晰的,依据需求乃至混编在一起。这首要是因为嵌入式体系中软件对硬件的依赖性形成的。依据嵌入式软件对硬件的依赖性,其要求软件测验时有必要最大极限地模仿被测软件的实践运转环境,以确保测验的可靠性,而底层程序和运用程序鸿沟的不明晰又增加了测验的难度。测验时只要承认嵌入式体系渠道及底层程序是正确的状况下才干进行运用程序的测验,而且在体系测验时,过错的定位较为困难。
软件的专用性也是嵌入式软件的一个重要特色。因为嵌入式软件规划是以必定的方针硬件渠道为根底的,面向固定的使命进行的,因而,一旦被加载到方针体系上,功用有必要彻底承认。这个特色决议了嵌入式运用软件的继承性较差,也延伸体系的测验时刻和增加了测验费用。
嵌入式软件的别的一个重要特色便是实时性。这是依据软件的履行视点而言的,也便是说嵌入式软件的履行要满意必定的时刻束缚。嵌入式体系中,运用软件本身算法的杂乱度和操作体系使命调度,决议了体系资源的分配和耗费。因而,对体系实时性进行测验时,要凭借必定的测验东西对运用程序算法杂乱度和操作体系使命调度进行剖析测验。可见嵌入式软件与传统的面向对象和面向进程的软件比较有其本身的特色。所以嵌入式软件的开发和测验也就与一般商用软件的开发和测验战略有了很大的不同,能够说嵌入式软件是最难测验的一种软件。针对这些特色对嵌入式软件的测验进行研讨是必要的和有含义的。
嵌入式软件测验
软件测验是软件质量确保的要害要素,代表了规约、规划和编码的终究查看。是从经济、功率的视点动身,对软件代码进行质量、正确性确保的一个进程。软件测验是软件开发中的一个重要环节,也是软件从开发进程到运用进程的要害一环,嵌入式软件也不破例。
嵌入式软件测验战略和计划规划
评论嵌入式软件测验首要就会遇到一个问题:为什么不把一切测验都放在方针上进行呢?因为若一切测验都放在方针渠道上有许多晦气的要素:
或许会形成与方针环境开发者抢夺时刻的瓶颈,防止供给更多的方针环境;
方针环境或许还不可行;
比起主机渠道环境,方针环境通常是不精细的和不便利的;
供给给开发者的方针环境和开发环境通常是很贵重的;
开发和测验作业或许会阻碍方针环境已存在继续的运用。
承认方针主机(host-target)测验环境后,开发测验人员又会遇到以下的问题:
1)多少开发人员会进行测验作业?
2)多少软件应该测验,测验会花费多长时刻?
3)主机环境和方针环境有哪些软件东西,价格怎样?
4)多少方针环境能够供给给开发者?
5)主机和方针主机之间的衔接怎样?
6)被测软件下载到方针主机有多快?
7)运用主机与方针环境之间有什么约束?
进行嵌入式软件的测验都应深化考虑以上问题,结合本身实践状况,选定合理测验战略和计划。
嵌入式软件测验流程及办法
依据不同的方针,软件测验有不同的区分办法。
从软件开发进程中测验地点的不同阶段可分为模块测验、集成测验和体系测验;依据是否需求运转方针代码又可分为动态测验和静态测验;依据方针代码的可见性还可分为白盒测验(结构测验)和黑盒测验(功用测验)。
在软件测验中,每种测验办法都不是孤立的。为了最经济最有效地到达测验的意图,各种测验办法往往是相互嵌套的。例如,在软件的单元测验阶段,能够用黑盒测验和白盒测验的办法别离进行动态测验。
近年来,在软件测验中,测验代码的掩盖率逐步成为软件测验的统一标准,因而不管选用何种测验办法,尽或许地进步软件测验中的代码掩盖率是必需的。软件测验代码掩盖率是依据白盒测验办法的,因而,为了进步软件测验的代码掩盖率,测验人员有必要清楚源代码的结构,具有程序规划文档,以便规划测验用例,使测验尽或许地掩盖程序内部结构的每条句子,进步代码的掩盖率。
嵌入式软件测验流程
依据嵌入式体系的开发流程,为了最经济地完结体系的功用,选用自顶向下、层层推动的办法对嵌入式体系进行测验,选用如下图所示的测验流程。
渠道测验:这部分包含硬件电路测验、操作体系及底层驱动程序测验等。
硬件电路测验需求用专门的测验东西进行测验,这儿不再多述。操作体系和底层驱动程序的测验首要包含测验操作体系的使命调度、实时功用、通讯端口的数据传输率。该阶段测验完结后,体系应为一个完好的嵌入式体系渠道,用户只需增加运用程序即可完结特定的使命。
模块测验:把大型的嵌入式软件体系区分为若干个相对较小的使命模块,由不同的程序员别离一起对其进行编码。编码完结后,把各个模块集成起来前,有必要对单个模块进行测验。因为没有其它数据模块进行数据传递的支撑,该阶段测验一般是在宿主机上进行的(宿主机有丰厚的资源和便利的调试环境)。此阶段首要是进行白盒测验,尽或许地测验每一个函数、每一个条件分支、每一个程序句子,进步代码测验的掩盖率。因为只要单个模块正确才有全体集成的必要性,因而,单个模块测验必定要充沛、完好。模块测验阶段,测验用例的结构不光要测验体系正常的运转状况,还要进行鸿沟测验。鸿沟测验便是进行某一数据变量的最大值和最小值的测验,一起进行越界测验,即输入不应输入的数据变量测验体系的运转状况。抱负的嵌入式体系是不应该因为用户的信息交互而导致死机的,这也是嵌入式规划的一个基本要求。因而,不管进行何种测验,体系死机都该被作为测验过错处理。
在模块测验阶段,也能够把大的模块区分红小的模块。在程序内部,小模块之间数据传递的进口规划接口函数,要用于快速地定位过错。用模块嵌套的思维进行软件测验,需求模块内部结构明晰,数据链路简略。
集成测验:单个软件模块测验正确之后,将一切模块集成起来进行测验。本阶段首要是找出各模块之间数据传递和体系组成后的逻辑结构的过错。在宿主机上选用黑盒与白盒相结合的办法进行测验,要最大极限地模仿实践运转环境,能够屏蔽掉一些不影响体系履行的和数据传递难以模仿的函数。
集成测验是嵌入式软件测验长处充沛体现的阶段。集成测验前,应该由程序员依据模块之间的数据的输入输出编写模块接口函数,这需求担任不同软件模块的程序员一起和谐完结,然后将模块接口函数集成到接纳数据模块的进口处。单链路数据传递的软件模块集成测验时简单定位过错地点的软件模块。一个软件模块的数据不必定只要别的一个模块供给,即软件模块的数据链路不必定仅仅单链路的,测验时能够把杂乱链路结构的数据传递区分为单链路结构数据传送进行过错定位。
集成测验是在具有程序规划文档、程序结构和数据结构时,对软件模块在集成中呈现的过错进行测验。
体系测验:集成测验完结后,退出宿主机测验环境,把体系移植到方针机上来,完结运用到现场环境中的移植,从用户的视点对体系进行黑盒测验,以验证每一项详细的功用。因为测验者对程序内容、程序履行状况一窍不通,因而本测验阶段的过错定位比较困难。体系测验阶段应该进行意外测验和破坏性测验,即测验体系正常履行状况下不应发生的活动和人为的破坏性的测验,进一步验证体系功用。体系测验阶段不应该承认过错后当即修正代码,应依据必定的过错发生频率,承认测验周期,在每个测验周期结束时修正代码,进行重复测验;不然,不光增加了彻底测验的使命量,而且降低了测验的可信度。
测验成果剖析:测验成果剖析能够定位过错,辅导程序员修正代码,一起指出进行测验的程序进一步测验的方向。测验成果剖析是一个由测验成果和测验预得成果进行剖析、比较和定位过错的进程。测验成果剖析是一次测验的最终环节,剖析时应该考虑软件的运转环境与实践运转环境的差异,以及各种外界要素的影响等。
白盒测验办法
白盒测验也称结构测验或逻辑驱动测验,它是知道产品内部作业进程,可经过测验来检测产品内部动作是否依照标准说明书的规则正常进行,依照程序内部的结构测验程序,查验程序中的每条通路是否都能按预订要求正确作业的功用,白盒测验的首要办法有逻辑驱动、基路测验等,首要用于软件验证。“白盒”法要求全面了解程序内部逻辑结构、对一切逻辑途径进行测验。“白盒”法是穷举途径测验。在运用这一计划时,测验者有必要查看程序的内部结构,从查看程序的逻辑着手,得出测验数据。
黑盒测验办法
黑盒测验也称功用测验或数据驱动测验,它是在已知产品所应具有的功用,经过测验来检测每个功用是否都能正常运用。在测验时,把程序看作一个不能翻开的黑盆子,在彻底不考虑程序内部结构和内部特性的状况下,测验者在程序接口进行测验。它只查看程序功用是否依照需求标准说明书的规则正常运用,程序是否能适当地接纳输入数锯而发生正确的输出信息,而且坚持外部信息(如数据库或文件)的完好性。黑盒测验办法首要有等价类区分、边值剖析、因果图、过错估测等,首要用于软件承认测验。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功用进行测验。“黑盒”法是穷举输入测验,只要把一切或许的输入都作为测验状况运用,才干以这种办法查出程序中一切的过错。
测验用例的结构
测验用例是为了测验方针程序规划的,包含输入项和预得成果的一种文件。依据测验环境和测验方针程序的不同,可分为某种格局的文档或某种输入行为(如一次按键)等。测验用例的结构要尽或许掩盖一切或许的取值规模,使测验尽或许地掩盖一切程序代码,进步代码的测验掩盖率,一起又不作剩余、重复和无含义的测验。在嵌入式软件测验的不同阶段,要结构不同的测验用例;在体系渠道测验阶段,要结构针对体系使命调度、实时功用和底层驱动程序的测验用例;在模块测验阶段,应结构针对某一模块进行测验的测验用例;在集成测验阶段,针对体系集成时数据传递、结构衔接的问题结构相应的测验用例;在体系测验阶段,要结构针对某项功用的或多项功用结合在一起的测验用例,或运用现已在同类产品上现已验证正确的测验用例,测验用例是可复用的。
结语
嵌入式规划现已成为工业现代化、智能化的必经之路,嵌入式产品现已深化到各行各业。嵌入式体系的专用程度较高,体系的全体继承性相对较小,为了确保体系的安稳性,软件测验成为嵌入式开发的一个重要环节。因为嵌入式软件本身的特色,传统的软件测验理论不能直接用于嵌入式软件的测验。文章对嵌入式软件的特色作了剖析,总结了嵌入式软件测验的战略和计划规划,提出了嵌入式软件测验流程和测验办法。本文的研讨内容对嵌入式软件的测验有重要含义。