51Testing软件测试论坛

标题: 嵌入式软件的基本测试方法 [打印本页]

作者: ouyu    时间: 2006-2-18 15:26
标题: 嵌入式软件的基本测试方法
作者:佚名      出处:互连网
摘要:嵌入式软件的基本测试方法
随着制造行业的再一次崛起,嵌入式软件目前在软件行业中越来越多,2004年软件行业最火爆的三个项目是:嵌入式开发,软件培训以及软件外包。由于嵌入式软件与其他产品息息相关,这给嵌入式软件的测试工作带来了极大的困难,软件的测试工作不能够等程序烧到或者固化到芯片中才开始进行测试,这就太晚了,本文结合自己的一些经验提出自己的看法,希望大家一起讨论。
搞好开发前的原型设计
原型开发目前在开放流程中受到了更多的重视,同样嵌入式软件也是非常需要的。比如说一个录音机版面的设计,可以定义好版面上面的按键以及每个按键的功能。然后画出状态转化图,写清楚每个按键何时可以触发,触发后由哪个状态转入别的其他状态。原型设计好了,组织专家,工程师进行评审,尽可能多的找出原型中不合理需要改进的地方;改进以后,有必要可以进行再一次的评审工作。每一次评审工作需要记录评审建议是否需要解决?如何解决以及实际解决情况。

进行设计和开发工作

设计和开发工作需要设立里程碑。每个里程碑结束前都需要进行评审工作。由于嵌入式软件的运行环境不同,受到很大的限制,所以在进行开发之前需要进行编程规范工作,编码的时候需要严格按照编码要求进行工作,每一个条款都需要认真执行和审查。现在业界提供许多关于嵌入式软件开发的标准,大家可以通过网站搜索,最好能够购买业界一些比较著名的标准。目前市场上也提供许多关于代码检验的工具。为什么一直提出代码编码规范?这是因为嵌入式软件的质量与代码规范是十分重要的。举个例子,著名的阿里亚火箭失事,专家进行详细的调查工作,最后发现问题出在代码上。代码是符合标准C语言的,但是在运行过程中由于程序员将一个长整形变量赋给了一个短整形变量,造成内存溢出,这是导致火箭失事的关键所在。

int8 a;
int32 b;

a=b;


代码测试

当程序开发完毕,需要进行测试工作,但是在程序烧入或固化芯片之前如何进行测试呢?这里介绍一种方法:比如程序时使用C语言进行开发的,请将所有的操作都封入在函数中,函数的定义都在相应的头文件中定义(.h),然后设计测试用例,书写测试代码,测试代码包含相应头文件,可以对函数进行检测。测试案例往往分为两类:一种是功能测试,主要测试函数的功能;另外一种是错误参数测试,主要检查程序对进行错误参数进行检验。

功能测试

这种测试的运行往往需要通过仿真器辅助完成,比如类似录音机软件程序,分别测试播放,加大(减小)音量,停止,暂停(取消暂停),快速前进,快速后退,录音对应的功能是否能够正常运行。

错误测试

主要测试函数在调用参数无效的时候,系统是否会按照规定返回正确的错误代码。比如
function test(int Tid)
测试的时候给出一个错误的序列号(Tid),看程序是否返回正确的错误代码。
对于函数function test1(int t)需要进行特出的处理
t 定义为1-100
我们可以按照边界值法和等价分类法进行测试
上边界:-1,0,1
下边界:99,100,101
中边界:50
所以测试用例集合为(-1,0,1,50,99,100,101),其中-1,101为错误测试用例,其他为正确测试用例

功能组合测试

在进行完功能测试后,我们可以进行功能组和测试,还是拿录音机程序做个例子。我们可以定义将音量增加到10,快速前进,检查音量,看是否还是为10;播放,暂停,试图调整音量,检查调整音量的功能是否可以被成功执行。

烧入固化测试

当以上测试都通过后可以将程序烧入芯片或者固化,进行最后在实际环境中进行测试工作。
作者: njnuaa    时间: 2006-3-9 23:35
写的不错,比较符合实际,不过这好象不是什么嵌入式的东西.
作者: 983221wy    时间: 2006-3-16 16:49
谢谢了!!!!!
作者: littleyolk    时间: 2006-4-17 17:26
挺符合实际,基本就是这么个流程。代码测试属于白盒,功能以后都是黑盒的了。我就是做机顶盒黑盒测试的,刚起步还不知道怎么回事呢,多多交流
作者: xm3525    时间: 2006-4-25 10:09
不错,辛苦了
作者: kery2000    时间: 2006-5-18 16:43
谢谢!但是感觉不够具体。
作者: 婧颦    时间: 2006-5-26 14:37
嵌入式测试包括低层次测试和高层次测试。其中,低层次测试只测试单个部件,在类似于开发的环境中,在生命周期的早期进行,高层次测试则对集成系统或子系统进行测度,是在(模拟的)真实环境中,在生命周期的后期限进行。通常情况下,低层次测试多为面向白盒的测试,而高层次测试多为面向黑盒的测试。
作者: 耶罗    时间: 2006-5-26 22:12
顶!
作者: aprillee    时间: 2006-5-27 18:25
能不能更具体讲一下在低级测试阶段也就是面向白盒测试阶段该怎样去进行测试呢?先谢谢了!本人刚开始入门,很多具体的饿问题都不懂!请各位赐教!
作者: songyq521    时间: 2006-6-22 13:12
其实主要的还是黑盒测试!
作者: 灵犀    时间: 2006-7-31 18:39
大家好,我是做视频处理机顶盒测试的,刚刚做嵌入式不久,大家可以交流一下
msn:ericpeng0826.hotmail.com
作者: ericola    时间: 2006-9-12 11:18
语言描述不清,嵌入式的范围很大,不知道楼主说的那种平台的
作者: firehelp    时间: 2006-12-3 23:15
辛苦了。。。还可以,不过举的例子不够典型。。。
作者: yuting716    时间: 2006-12-7 14:41
还有些疑惑,第四步功能测试,通过仿真器辅助完成,这里的仿真器如何解释?是自己开发的l类似于硬件功能的可视操作平台么?
    错误测试是否应该并入代码测试?在代码测试时就应该把错误值输入了,为什么要另外再测呢?两者有什么不同么?
作者: qyl    时间: 2006-12-15 09:13
fei chang ganxie
作者: yeweimian1    时间: 2007-2-15 09:19
学了点新知识.呵呵............
作者: mp4    时间: 2007-4-18 17:13
标题: 学习
以前是做产品测试的,现在刚接触到嵌入式测试,所以需要加强学习.
作者: 涩谷Tokyo    时间: 2007-5-17 09:11
Cool
作者: millerjordan    时间: 2007-5-26 15:58
我主要做黑盒的测试,功能,组合功能。
作者: chinabolls    时间: 2007-6-1 10:47
sdlkfj2 不错,写的虽然不是很详细,但是我也学到了不少东西,谢谢楼主
作者: blue_dolphin    时间: 2007-6-11 23:20
标题: 回复 #1 ouyu 的帖子
对于录音机这个例子,状态转换图比较复杂,应该采用因果图方法设计测试用例,测试应该更充分写.
作者: junesnow    时间: 2007-6-28 23:51
快用上了
作者: changlang530    时间: 2007-7-27 09:42
有没有机顶盒的专题讨论或目前能发现较严重的Bug??
多交流,产品质量得以保障,技术从中得以升华。
作者: applejuzi    时间: 2007-7-27 19:33
写的很好
作者: yamaya    时间: 2007-7-31 17:22
功能组合测试怎么分类? 得用等价类和正交表的方法吧。
作者: wangyingtest    时间: 2007-8-2 16:43
学习,多谢楼主
作者: anqiers    时间: 2007-8-6 10:14
19楼的朋友,我原来是做软件测试的,现在刚做嵌入式测试,希望我们能有机会交流一下!谢谢
作者: rgbgirl    时间: 2007-8-7 13:54
这是白盒测试吗?
作者: zhangsy    时间: 2007-8-26 21:03
标题: 回复 #1 ouyu 的帖子
不错,使我对测试流程有了个大概的把握
作者: zhangj8826    时间: 2007-9-13 11:48
very good
作者: lichongjiao    时间: 2007-10-22 11:17
好东西,我是做软件测试的,
作者: zhouzxcv    时间: 2007-10-26 14:07
辛苦了。。。还可以,不过举的例子不够典型。。。
作者: muyang327    时间: 2007-10-26 14:35
学习了,顶一下。
作者: blueteer    时间: 2007-11-2 17:05
学习了,谢谢!
作者: juneyg    时间: 2007-11-8 16:43
比较概括
作者: zxsong024    时间: 2008-1-22 15:35
对入门很有帮助
作者: aaronyan911    时间: 2008-1-24 12:58
如果能再具体点就好了, 比如说说哪个部分最常用哪些软件, 我最想知道的就是这个.......
作者: huangjian199    时间: 2008-1-31 22:46
往往要用的东西很复杂,变量很多,怎么测试呀?
作者: carry1986    时间: 2008-2-1 10:22
想学习这里的新知识,真是太好啦,看样子要学的东西还很多呀,哈哈..
作者: jingchu    时间: 2008-2-2 12:33
标题: 很好
很好阿,可以借鉴
作者: enjoylife    时间: 2008-3-17 20:18
写的不错
作者: morriam    时间: 2008-3-27 17:01
多谢楼主共享
作者: earthyoungman    时间: 2008-4-3 10:11
学习了一下,谢谢
作者: xueyuhanchen    时间: 2008-4-28 17:54
明白一点~~。。
作者: ningxin    时间: 2008-5-6 16:01
嵌入式测试分为在基于宿主环境下的测试和基于目标环境下的测试。基于宿主环境的测试是在模拟器上进行的,一般进行一些逻辑或界面的测试、其他非实时的测试以及和硬件无关的测试。而与定时问题有关的白盒测试、中断测试、硬件接口测试只能在基于目标的环境下进行。
作者: zp1987    时间: 2008-5-14 16:50
顶下咯.
但是我也没看出来嵌入在哪.
作者: huazai_888    时间: 2008-6-13 10:58
写的不错,比较符合实际,不过这好象不是什么嵌入式的东西.
作者: qtt_tina    时间: 2008-7-19 20:09
学习中。。。。
作者: chentianle1688    时间: 2008-7-21 22:02
其实嵌入式也有测试工具啊,CODETEST。有谁用过这个?
作者: dycadrtf    时间: 2008-7-23 17:45
东西就是这样学来的
作者: goodgoodsutdy    时间: 2008-7-24 09:23
有所收获,不枉路过
作者: pbz    时间: 2008-7-29 19:01
稀饭
作者: f_a36    时间: 2008-8-4 12:57
应该时-1,0,101是无效等价类
作者: banbancc    时间: 2008-8-25 10:37
准备学习!
作者: SX_JU105    时间: 2008-8-26 19:08
好像还不够深入
作者: xiaonuze    时间: 2008-9-20 08:41
我是学日语的.  公司让我去学嵌入式软件设备的测试工作. 请问这个主要接触到哪些知识?
不知道是什么样的? 难不难学,要付出什么样的代价来学这个?
作者: 小白杨    时间: 2008-10-3 21:16
学习ing,感谢lz分享
作者: 石雨    时间: 2008-10-30 20:54
我们公司都跳过前面的步骤直接对功能进行测试,哎.
作者: 118UU3    时间: 2008-10-31 19:50
好厉害!
作者: joannaready    时间: 2008-11-3 10:09
标题: 有点用
太粗略
作者: wangpl4092    时间: 2008-12-10 17:11
学习ing
作者: linsi    时间: 2008-12-15 21:27
不错,感谢~~
作者: majun915    时间: 2008-12-19 11:33
谢谢了!!!!!
作者: 水女孩    时间: 2009-1-12 22:42
请教:学做测试要怎么入门呢?
谢谢!
作者: tangchs    时间: 2009-1-13 10:16
学习,总结嵌入式测试的方法呢
有些知识还是可以借鉴的
谢谢
作者: jakin2007    时间: 2009-2-4 15:15
感谢分享
作者: dayeyes    时间: 2009-2-26 14:09
不错,谢谢分享!!
作者: gulihua2009    时间: 2009-3-24 15:30
学习
作者: majun915    时间: 2009-6-2 17:16
不错,辛苦了
作者: deyizhi    时间: 2009-7-9 13:51
学习到了,不过认为后续的功能测试可能也有需要内容要做。
我目前就把功能测试范围分为,模块单元,基本功能,详细功能,可靠性,稳定性等测试内容!
作者: daipengfei    时间: 2009-9-3 09:10
up
作者: daipengfei    时间: 2009-9-3 09:17
标题: 回复 1# 的帖子
very good!Thank you~~
作者: zajy    时间: 2009-9-3 12:39

作者: daipengfei    时间: 2009-9-3 16:03
标题: 回复 1# 的帖子
too easy~~~~
作者: daipengfei    时间: 2009-9-3 16:03

作者: daipengfei    时间: 2009-9-3 16:03

作者: daipengfei    时间: 2009-9-3 16:03

作者: daipengfei    时间: 2009-9-3 16:03

作者: daipengfei    时间: 2009-9-3 16:03

作者: Saintly-M    时间: 2009-9-25 17:29
标题: 2009 Parasoft 软件测试中国巡回高峰论坛 上海站圆满落幕
9月21日,2009 Parasoft 软件测试全国巡回高峰论坛在上海成功落下帷幕。此次会议由Parasoft 及英蓓特公司主办,陆续将在深圳、北京、杭州、福州、武汉、西安、成都、八个城市巡回举行。

     在会议上,Parasoft中国渠道经理刘岳,为观众详细介绍了如何通过错误预防提高产品质量,大会上特别邀请了Parasoft 中国区技术经理伍宏益先生作为演讲嘉宾,为大家作代码级测试产品展示,为观众提供一场关于Parasoft 软件测试技术的盛筵大餐,此外,大会上也特别邀请了上海软件测评中心副总聂艳作为演讲嘉宾。英蓓特作为其合作伙伴,特别在大会上设置展台,为大家作嵌入式测试工具演示.
      全程会议,共计有100多名来自企业的观众朋友参加了会议,会议在观众朋友中引起了非常强烈的反响,有的观众朋友不辞劳苦从别的城市来到当地会议城市参会,会后,有不少高校教师及学生也来电咨询研讨会情况,表示愿意参加10月份的高峰论坛,这足以说明Parasoft在业界的影响力及大众对Parasoft的关注程度。
     总结本次会议,我们找到许多不足,我们会努力加以改善,为明年的第二届会议成功举办打下良好的基础,希望大家能够继续支持我们的会议!

本次会议讲稿已在本网站发布,请点击下面链接下载直接下载:
Parasoft中国渠道经理    刘岳                   如何通过错误预防提高产品质量 http://www.edukit.com.cn/uploadfile/20090925001.rar

Parasoft中国技术经理   伍宏益               代码级软件测试 http://www.edukit.com.cn/uploadfile/20090925002.rar
  
其他城市巡研火热报名中,请点击下面按纽在线报名!
http://www.edukit.com.cn/news-list.asp?id=265
作者: helina168    时间: 2009-12-2 09:31
刚进入嵌入式测试这个行业,真的很感谢LZ
作者: 体元主人    时间: 2009-12-28 09:22
取经期间,都是好东西
作者: yizhimeihua    时间: 2009-12-29 15:35
这种活动看到好多次 可惜每次都没赶上  不知道下次来深圳是什么时候?
作者: alrs    时间: 2010-4-21 16:52

作者: gywelcome    时间: 2010-5-3 23:54
谢谢
作者: 60124    时间: 2010-6-11 11:16
谢谢
作者: nancyyes    时间: 2010-7-25 15:35
我们公司的嵌入式产品设计评审和代码找查都是开发人员做的,测试都是从固化到芯片后的黑盒测试,不过开发人员用了仿真器跑程序的时候已经是把程序固化到芯片中了,楼主说的应该是软仿,直接在软件中跑程序吧
作者: xingyun813    时间: 2010-8-5 11:43
好像太概括了,能不能再详细说下?
作者: wushuigen2008    时间: 2010-8-10 18:49

作者: 洗洗    时间: 2010-8-16 15:58
标题: 谢谢
谢谢哈
作者: 愚人    时间: 2010-8-16 17:28
有没有详细一点的资料啊??求!!
作者: kevin_lin_99    时间: 2010-9-9 08:42
谢谢,学习了~
作者: csesky    时间: 2010-9-25 11:58
顶上去

只是这个如何和嵌入式联系起来?
作者: jhkjhk    时间: 2010-9-28 16:36
学习了,谢谢分享
作者: kueryang    时间: 2010-11-11 17:24

作者: kueryang    时间: 2010-11-11 17:25
回复 95# kueryang
作者: zacaooo    时间: 2010-11-15 11:26
谢谢楼主分享……
作者: ted8216    时间: 2010-11-17 15:01
学习了
作者: sophie_wang    时间: 2010-11-25 16:53
没做过嵌入式测试,但是比较感兴趣。。。。
lz讲的“原型开发”貌似大多数有界面的项目都会有的,主要目的是跟客户确定最终的UI。
另外,嵌入式测试和其他软件测试的区别除了“烧入固化测试”外,还有没有其它的呢?
作者: wymingc    时间: 2010-12-21 13:14
谢谢楼主分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2