51Testing软件测试论坛

标题: 嵌入式软件测试要做哪些部分的测试?(10-9-15)(获奖名单已公布) [打印本页]

作者: 默默巫    时间: 2010-9-15 09:46
标题: 嵌入式软件测试要做哪些部分的测试?(10-9-15)(获奖名单已公布)
嵌入式软件测试要做哪些部分的测试?
我目前从事的行业是网络电视行业,团队主要做一些中间件插件,如影视模块、音乐模块、网络商城、网络学堂。但是我们测试部门的工作觉得还是比较初级,主要在做功能测试,包括软件测试规划、测试计划书、根据产品说明书写功能测试用例、以及软件评审报告。我现在有些困惑,在我觉得真正的软件测试不应只是做这些工作,在此向大家请教,求指点。

感谢会员JEASONWONG提供此精彩问题!如果你也有问题想提出来和大家一起讨论,请点击此处>>
说不定下期讨论的问题就是由你提出的哦,请快快参与吧!


获奖名单

奖项

获奖名单

奖励

答案链接

二等奖

woodcraft

300论坛积分

8#


作者: fangfangcome    时间: 2010-9-15 15:15
我也做嵌入式软件测试,各个模块的驱动都要做测试吧??
作者: tm123    时间: 2010-9-16 12:33
我也是在做嵌入式软件测试
作者: 愚人    时间: 2010-9-16 13:03
占座,忽然转测嵌入式产品,有点措手不及,等待高手指点……
作者: 19104209    时间: 2010-9-16 15:01
测试都大同小异吧 做好其它测试转嵌入式应该没多大问题的
作者: snail_huang    时间: 2010-9-17 10:18
我也转嵌入式测试,刚转,还不了解,貌似也差不多都是功能测试。。。不过要熟悉相关的硬件设备
作者: 夏末初秋    时间: 2010-9-17 11:51
兼容性测试/功能测试/交叉测试以及不断地回归测试.
仅代表个人观点.
作者: woodcraft    时间: 2010-9-17 15:30
按照以下逻辑进行分析:
一、硬件测试
嵌入式测试相比其他测试最主要的特点是硬件的专用性,夸张的说、每个嵌入式软件运行的硬件环境都是不一致的,所以要进行嵌入式测试,必须要进行硬件测试。

1、功耗测试等硬件指标测试
这部分的测试主要是对功耗、待机、充电等硬件指标进行测试(由于我主要工作是在类手机产品方面,手机产品还包括信号、音质等等,对楼主所说的网络电视不是很熟,应该还有其他指标)。

2、老化实验等硬件稳定性测试
这部分测试主要是关注硬件整机的稳定性与可靠性,一般做法是批量产品长时待机,然后关注是否存在个别异常。

硬件测试主要是借助仪器完成,要求的测试人员必须具有硬件电路基础,与软件测试人员的要求相差很大。个人认为,也不是软件测试人员的发展道路。

二、软件测试
嵌入式的软件测试,刚说了,由于运行的硬件环境的特殊性,所以我个人强烈建议,最好有Simulator,或者说宿主机环境,这样测试时可以不完全依赖于目标机环境,灵活性增加很多。

1、黑盒系统测试
这部分测试是大多数人都在做的,简单来说,即模拟用户使用进行操作测试。

(1)、功能性测试
这方面的测试主要是验证软件各功能正常实现。

(2)、性能性测试
这方面的测试包括压力测试(多次操作测试)、交叉测试(多功能并行测试)、破坏测试(非正常操作测试)等等。

2、集成接口测试
这方面的测试包括BIOS测试、BOOT测试、文件系统测试、驱动测试等等。

由于目前很少有产品或项目是由某一团队完整的从操作系统到应用层的开发,大部分项目都是在一个成熟的系统上进行应用开发,所以这部分的测试可以根据嵌入式软件平台的需要进行或裁减。

3、白盒代码测试
这部分主要是针对开发人员的代码进行审查或走读的测试,需要测试人员具有代码能力。


BTW:写这么多,发现楼主的要求是嵌入式软件……我连硬件都写了……
作者: Jean_ylq    时间: 2010-9-21 14:08
昨天正好同学问我关于嵌入式的,有没有什么培训班之类的,我给他推荐了51testing~~
哈哈
持续观望~~
作者: Carl_Lew    时间: 2010-9-21 14:20
没什么本质区别吧,硬件部分测试不是主要的,当然也是需要的。等你发现硬件问题的时候已经很晚了,所以主要的还是软件测试
作者: windone    时间: 2010-9-21 16:59
本帖最后由 windone 于 2010-9-21 17:02 编辑

有一种嵌入式软件测试方法叫做TEMB,其原理就是通用的软件测试方法加上嵌入式产品的特殊测试方法。
嵌入式软件,首先还是是软件。
所以软件测试的通用方法还是适用,比如单元测试,集成测试;静态测试,动态测试等。
测试内容,也主要分为功能测试和性能测试,具体的展开,常见软件测试内容都可以借鉴到嵌入式软件测试。
和普通软件测试的区别在于:嵌入式软件运行环境的特殊性,前面也有人讲到了硬件环境的模拟和测试,所以更多的时候会上升到嵌入式产品测试。
产品测试,最好让嵌入式软件在真实环境下运行,必须考虑不同环境的影响,比如端口的电气特性,环境的温湿度,电磁干扰,软件是否考虑健全?
现在软件越来越强大,所以软件的鲁棒性、安全性、可靠性、可恢复性等内容都需要好好测试。
当然,不通的嵌入式产品的运行环境可能差别很大,大多数情况下很难实现在真实环境下测试,在此测试环境的模拟,测试台架的搭建就是很大一部分的工作。越真实的环境,越真实的测试案例,越符合用户操作的工作流程,就越能发现嵌入式产品的功能和性能Bug,提升嵌入式产品的质量。
作者: boss_ceo    时间: 2010-9-23 20:14
就一个集成测试
作者: 就是爱测试    时间: 2010-9-25 11:55
简单的讲就是接口测试!
作者: archonwang    时间: 2010-9-25 15:04
没做过。。。看看高手答复。
作者: bluesky1986007    时间: 2010-9-25 21:45
回复 1# 默默巫


    嵌入式软件测试做过一段时间,从测试理念来讲都差不多,大同小异,无非就是测试对象有些不同罢了,但嵌入式测试的测试重点和偏向可能会有所不同。由于嵌入式软件很依赖于硬件,所以硬件每升级一次,对于软件来说,就需要去做大量的、重复的回归测试,要保证软件在新的硬件上也能正常使用
作者: 愚人    时间: 2010-9-25 23:41
回答的人不是很多哦……希望看到高手的精彩言论……
作者: xuehong    时间: 2010-9-29 13:55
模块测试、集成测试、系统测试和硬件/软件集成测试共四个阶段的测试
作者: langztest    时间: 2010-9-29 15:27
回复 8# woodcraft
写得蛮全面的,补充一点产品测试:
1、产品集成测试
2、用户体验测试
3、安规、国标测试
作者: jay.yan    时间: 2010-9-29 20:42
嵌入式操作系统很多,其应用程序有很多,各个要求不同,单位有的测试环境不同,那么在这个基础上,就有很多任务要做了。
作者: 洋溢8848    时间: 2010-10-7 15:38
回复 1# 默默巫


    嵌入式软件测试首先是测试环境的搭建,由于嵌入式软件的特殊性,所以对测试环境的要求较高,尽量达到客户的实际环境。
   其次是嵌入式软件的功能性,安全性,兼容性,移植性。
   其中可以使用自动化测试工具进行基本功能的测试,然后再进行手动测试,测试一些自动化工具不能覆盖的部分,使自动化测试和手动测试相结合,保证测试完整性。
作者: alineyou    时间: 2010-10-8 15:25
集成测试!
作者: hyd_bpmf    时间: 2010-10-11 13:49
高手在哪里
作者: wenwensw    时间: 2010-10-14 09:48
粗略说一下嵌入测试(未亲身做过嵌入测试,只是对嵌入测试有一点了解)。
嵌入测试与其他web测试大致类似,前期工作也一样,进行需求评审、计划编写等。
嵌入测试大体也分黑盒测试与白盒测试。
白盒测试大家应该会比较了解,这测试在嵌入软件与硬件未关联时进行测试,其中在此期间可能会伴随着一些黑盒测试,因为软件虽然需要与硬件进行结合,但是在未结合前对各项接口必须进行详细的测试,对接口输出数据与可能输入到的数据进行接口测试。
在确定软件无误以后再开始进行硬件测试,确定硬件之间的逻辑关系后进行硬件测试,对硬件与软件之间融合情况进行测试,通俗易懂点也可以叫做磨合测试。
最后嵌入测试还需要进行耐久性测试等等一系列的测试,统称可以归属于性能测试。
总结:嵌入测试大致与其他web测试一样,都需要经历模块测试、集成测试、系统测试。其实没有想象中那么神秘,只是嵌入测试对测试人员能力要求较高一些。
作者: Jackc    时间: 2010-10-15 12:17
本人天生愚笨,一直没搞明白为什么在测试中,需要将嵌入式和非嵌入式清晰划分?随着科技进步,产品的不断升级,嵌入式与非嵌入的界限越来越模糊。

貌似很多对嵌入式和非嵌入式的区别,理解为:单片机和PC的区别。

如果换一个角度比较呢: PDA和xp服务组件

从上面两组比较来看,嵌入式和非嵌入式并没有明显的大小之分。如果给PDA外挂一些硬件设备,比如:电源、硬盘、内存等等,那么PDA不就相当于PC么?

而嵌入式测试中,环境难以搭建?无非就是嵌入式环境大多不开源,不如windows/linux这些环境获取方便而已。如果开发/测试足够强大,完全能自己搭建的。而兼容性/移植性的问题,也是和os是否开源有直接关系的。
所以,嵌入式测试的困难在于开源资源少,更多需要靠自己解决。

说了上面一堆废话,其实就一个意思:对于测试者来说,实际没有明确的嵌入式概念。测试的根本出发点是测试目标的属性。
不同的产品,测试方法都不尽相同,所以不可能存在一种较细的规范涉及所有的产品测试。
如果非得规范一个通用的测试方法,无非就是:功能、性能等等这种概括性的东西。而这些东西的存在与测试目标是否是嵌入式有直接关系么?

所以,LZ希望得到的东西,还需自己根据产品本身去度量。
作者: wenwensw    时间: 2010-10-15 15:00
回复 24# Jackc


    我想说的是,嵌入式软件有些环境的确非常难以搭建,现在的硬件已经和软件分离不开,例如汽车中的嵌入软件,你要搭建测试环境说能随随便便就能搭建测试环境?飞机中的嵌入软件等,谁能随便搭建环境,嵌入式测试肯定对测试环境搭建有很高设计思想,要不然测试汽车软件还真要弄好几个汽车,那成本太大了吧!
作者: Jackc    时间: 2010-10-15 17:29
回复  Jackc


    我想说的是,嵌入式软件有些环境的确非常难以搭建,现在的硬件已经和软件分离不开, ...
wenwensw 发表于 2010-10-15 15:00


呵呵,难得在坛子里碰到一个讨论产品的:)嵌入式的硬件和软件分不开,非嵌入式的就能分开?也不尽然吧,只支持BT1.0的产品,你非得要它支持BT2.0,还不是需要改驱动。

测试目标最终都是需要发布商业版本的,所以,在验收测试阶段,肯定用的是真实环境。也就是说,你做的是一个汽车部件,那就真的得弄辆车来试试。好马,痨马,拿出来溜溜就知道了:)

而前期的测试环境,无论是嵌入式还是非嵌入式,都是搭建的模拟的环境。首先,嵌入式设备会分为两种:有OS的和没OS的。
没OS的,想搭建成本较低的前期模拟环境,只能自己code或嫁接最终产品的部分环境(比如汽车收音机部件,搭建一个车载收音机的外部环境即可,像发动机这些前期测试环境就不需要了)。

而有OS的,搭建前期环境通常选择模拟器,而模拟器的环境的搭建对OS依赖程度比较高。嵌入式的OS开源度往往又低。话说,如果连平台的核心API都不知道的话,怎么构建模拟器。

所以,开源程度决定了嵌入式和非嵌入式环境搭建的难度的主要因素(除非做的纯硬件测试)。

但是,请注意一点:无论是嵌入式还是非嵌入式,测试环境始终是人搭建出来的,非嵌入式测试环境往往使用工具开发商已经搭建好的环境,而嵌入式往往则需要自己手动搭建。
而这种测试环境的搭建,无论对应用程序级别的开发和测试人员来说,都是极其困难的。所以才会体现出嵌入式测试环境难以搭建的问题。

最后,说说汽车测试成本大的问题。我们可以看看游戏测试,网络游戏最终验收测试的成本小么?几个月甚至1~2年的试运行(不收费,不挂广告就等于赔本做),投入成本会小于一辆汽车?
所以,投入成本的多少不能以数字计算,而需要计算 投入/利润。当两者比较较小时,说明这个项目或这个测试环境的搭建本身就是脱离实际的。如,生产一个车载GPS,需要买一辆真车么?租车不行么?甚至坐公交/火车不行么?
作者: wenwensw    时间: 2010-10-15 17:44
回复 26# Jackc


    可能我理解比较肤浅,我认为嵌入式测试软件直接控制或者直接操作硬件的软件,他与其他web软件不一样,常见web测试(类似非嵌入式测试)他们不需要直接与硬件接口联系或关联,主要通过中间件等其他软件支撑,所以我认为嵌入式被分离出来有他的道理,但是非要说软件都与硬件有关联那也没办法,谁让咱玩的是电脑呢,这都算硬件。
   对于测试成本我觉得咱们2个人想法基本一致,没啥争议的了。
作者: Jackc    时间: 2010-10-15 17:51
回复 27# wenwensw

其实我以前也同样很纠结于嵌入式与非嵌入式的问题,折腾了很久,依然无果,我还是很难找到一个说服自己的理由,呵呵。

目前,我的理解是:且不论测试目标是否是嵌入式,测试活动都依据测试目标需求而定。

所以,就不再纠结于这个问题了,剩下的问题就只有:熟悉的测试目标与不熟悉的测试目标。
作者: woodcraft    时间: 2010-10-18 09:41
回复  wenwensw

其实我以前也同样很纠结于嵌入式与非嵌入式的问题,折腾了很久,依然无果,我还是很难找 ...
Jackc 发表于 2010-10-15 17:51




同意,嵌入失测试的难点在于标准的不统一与环境的多样性,反映在测试活动中,是回归测试自动化的难度太大。

但是在测试管理、分工等方面,嵌入式与非嵌入式都应该是一样的。
作者: 戴鹏飞    时间: 2010-10-18 11:19
分硬件、软件俩部分吧
作者: 戴鹏飞    时间: 2010-10-18 11:21
,所以觉得测不全,客户使用的环境部可能全能模仿回复 11# windone
作者: 戴鹏飞    时间: 2010-10-18 11:26
回复 10# Carl_Lew
我觉得硬件更要测吧,不过必须在批量生产前测充分了,在发布后就更麻烦了
作者: hixiongdi    时间: 2010-10-19 10:17
硬件在你测之前,已经由硬件工程师测好了。
作者: Carl_Lew    时间: 2011-7-8 09:19
回复  hixiongdi


  我们这边是硬件测试完成之后,在测试部门这里仍需要再次测试一遍,并且将软件版本 ...
yimiduoduo 发表于 2011-3-25 11:04



都测测也没坏处。但什么时候做什么事都是有重点的。硬件设计时因为成本和可修改性限制,一般在软件发布前就基本能测试通过了,软件发布后也只是验证下有没有遗留问题,如果软件都开发出来了还有一大堆硬件问题,这个产品能否及时交付就会大有问题了。所以你看看,现在有哪家公司会在系统测试部放一大堆硬件测试工程师?




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