google搜索
51Testing站内搜索
软件测试门户
|
软件测试培 训
|
文章资料精选
|
软件测试论坛
|
软件测试博客
|
测试招聘求职
注册
登录
搜索
鲜花鸡蛋
调查问卷
帮助
51Testing软件测试论坛
»
[嵌入式软件测试]
» 提高嵌入式软件质量的重要方法―软件代码检查
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[原创]
提高嵌入式软件质量的重要方法―软件代码检查
CreatFuture
中级站友
个人空间
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2007-9-13 22:11
只看该作者
提高嵌入式软件质量的重要方法―软件代码检查
作者
: CreatFuture
2007
年
9
月
13
日
目前嵌入式系统的
应用领域越来越广泛,与人们的生活也越来越密切。随着嵌入式产品更新换代的加快,软件规模急速膨胀,软件的开发周期却越来越短。
硬件发展日益稳定,而软件故障却日益突出,
这些故障不仅会造成重大经济损失,甚至危及人的生命安全。
软件的重要性逐渐引起人们的重视,提高嵌入式软件的测试质量势在必行。
为什么嵌入式产品发布后,还残留了许多软件缺陷?原因可能很多,我们试列举以下几种:
①
嵌入式软件本身特点,如实时性,与硬件结合紧密等导致软件测试难度大。
②
在代码规模巨大、开发周期短等客观条件下,软件测试不足。
③
在测试阶段,要动态覆盖所有条件、所有状况的测试几乎是不可能的。
④
嵌入式软件开发主要使用
C
语言,而
C
语言非常灵活,容易造成编码错误。
⑤
项目团队未有效建立
/
遵守编码规范,留用有缺陷代码等导致可移植性、可维护性方面存在缺陷。
⑥
项目团队的惯性思维,不良编码
/
测试习惯等因素的影响等。
软件测试的分类方法有很多种,如静态测试、动态测试;单元测试、集成测试、系统测试、确认测试;模拟测试、实机测试等。各种测试方法其对测试阶段、测试环境等要求也各具特点,本文就软件代码检查这种静态测试方法进行探讨。
1.
什么是代码检查
代码检查团队以第三方的角度,运用工具
/
人工的方式对代码进行静态检查。
软件开发团队根据代码检查团队的检查报告,进行缺陷原因分析、影响范围调查、缺陷修改、修改后验证、缺陷预防措施实施及效果确认活动。
2.
代码检查种类
①
代码规范(
MISRA
等
C
、
C++
规范)符合性检查
使用
MISRA
、
QAC
等代码规范检查工具,对代码规范的符合性进行检查,然后人工对工具输出的警告进行确认。
②
代码逻辑检查
针对代码规范检查工具不能检查的项目,如公用变量的初始化、函数返回值的使用等方面进行人工检查。
③
中断冲突检查。
对因中断或多任务共同访问全局变量而引起的冲突进行人工检查。
④
功能符合性检查。
对看门狗、
AD/DA
转换等与硬件相关部分的代码进行人工检查。
3.
代码检查的特点
①
可在编码
~
产品发布这一期间内的任何阶段进行。在项目前期通过代码检查可尽可能多地发现缺陷,从而可削减开发成本,提高产品质量。
②
利用第三方的经验、看问题的角度,可以找出自己开发团队因惯性思维、不良编码
/
测试习惯等因素造成的而自己难于发现的缺 陷。
③
不受测试环境、测试设备等客观因素的制约,费用较低。
4.
从事代码检查业务的要求
①
拥有一套检查理论、方法和流程。
②
需要一些辅助工具的配合,以提高检查质量和效率。
③
代码检查人员应熟练掌握
C/C++
编码规则,熟悉编译器原理。对于功能性检查还应熟悉芯片等硬件知识及通信、汽车等领域产品知识。
④
拥有嵌入式产品代码缺陷库,可进行更有针对性的检查。
5.
有关代码检查的疑问
①
代码检查与开发团队自己进行的交叉走码有什么区别?
代码检查虽然从形式上来说类似于交叉走码,但交叉走码基本上是属于代码规范符合性检查;而代码检查除代码符合性检查外,更着重逻辑、中断冲突和功能符合性检查。
②
连熟悉开发系统的开发团队都检查
/
测试不出来的缺陷,不熟悉系统第三方可以吗?
事情有时候就是“成也萧何,败也萧何”。正是由于项目开发团队熟悉自己的系统,但由于惯性思维,有时候会想当然地将缺陷作为正确。第三方代码检查团队虽然对系统不熟悉,但是完全从检查观点的角度来进行判断是否有问题,这样不会轻易使缺陷漏网。
检查团队将不符合检查观点的程序指摘出来,项目开发团队对指摘出的问题进行进一步确认,这样结合两种思维方式,即从该系统的特殊性及检查观点共性两个方面,能够发现开发团队自己发现不了的隐藏缺陷。
另外,有些缺陷是只在极端条件下才发生,通过动态测试去发现几乎是不可能的,特别是中断冲突方面的问题。因此在某些情况下,代码检查是唯一的手段。
③
代码检查的实施效果如何?
根据对汽车、电子、通信等领域数十个项目检查结果的数据统计,检查出的代码缺陷率为每千行代码零点几
~
几之间,并为客户检查出了许多重大缺陷。
6.
代码检查国内外现状
目前发达国家如美国、日本等嵌入式产品开发企业特别重视代码检查业务,一般将业务外包给专业从事代码检证业务的公司。而国内从事嵌入式产品开发的企业,基本上还没有意识到代码检证的益处。同时,国内能够从事代码检查业务的公司也屈指可数,目前这些公司基本上也都是承接国外的业务。
PS
:本文作者及所在公司已经为国外知名企业从事代码检查业务
4
年。
UID
142090
帖子
2
精华
0
积分
116
综合技术指数
116
生活情趣指数
0
鲜花
0
鸡蛋
0
阅读权限
10
在线时间
3 小时
注册时间
2007-9-13
最后登录
2008-3-6
查看详细资料
TOP
zhouqing0
中级站友
个人空间
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2007-9-19 10:35
只看该作者
呵呵
代码审查,代码走查
中航一集团计算机软件可靠性管理与测评中心
UID
142289
帖子
19
精华
0
积分
110
综合技术指数
110
生活情趣指数
0
鲜花
0
鸡蛋
0
阅读权限
10
在线时间
5 小时
注册时间
2007-9-14
最后登录
2008-7-13
查看个人网站
查看详细资料
TOP
CreatFuture
中级站友
个人空间
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2007-10-9 09:41
只看该作者
从本质上是属于代码走查,但是与传统的代码走查的角度不同,特别是在中断冲突及代码逻辑方面。
UID
142090
帖子
2
精华
0
积分
116
综合技术指数
116
生活情趣指数
0
鲜花
0
鸡蛋
0
阅读权限
10
在线时间
3 小时
注册时间
2007-9-13
最后登录
2008-3-6
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
版块跳转 ...
> [软件测试新手上路]
> [软件测试新手上路精华区]
> [每日一贴]
> [测试资源共享区]
> [软件测试职业发展]
> [企业招聘]
> [人才频道]
> [学员免费推荐]
> [个人求职]
> [简历与面试]
> [51Testing软件测试沙龙]
> [测试交流QQ群与MSN群]
> [软件测试每周一问]
> 【Software Testing English Column】
> 译文征稿活动
> [未决问题区]
> 最佳博客评选
> [软件质量管理]
> [质量管理精华区]
> [软件缺陷管理]
> [软件测试管理]
> [软件配置管理]
> [VSS/PVCS]
> [CVS/Subversion/SVN]
> [ClearCase]
> [软件需求管理]
> [嵌入式软件测试]
> [手机测试]
> [软件测试外包]
> [本地化软件测试与国际化软件测试]
> [通用软件产品测试]
> [游戏测试]
> [金融证券行业测试]
> [电信行业测试]
> [电子商务测试]
> [TestDirector&Quality Center]
> [TD&QC精华区]
> [QuickTest Pro]
> [QTP精华区]
> [LoadRunner]
> [LR精华区]
> [WinRunner]
> [WR精华区]
> [Robot]
> [Robot 精华区]
> [Rational Functional Tester]
> [其他工具与自动化测试框架]
> [Borland Silk系列工具]
> [JMeter]
> [测试用例设计]
> [单元测试与集成测试]
> [xUnit]
> [日构建和Ant]
> [系统测试]
> [WEB测试]
> [性能测试]
> [安全测试]
> [测试系统架构]
> [操作系统]
> [J2EE与中间件]
> [.Net平台]
> [数据库]
> [前沿技术、测试方法]
> [灌水乐园]
> [游戏动漫]
> [流行影音]
> [健康美食]
> [电子数码]
> [运动旅游]
> [奖励专区]
> 双节送祝福抢楼活动
> 07年度最受会员欢迎活动评选
> 07年度论坛最佳版主评选
> 众志成城 抗震救灾
> 最佳会员评选
> [投诉建议区]
> [版主申请任命专区]
控制面板首页
编辑个人资料
积分记录
公众用户组
个人空间管理
升级个人空间
当前时区 GMT+8, 现在时间是 2008-9-8 10:58Copyright(C)
上海博为峰软件技术有限公司
2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:
webmaster@51testing.com
或发送论坛短信至管理员
“
风在吹
”
2008中国首届企业软件测试现状调查
软件测试沙龙(上海站)开始报名
51Testing电子杂志四周年庆-有奖征稿!
软件测试每周一问,答帖有奖
《51测试天地》第十一期征稿中~HOT~
NEW~第十九周版主贡献排行榜
IBM Rational开发者大会9月盛大揭幕!
软件测试培训 签订合同保证就业
软件测试每周一问,答帖有奖
软件测试工程师-从“菜鸟”到“精鹰”
职业发展道路上的助推器……