<P>嵌入式软件作为软件家族中重要的分支,在当今人民生活和国防事业中得到越来越广泛的应用,由于嵌入式软件自身软硬件结合的复杂性、其质量的重要性,也造就了其软件测试的特殊性,那就是在执行正常软件测试的单元测试、集成测试、配置项测试、系统测试的过程中,还要考虑到软件与硬件的兼容问题,即需要进行软、硬件集成测试。本文将重点研究嵌入式软件与硬件集成时的测试过程。</P>
<P>根据笔者在嵌入式软件测试工作过程中的经验,归纳提出了软硬件集成测试过程,同时结合当前软件测试理论前沿知识,把该测试过程进行重组和改进,并给出了测试模型,以期嵌入式软件与硬件集成测试过程能够在实际中广泛应用。</P>
<P>1 、嵌入式软件测试基本概念</P>
<P>1.1 嵌入式软件</P>
<P>和普通计算机系统一样,嵌入式系统除了需要硬件结构和配置外,还需要相应软件的支持才能完整地实现系统的功能。目前,嵌入式系统的软件体系结构通常都采用以实时内核为基础的分层体系结构。组成嵌入式系统的软件大致可分为如下几层:</P>
<P>驱动层(硬件抽象层):驱动层是最靠近硬件的一层,它属于最底层的软件,直接和硬件打交道,它为操作系统内核和应用提供使用硬件的接口即驱动的支持。</P>
<P>操作系统层(实时内核层):该层的主要功能是协助最顶层的应用层更好地进行任务的调度、消息管理和异常处理等工作,由于该层的支持,特别是实时内核的作用,大大地减轻了嵌入式软件开发人员开发嵌入式软件的难度,同时也缩短了嵌入式软件的开发周期。</P>
<P>应用软件实现支持层:嵌入式应用软件的实现需要编程语言的支持。目前,应用于嵌入式软件编程语言主要有面向过程的语言C和面向对象的编程语言C++、ADA等,应用这些语言开发的应用程序在嵌入式系统中运行时都需要相应的编译器或解释器的支持,转换成相应的机器码,才能在嵌入式系统中实现应用程序对应的功能。</P>
<P>应用层:应用层软件主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如计算任务和通信任务等,各个任务的运行由操作系统进行调度。</P>
<P>1.2 测试用语</P>
<P>嵌入式软件(Embedded Software):嵌入式计算机系统中的软件,其与硬件联系紧密,并且通常要求强实时性。</P>
<P>测试环境(TeST EnvirONment):执行测试程序所需要的硬件平台和软件资源构成的环境。</P>
<P>测试用例(Test Case):为测试项规定输入、预期结果和一组执行条件的文档。</P>
<P>测试程序(Test Procedure):执行测试用例的程序形式,其执行需要相应测试环境的支持。</P>
<P>问题描述报告(Problem DescripTIon Report):对软件测试过程中发现问题的简要描述。</P>
<P>更改的判定条件覆盖(Modified Condition/Decision Coverage, MC/DC):对设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次,每个入口点和出口点至少要唤醒一次,并且每个条件都显示能单独影响判定结果。</P>"/> <P>嵌入式软件作为软件家族中重要的分支,在当今人民生活和国防事业中得到越来越广泛的应用,由于嵌入式软件自身软硬件结合的复杂性、其质量的重要性,也造就了其软件测试的特殊性,那就是在执行正常软件测试的单元测试、集成测试、配置项测试、系统测试的过程中,还要考虑到软件与硬件的兼容问题,即需要进行软、硬件集成测试。本文将重点研究嵌入式软件与硬件集成时的测试过程。</P>
<P>根据笔者在嵌入式软件测试工作过程中的经验,归纳提出了软硬件集成测试过程,同时结合当前软件测试理论前沿知识,把该测试过程进行重组和改进,并给出了测试模型,以期嵌入式软件与硬件集成测试过程能够在实际中广泛应用。</P>
<P>1 、嵌入式软件测试基本概念</P>
<P>1.1 嵌入式软件</P>
<P>和普通计算机系统一样,嵌入式系统除了需要硬件结构和配置外,还需要相应软件的支持才能完整地实现系统的功能。目前,嵌入式系统的软件体系结构通常都采用以实时内核为基础的分层体系结构。组成嵌入式系统的软件大致可分为如下几层:</P>
<P>驱动层(硬件抽象层):驱动层是最靠近硬件的一层,它属于最底层的软件,直接和硬件打交道,它为操作系统内核和应用提供使用硬件的接口即驱动的支持。</P>
<P>操作系统层(实时内核层):该层的主要功能是协助最顶层的应用层更好地进行任务的调度、消息管理和异常处理等工作,由于该层的支持,特别是实时内核的作用,大大地减轻了嵌入式软件开发人员开发嵌入式软件的难度,同时也缩短了嵌入式软件的开发周期。</P>
<P>应用软件实现支持层:嵌入式应用软件的实现需要编程语言的支持。目前,应用于嵌入式软件编程语言主要有面向过程的语言C和面向对象的编程语言C++、ADA等,应用这些语言开发的应用程序在嵌入式系统中运行时都需要相应的编译器或解释器的支持,转换成相应的机器码,才能在嵌入式系统中实现应用程序对应的功能。</P>
<P>应用层:应用层软件主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如计算任务和通信任务等,各个任务的运行由操作系统进行调度。</P>
<P>1.2 测试用语</P>
<P>嵌入式软件(Embedded Software):嵌入式计算机系统中的软件,其与硬件联系紧密,并且通常要求强实时性。</P>
<P>测试环境(TeST EnvirONment):执行测试程序所需要的硬件平台和软件资源构成的环境。</P>
<P>测试用例(Test Case):为测试项规定输入、预期结果和一组执行条件的文档。</P>
<P>测试程序(Test Procedure):执行测试用例的程序形式,其执行需要相应测试环境的支持。</P>
<P>问题描述报告(Problem DescripTIon Report):对软件测试过程中发现问题的简要描述。</P>
<P>更改的判定条件覆盖(Modified Condition/Decision Coverage, MC/DC):对设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次,每个入口点和出口点至少要唤醒一次,并且每个条件都显示能单独影响判定结果。</P>"/>

嵌入式软件软硬件集成测试过程研究

1 楼

软件质量即业务生命。软件测试项目已经变得比以往任何时候都复杂和困难。1979年,Glenford Myers在《The Art of Software Testing》一书中提出“测试的目的是证伪”这一概念,推翻了过去“为表明软件正确而进行测试”的错误认识,为软件测试的发展指出了方向,软件测试的理论、方法在之后得到了长足的发展。但是,目前中国许多软件企业仍存在着“重开发、轻测试”的倾向,从而造成软件产品的质量问题日渐突出。因此,如何制定有效的软件测试过程、保障软件业的健康化发展,已成为当务之急。

嵌入式软件作为软件家族中重要的分支,在当今人民生活和国防事业中得到越来越广泛的应用,由于嵌入式软件自身软硬件结合的复杂性、其质量的重要性,也造就了其软件测试的特殊性,那就是在执行正常软件测试的单元测试、集成测试、配置项测试、系统测试的过程中,还要考虑到软件与硬件的兼容问题,即需要进行软、硬件集成测试。本文将重点研究嵌入式软件与硬件集成时的测试过程。

根据笔者在嵌入式软件测试工作过程中的经验,归纳提出了软硬件集成测试过程,同时结合当前软件测试理论前沿知识,把该测试过程进行重组和改进,并给出了测试模型,以期嵌入式软件与硬件集成测试过程能够在实际中广泛应用。

1 、嵌入式软件测试基本概念

1.1 嵌入式软件

和普通计算机系统一样,嵌入式系统除了需要硬件结构和配置外,还需要相应软件的支持才能完整地实现系统的功能。目前,嵌入式系统的软件体系结构通常都采用以实时内核为基础的分层体系结构。组成嵌入式系统的软件大致可分为如下几层:

驱动层(硬件抽象层):驱动层是最靠近硬件的一层,它属于最底层的软件,直接和硬件打交道,它为操作系统内核和应用提供使用硬件的接口即驱动的支持。

操作系统层(实时内核层):该层的主要功能是协助最顶层的应用层更好地进行任务的调度、消息管理和异常处理等工作,由于该层的支持,特别是实时内核的作用,大大地减轻了嵌入式软件开发人员开发嵌入式软件的难度,同时也缩短了嵌入式软件的开发周期。

应用软件实现支持层:嵌入式应用软件的实现需要编程语言的支持。目前,应用于嵌入式软件编程语言主要有面向过程的语言C和面向对象的编程语言C++、ADA等,应用这些语言开发的应用程序在嵌入式系统中运行时都需要相应的编译器或解释器的支持,转换成相应的机器码,才能在嵌入式系统中实现应用程序对应的功能。

应用层:应用层软件主要由多个相对独立的应用任务组成,每个应用任务完成特定的工作,如计算任务和通信任务等,各个任务的运行由操作系统进行调度。

1.2 测试用语

嵌入式软件(Embedded Software):嵌入式计算机系统中的软件,其与硬件联系紧密,并且通常要求强实时性。

测试环境(TeST EnvirONment):执行测试程序所需要的硬件平台和软件资源构成的环境。

测试用例(Test Case):为测试项规定输入、预期结果和一组执行条件的文档。

测试程序(Test Procedure):执行测试用例的程序形式,其执行需要相应测试环境的支持。

问题描述报告(Problem DescripTIon Report):对软件测试过程中发现问题的简要描述。

更改的判定条件覆盖(Modified Condition/Decision Coverage, MC/DC):对设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身的所有可能结果也至少出现一次,每个入口点和出口点至少要唤醒一次,并且每个条件都显示能单独影响判定结果。

2010-12-14 23:30:05
279144133
2 楼

欢迎加入互联网团队!/app/teamMessage/index?teamId=2803

2010,有一种美女叫“凤姐”,有一种帅哥叫“犀利哥”,有一种女朋友叫“小月月”,有一种爸爸叫“李刚”...... 2010,有一个新词叫“给力”,有一个群族叫“爱疯”,有一名中医喜欢绿豆和茄子,有一位道长会水下闭气...... 2010,有一种节能减排叫“拉闸限电”,有一种足球协会叫“足囚协会”,有一种慈善叫“裸捐”,有一种房地产调控叫“空调”...... 2010,有一种住宅叫“蛋屋”,有一种理财叫“群租”,有一种集装箱叫“蜗居”,有一种别墅叫“经适房”...... 2010,吃小龙虾可能肌溶解,送孩子上学时可能被拆房,盖被子可能会被闷死,赶不上火车可能白买票...... 2010,很多“大牌”都不淡定,郭德纲称徒弟“民族英雄”被反三俗,周立波嘲弄网络舆情获封“周自宫”,连腾讯都被360“逼”出了一个“艰难的决定”...... 2010,爱写日记的不光有雷锋,还有韩峰,大美女不光天上有,天上人间也有...... 未婚同居的越来越多, 婚后同居的越来越少,耍手腕的人越来越多, 耍手艺的人越来越少,出书的人越来越多, 读书的人越来越少,养二奶的越来越多,养奶奶的越来越少...... 放眼本群,潜水的越来越多 .......说话的越来越少...... 群里的各位,2010, 要才有才,要貌有貌,且深谋远虑,胆识过人,人见人爱,花见花开,车见爆胎,风光无限怎么也说不完呢... 祝2011各位有更好美好故事、成功传奇。提前祝新年快乐!

2011-01-21 13:19:10
happysmallqa163
3 楼
楼上的各位说得都很精典啊,赞一个
2011-03-31 15:23:14
happytask163
4 楼
各位,最近怎么都不来团队了呢?
2011-07-15 15:07:19
mysite-xy
5 楼

不错,我现在也在弄硬件测试。以后多指教

2011-08-10 10:15:59
insigmalou
6 楼
刚入团,看看帖子,学习学习
2011-08-26 12:27:03
mahlon
7 楼
硬件测试是个前途的好职业啊。大家努力吧
2011-08-26 14:56:46
topwalk
8 楼
这太深了吧
2011-09-01 09:49:50
cocojing628
9 楼
不错,了解了
2011-09-03 13:40:34
wangjin1989611
10 楼
新手,不太了解,好好学习
2011-09-09 09:41:10
qianyanshixi
11 楼
看看!学习学习!
2011-09-28 13:31:13
gsfxhdd
12 楼

大家好

2011-09-28 16:56:31
gsfxhdd
13 楼

大家好

2011-09-28 16:57:16
moshangchen1984
14 楼
不错不错
2011-09-30 09:30:48
825629711
15 楼
efwt
2011-10-22 12:58:59
tjl2624
16 楼

经典

2011-10-24 10:52:56
harric
17 楼

嵌入式测试会是一种趋势。

2011-10-27 14:34:45
anningyongyuan
18 楼
好好啊
2011-11-08 22:06:33
h450137060
19 楼
不错。
2011-11-12 20:38:47
intense_wind
20 楼
菜鸟,前来学习^
2011-11-14 21:47:33
h450137060
21 楼

不错.

2011-11-17 10:03:20