51Testing软件测试论坛

标题: 有没有从事白盒、或灰盒测试的同学? [打印本页]

作者: kangkangss    时间: 2007-8-16 13:36
标题: 有没有从事白盒、或灰盒测试的同学?
黑盒无疑是必须的,最贴近用户的测试。

但在开发team提交代码后、黑盒测试之前,我们(所在公司)做过类似灰盒、白盒测试之类的么?

另外,同学们有多少从事这种测试的呢?
作者: cleverman    时间: 2007-8-16 13:52
同学们没有,老师就有。sdlkfj2
作者: seifer1754    时间: 2007-8-16 16:59
请 cleverman 老师 把自己的经验分享一下。

呵呵
作者: jiuquanzi    时间: 2007-8-16 20:30
原帖由 cleverman 于 2007-8-16 13:52 发表
同学们没有,老师就有。sdlkfj2


说了是老师,赶紧指导指导大家吧sdlkfj3
作者: kangkangss    时间: 2007-8-16 22:48
欢迎老师来讲课;
作者: cleverman    时间: 2007-8-17 02:32
原帖由 seifer1754 于 2007-8-16 16:59 发表
请 cleverman 老师 把自己的经验分享一下。

呵呵


我指的老师不是别人,就是你。我们不是讨论过吗,我撑死也就是个灰盒测试。你应该多share一下百盒的经验给我们。
作者: cleverman    时间: 2007-8-17 02:35
原帖由 jiuquanzi 于 2007-8-16 20:30 发表


说了是老师,赶紧指导指导大家吧sdlkfj3


大家别搞错了,我说的老师不是自己,是seifer1754。
我跟他讨论也学到了不少东西。
大家虚心向他请教吧。(我也顺便沾光)
作者: seifer1754    时间: 2007-8-17 08:50
原帖由 cleverman 于 2007-8-17 02:32 发表


我指的老师不是别人,就是你。我们不是讨论过吗,我撑死也就是个灰盒测试。你应该多share一下百盒的经验给我们。



我做的是嵌入式驱动开发测试,是直接用Debug脚本来进行测试,和常见的 Cunit, Junit 有很大的区别。
我测试的不仅仅是代码逻辑,还要考虑平台的因素。
如果你们感兴趣,我还是很乐意分享一下。
作者: kangkangss    时间: 2007-8-17 09:07
原帖由 seifer1754 于 2007-8-17 08:50 发表



我做的是嵌入式驱动开发测试,是直接用Debug脚本来进行测试,和常见的 Cunit, Junit 有很大的区别。
我测试的不仅仅是代码逻辑,还要考虑平台的因素。
如果你们感兴趣,我还是很乐意分享一下。



欢迎seifer1754;
另外问一句,seifer1754公司有类似白盒测试的部门么?
作者: seifer1754    时间: 2007-8-17 09:14
有专门的测试部门,一共4层楼。分为白盒测试,集成测试,系统测试(模拟仿真)。
我属于白盒测试部门的。
作者: cleverman    时间: 2007-8-17 09:36
牛。那你还去想去华为?
好像华为白盒也不多吧?
另外你觉得做白盒测试和开发的区别在哪里?或者说,如果现在让你去开发,是不是应该马上能上手呢?
作者: seifer1754    时间: 2007-8-17 09:49
想去华为,那时当初刚毕业的时候在深圳找工作时萌发的想法。
当时华为确实给我震惊的感觉,面试过程也很正规。
当时给我的印象太深刻了,毕竟是我第一次遇见面试如此正规的公司,而且公司的规模太大了。

白盒测试也是基于需求的测试,要根据详细设计文档,代码流程图来对代码进行走读,然后依据文档,流程图来设计用例。
选择边界值,覆盖分支。
如果是普通的开发编码工,仅仅是对照流程图写代码,那么是完全没问题的。
可是开发不仅仅是编码,系统架构才是最主要的,还要考虑到系统的移植性。我认为,这个才是开发的精髓。
作者: cleverman    时间: 2007-8-17 13:26
我有时间也想写一写我对华为的看法。

看来白盒测试转开发还是很smoothly的。搞系统构架其实是很不容易的,搞得好的已经不算是developer了,是architect。对一般的开发人员,还是不应该有太高的要求。移植性当然很重要,里边包含很多的经验和心血。不过如果从编程的角度上,我认为,软件整体结构的设计,算法,和代码的效率,安全性是很重要的方面。把这些能搞好就已经很不容易了。
作者: kolecat    时间: 2007-8-17 15:40
牛人们多聊点吧,对我们这些没有接触过的人多点有意的启发和初步的认识哦
作者: kangkangss    时间: 2007-8-20 12:18
原帖由 cleverman 于 2007-8-17 13:26 发表
我有时间也想写一写我对华为的看法。

看来白盒测试转开发还是很smoothly的。搞系统构架其实是很不容易的,搞得好的已经不算是developer了,是architect。对一般的开发人员,还是不应该有太高的要求。移植性当 ...



我以为,白盒和开发基本在一个level,架构是另外一回事;

我是从开发转作白盒,公司在白盒方面开展的不是太好,阴错阳差的做了测试的leader。

一直以来想搞懂并一直没有太明白的就是:除了现在比较普遍的黑盒和自动化测试,我们还能去做些什么?如何去做?
当然,也是要考虑到测试个人的水平,基本都没有编程经验。
作者: cleverman    时间: 2007-8-20 13:08
没编程经验,你能带领他们把黑盒,自动化做好,就很不容易了。
作者: seifer1754    时间: 2007-8-20 16:02
作白盒测试,比编码还要麻烦。
开发人员作一个小变化,测试人员会耗费几倍的时间来测试。
我感觉做测试,比做开发还要麻烦。
作者: kevin_park315    时间: 2007-8-20 17:14
开发就是在写Bug,测试只是告诉他们你们一共写了多少个Bug.sdlkfj3
作者: muerte    时间: 2007-8-20 17:40
上面的牛人,你们公司做嵌入式代码的测试的时候,使用什么工具,我也一直在研究这块,可惜没有发现什么好的捷径

msn:jason-dsr@hotmail.com
作者: seifer1754    时间: 2007-8-20 18:41
嵌入式开发最主要的还是交叉编译。
那么你做测试,肯定是要在目标机上面作代码的测试。
如果仅仅是测试代码的逻辑,那么采用cunit,Adaunit 都可以。
如果需要结合目标机的内存分配来进行测试,一般是在debug模式下来进行测试的。
例如用 gdb的远程调试来对目标机进行编译调试,在Debug模式下直接进行测试。
或者可以购买一些公司的编译器,会自带一些常见cpu的模拟环境。
例如 GreenHills 公司的编译器.
我这里因为编译平台是 PowerPC 和 Mips 两种。 使用的是 GreenHills 公司的编译器。
可以在Winows平台上模拟PowerPC 和 Mips 的环境。直接对代码在Debug模式下进行测试。
作者: kangkangss    时间: 2007-8-21 17:02
原帖由 cleverman 于 2007-8-20 13:08 发表
没编程经验,你能带领他们把黑盒,自动化做好,就很不容易了。


现在带的这个组叫做System Test,组员也都有少许编程的背景,并且公司也没有打算让我们做黑盒测试。

现在主要的方向是开发一些小工具辅助测试,应用一些开源的测试工具比如Selenium,JMeter,当然也涉及到基于开源产品之上二次开发。

除了这些外,我想开展一些白盒的测试。review code和做Unit Test估计行不通,公司开发部门很多,就靠组内这3,4人,累死也没效果。现在只能用工具做code的static analysis,比如findbugs。

除此之外,不知道还有没有什么更好的模式或方法?请教老师们:)
作者: cleverman    时间: 2007-8-22 02:57
你们是在什么系统上开发的呢?看起来你搞得挺不错的,挺有想法。
Code coverage搞过了吗?
Automation也可以搞吧。
还有API Verifier, Prefast 等等工具也可以用吧,如果是在Windows上。
不过你们测试的比例确实太小了点,看样子你最好去个测试正规的外企好好搞搞。一般正式点的外企开发测试都是1:1。现在人手少,资源有限呀。
而且大外企自己内部有很多资源,工具可以利用,不用自己在外边找来找去,试来试去。
作者: kangkangss    时间: 2007-8-23 12:36
原帖由 cleverman 于 2007-8-22 02:57 发表
你们是在什么系统上开发的呢?看起来你搞得挺不错的,挺有想法。
Code coverage搞过了吗?
Automation也可以搞吧。
还有API Verifier, Prefast 等等工具也可以用吧,如果是在Windows上。
不过你们测试的比例 ...


回cleveman兄:
我们的产品线基本各个平台都有,从page到client,到server。
Code coverage和Unit Test开发和我们都有在做,Emma、Clover等。不过code的coverage不是很能说明问题,仅仅是一个指标而已。测试更注重case的coverage。

不过公司下一代产品基于ajax,用到了不少web service的技术。测试就更加具有挑战性:(

还有API Verifier, Prefast 等等工具,我的却没有用过,有空要学习下。

可能是我语言不清,cleverman兄有了误解,小弟的公司应该算是业界比较著名的外企,市值曾经超过过Microsoft。公司的测试/开发 比例超过1,只是我这个team人比较少而已。测试流程应该还算先进的吧。
作者: cleverman    时间: 2007-8-23 12:58
我说的呢?看你搞得东西也不像是小公司搞得。不过就是奇怪为什么你这个team人少?新team吗?
我对Web2.0也比较感兴趣,虽然我不是这一行的。有时间多交流呀。
作者: kangkangss    时间: 2007-8-23 14:06
这个team做的事情不跟具体项目,有些research和技术support的味道(在QA部门)。所以兵马不足sdlkfj3

呵呵,有空和cleverman大牛学习。
作者: cleverman    时间: 2007-8-23 14:41
research,很不错呀,可以自由的去做些深入的东西。
我还是做传统桌面的项目,今天老板要求我去做code review了。我是想在penetration test上发展。
你有时间介绍下Web上的测试经验吧。我感觉跟桌面软件有很大不同。你们Web上的自动化是用什么工具,怎么搞得,搞到什么程度呀?
作者: seifer1754    时间: 2007-8-23 14:42
kangkangss 兄, 你们公司的白盒测试是如何展开的呢? 对于白盒测试是否采用了自动化测试?
能否稍微透露一下?
作者: seifer1754    时间: 2007-8-23 16:48
不知道你们是否接触过白盒测试的回归测试。

我感觉做白盒测试的回归测试,简直是噩梦。如果代码逻辑有变更,基本上测试脚本需要完全重写。
我真的很想了解一下,你们的公司中,白盒测试怎样的流程,采用了哪些测试方式。
作者: kangkangss    时间: 2007-8-23 23:18
应seifer1754的问题,我谈一下我对白盒、自动化测试的一点看法。

先声明sdlkfj3 ,仅是个人的看法而已。

白盒测试,我的理解就是代码堆砌出功能,开发人员专注于代码(相关的技术)、片面的功能点,太low的level;测试人员review PRD、写case、用case来验证逻辑功能,基本是行使客户的职责,太high的level。
所以很多情况,具体的开发人员除了自己的单元并不了解其它、包括全局的逻辑、功能,测试人员只了解功能而不知实现的细节,哪怕一点点;

白盒测试,我想,就是用来处理中间这段雷区。在保证功能正确的同时,能从代码、设计中找出潜在的缺陷也许就是它的职责。

Code Review,Code Static Analysis,和写代码进行部分功能单元(比unit test粒度稍粗)的验证是我见过最常用的白盒测试手段。好像前2个更容易操作,当然也是基于不同种类的程序。
我基本是拿web程序来说事的。因为现在稍微有点规模的web程序都是基于3层或3+层框架,俗称MVC来开发,就算设计的再好,每层之间的dependcy对测试来说都是个噩梦。所以说前两者,在“软件测试”书上称为白盒静态测试用的比较多些;

自动化测试,我以为就是在high level作黑盒的测试,作用是用机器来节省人力。
在web上,随着web2.0兴起,页面越来越花哨和复杂,部分的功能从server迁移到page上去执行,从瘦客户端变成了胖客户端,自动化测试越来越难做sdlkfj7

我的看法是,不论自动化程度有多少,只要能节省人力就算达到了基本的目的。千万不要去追求太纯粹的自动化,就是什么都要求自动化操作,比如在跑脚本中发现问题要自动的去bug track system上去报bug,自动的把结果report发给领导什么的。还有刚开始不要定太高的目标,要把项目95%的case自动化掉等等。

我的一点浅薄认识,献丑sdlkfj1 sdlkfj1
作者: cleverman    时间: 2007-8-24 03:46
Web上的自动化测试大概有什么比较流行的工具呀?你们的自动化大概能达到百分之多少呢?
你理解的自动化我比较赞同。都应该按照实际情况来做,不能瞎搞,乱搞。
作者: kangkangss    时间: 2007-8-24 09:06
业界领先的商业工具有QTP,SilkTest;开源的有Selenium。

自动化程度跟产品关联比较大。

相对简单的web程序,没有email、L10N之类功能的我想能达到70%。复杂的能到50%就很了不起了。
作者: seifer1754    时间: 2007-8-24 09:30
web上的自动化工具常用的还是QTP吧。
作者: du_juan    时间: 2008-4-15 14:21
不明白大家为啥说话时老是中文,英文夹杂着写,
要用中文就用中文
要用英文就用英文
这样夹杂着写怪怪的感觉
拍砖吧
作者: afeng    时间: 2008-4-15 14:36
英语环境里待的时间长了就这样,倒不是故意炫耀,有时候是习惯
作者: dee    时间: 2008-4-15 15:37
目前做白盒不容易阿。只能慢慢从黑向白的转型,目前只能处于灰盒阶段。。
作者: yuxiao    时间: 2008-4-17 11:09
讨论的不错嘛,赞一个
作者: 厍仕杰    时间: 2008-4-20 19:35
都挺有技术含量的么?好啊!
作者: bubu123    时间: 2008-7-14 23:36
我人主要是对接口进行测试。我觉得这个测试发费的时间不是很大。也蛮有效果的。发费的时间不是很多但效果却比较好。像WEB SERVICE接口就可用soapTest进行测试比较简单。。
不过接口测试只能考虑到参数的各种情况。




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