嵌入式软件技术软件测试策略和方案设计 —— 文章正文2015-05-25
安防网讯 软硬件结合的嵌入式系统正越来越多地应用到我们常见的仪器设备中,嵌入式领域目标系统的应用系统也日趋复杂,开发技术日新月异。同时,随着硬件技术发展的日趋稳定,而软件故障却日益突显,由此软件的重要性已逐渐引起人们的重视,越来越多的研究人员认识到嵌入式系统,优化其测试技术已势在必行,研究出合适的嵌入式软件系统测试方法,正是本课题的意义所在。
嵌入式系统介绍及软件特点
嵌入式系统简介
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,是专为应用系统量身打造、是对功能、可靠性、成本、体积、功耗有严格要求的专用的计算机系统。
嵌入式系统一般指非PC类标配系统,它也包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为,而操作系统控制着应用程序编程与硬件的交互作用。
嵌入式系统软件特点分析
嵌入式系统开发有其自身的特点。一般先进行硬件部分的开发,主要包括形成裸机平台,根据需要移植实时操作系统,开发底层的硬件驱动程序等。硬件平台测试通过后,应用软件的开发调试是基于该硬件平台进行的,这同时也是对硬件平台的一个测试。
嵌入式系统的开发过程是一个软硬件互相协调,互相反馈和互相测试的过程。一般来说,在嵌入式系统软件中,底层驱动程序、操作系统和应用程序的界面是不清晰的,根据需要甚至混编在一起。这主要是由于嵌入式系统中软件对硬件的依赖性造成的。基于嵌入式软件对硬件的依赖性,其要求软件测试时必须最大限度地模拟被测软件的实际运行环境,以保证测试的可靠性,而底层程序和应用程序界限的不清晰又增加了测试的难度。测试时只有确认嵌入式系统平台及底层程序是正确的情况下才能进行应用程序的测试,而且在系统测试时,错误的定位较为困难。
软件的专用性也是嵌入式软件的一个重要特点。由于嵌入式软件设计是以一定的目标硬件平台为基础的,面向固定的任务进行的,因此,一旦被加载到目标系统上,功能必须完全确定。这个特点决定了嵌入式应用软件的继承性较差,也延长系统的测试时间和增加了测试费用。
嵌入式软件的另外一个重要特点就是实时性。这是基于软件的执行角度而言的,也就是说嵌入式软件的执行要满足一定的时间约束。嵌入式系统中,应用软件自身算法的复杂度和操作系统任务调度,决定了系统资源的分配和消耗。因此,对系统实时性进行测试时,要借助一定的测试工具对应用程序算法复杂度和操作系统任务调度进行分析测试。可见嵌入式软件与传统的面向对象和面向过程的软件相比有其自身的特点。所以嵌入式软件的开发和测试也就与一般商用软件的开发和测试策略有了很大的不同,可以说嵌入式软件是最难测试的一种软件。针对这些特点对嵌入式软件的测试进行研究是必要的和有意义的。
嵌入式软件测试
软件测试是软件质量保证的关键因素,代表了规约、设计和编码的最终检查。是从经济、效率的角度出发,对软件代码进行质量、正确性保证的一个过程。软件测试是软件开发中的一个重要环节,也是软件从开发过程到应用过程的关键一环,嵌入式软件也不例外。
嵌入式软件测试策略和方案设计
讨论嵌入式软件测试首先就会遇到一个问题:为什么不把所有测试都放在目标上进行呢?因为若所有测试都放在目标平台上有很多不利的因素:
可能会造成与目标环境开发者争夺时间的瓶颈,避免提供更多的目标环境;
目标环境可能还不可行;
比起主机平台环境,目标环境通常是不精密的和不方便的;
提供给开发者的目标环境和开发环境通常是很昂贵的;
开发和测试工作可能会妨碍目标环境已存在持续的应用。
确定目标主机(host-target)测试环境后,开发测试人员又会遇到以下的问题:
1)多少开发人员会进行测试工作?
2)多少软件应该测试,测试会花费多长时间?
3)主机环境和目标环境有哪些软件工具,价格怎样?
4)多少目标环境可以提供给开发者?
5)主机和目标主机之间的连接怎样?
6)被测软件下载到目标主机有多快?
7)使用主机与目标环境之间有什么限制?
进行嵌入式软件的测试都应深入考虑以上问题,结合自身实际情况,选定合理测试策略和方案。
嵌入式软件测试流程及方法
根据不同的指标,软件测试有不同的划分方法。
从软件开发过程中测试所处的不同阶段可分为模块测试、集成测试和系统测试;根据是否需要运行目标代码又可分为动态测试和静态测试;根据目标代码的可见性还可分为白盒测试(结构测试)和黑盒测试(功能测试)。
在软件测试中,每种测试方法都不是孤立的。为了最经济最有效地达到测试的目的,各种测试方法往往是互相嵌套的。例如,在软件的单元测试阶段,可以用黑盒测试和白盒测试的方法分别进行动态测试。
近年来,在软件测试中,测试代码的覆盖率逐渐成为软件测试的统一标准,因此不管采用何种测试方法,尽可能地提高软件测试中的代码覆盖率是必需的。软件测试代码覆盖率是基于白盒测试方法的,因此,为了提高软件测试的代码覆盖率,测试人员必须清楚源代码的结构,拥有程序设计文档,以便设计测试用例,使测试尽可能地覆盖程序内部结构的每条语句,提高代码的覆盖率。
嵌入式软件测试流程
根据嵌入式系统的开发流程,为了最经济地实现系统的功能,采用自顶向下、层层推进的方法对嵌入式系统进行测试,采用如下图所示的测试流程。
平台测试:这部分包括硬件电路测试、操作系统及底层驱动程序测试等。
(责任编辑: 来源: 时间:2015-05-25)
Keywords(关键词): 长距离皮带托辊传输机
上一篇:全球同见证 柳工锐斯塔(DRESSTA)全系列产品秀(图)
下一篇:拯救酒店业颓势新出路:酒店智能化升级