测试工具与流程讨论

                

                           测试工具与流程讨论

孟言:CSDN的网友大家下午好,非常高兴又一次跟大家在CSDN的视频节目中间见面,今天我又很容幸请到两位测试专家,我左手边的这位是来自IBM  Rational测试技术及工具专家杨敏强,我右手边的这位是贺忻,是一位作测试网站的站长,这个网站的名字叫测试时代网站,相信也有一些好的积累了,今天因为我们虽然是一个开发者的网站,但是我们知道开发与测试是不能分离的,近几年越来越多的人认识到测试在某种意义上对于产品的质量产品能否成功也是非常重要的,所以我们破天荒的作一个测试的节目,首先请两位给我们扫扫盲,我早年旁边有这么一个小姑娘,总给我挑刺,我还挺烦她,但是现在知道她说的话还是对我们有一定帮助的。后来对于测试好象测试现行这种观念好象进入我们开发人员的思想中,我们知道应该为自己的代码负责,但是应该说这些只是测试很小的一块,软件测试你们来整体来描述一下吧?

   

贺忻:首先我说一下我对软件测试的理解,大家知道在我上大学都是以DOS为主,那个时候386就是好机器了,那个时候还有KV100,还有WPS,现在已经很难听说了,那个时候的开发人员充其量是一个或两个,随着那段时间过去了,开始做成团队化的工作,那个时候我们陆陆续续出来了,有WPS,在中关村,那个时候的团队就变成20个人30个人,沟通起来就不是那么容易了,而且沟通之间还需要有成本,有质量的要求,因为那个时候在做下来的时候就需要有一个两个人员不管你是兼职专职也好,对产品进行调试也好测试也好,都需要调节的,大家想一下为什么那个时候KV100会出名,所以那个时候更多时强调在市场的空白处理上,当我发现一块空白上,我们用KV100不能使了,WPS不能存盘了,我们没有办法,陆续随着填补市场空白的可能性越来越小了,这样的事情已经很少了,这个时候同样的领域至少要两家到三家在竞争,竞争什么?一是竞争对未来客户的理解,另外一个就是质量上的竞争,比我作的比你好,毛病比你少,而且测试人员的地位越来越高,而且对于测试人员的容量来说一直在说目前软件测试职位或者软件测试的集中式不是很火,会不会只火一年两年的时间?首先前面会有一个判断,测试人员前期的积累会比较少,因为这两三年才进入到测试阶段,而且高级的测试人员会少之又少,软件开发的竞争都会过渡到软件测试的竞争,而且测试人员的需求量要远远高于.NET的开发人员,java的开发人员,他的市场容量是一个市场开发的一个和一个系数,而且对于软件测试工程师这个岗位来说,小企业是不需要的,它的目标是把产品卖出来指标回来,而且非常遗憾的告诉大家,由于测试的初级门槛很低,这块的市场容量会很快饱和,中高测试容量的岗位都在非常需求的地步。

    

孟言:据我所知开发人员与测试人员比例这个关系,至少在未来的比利是大于1的,我想问杨敏强一个问题,因为我知道你在Rational这个领域已经作了五年以上了,对你来讲应该算是资深了,测试这个问题很多人都知道测试软件的重要性,但是中国的这个东西很多都没有稳定性,所以大家也在问这么一个问题,测试以及提高产品质量这个事,他更多是一个技术问题还是一个管理问题还是一个工具问题?因为我知道你Rational是做工具的。

   

杨敏强:我觉得像我们说一个问题不外乎两个方面一个是流程问题,第二个就是流程上发生的一些环节问题,我更多的想从测试这种技能的角度来谈我的观点,大家都知道Rational RUP  里面有一个DSPIN,他并没有把测试放在一个阶段,只是每个技能掌握的深浅不一样而已,那我们说要完善这种技能的话,这种环节每个流程当中哪个测试完成的比较好?我们务实的是什么呢?就是测试的可操作性,我们说好的测试方法最终是不是可执行?第二个就是流程上,流程上我们最初关注的是测试管理团队,就是系统测试团队,但是大家可能都知道我们的测试开发团队都要稍微去覆盖一下,可能至少要考虑一下怎么样跟开发部门沟通,我觉得这两方面都解决了就会好一点。

   

孟言:我理解你说的问题,实际上是一个管理问题,但是具体到各个环节的时候可能既有工具又有管理,实际上是三个领域都有,那贺忻呢?

   

贺忻:其实从偷懒的一个来说三者都重要,但是从国内来说,首先测试人员的储备会比较少,而且高水平的测试人员储备也会比较少,实际上他对管理测试团队和管理来说他首先必须要有具体的部门和具体的人来负责相关的事情,再流程搭建好了以后,需要注意一点以后,测试永远都是辅助流程,他不可能成为你的主流程,他是为了保证你的时间质量,对于测试本身来说,我们首先要明确跟各个部门开发的接口明确以后呢?就是开始运行了,这些体系你会发现具体的问题,版本怎么作?怎么提升?遇到具体问题的时候,大家都会有具体的解决方案,缺陷管理,缺陷管理既可以公司自己作,也可以用Word作,可以用EXCEL作,哪一种实施成本最低?最符合我公司的需求,而不是说我们看到了Ratinoal这样很好我们搬过来,我们看到一本书我们觉得很好把他照搬过来,我只能说越通用的东西越不是最适用的东西,所有的工具必须符合你本企业的发展,符合你部门的流程采用,这样你才会越来越往前作,不可能我一步迈到了一丈两丈高,比如我前面可以选择开元工具,当开元工具遇到问题的时候我可以找其他工具。

   

杨敏强:对,我蛮认可 贺 先生的观点的,IBM这边也是这样的,其实我们在这一块作业务交流的时候你先把业务流程分析清楚,然后再进行改进,从流程着手,因为流程是支持你主商业目标的。

   

孟言:说到流程问题,他在开发过程当中他肯定包含一些质量反馈,但是我想就是说现在的话,正式问题所在,即使现在的公司没有专门的测试人员,我指的是中小型公司,他也具备某种测试的这种功能,比如说追踪BUG,他可能都会有,现在我有一个问题,你们这些专业搞测试的人,能不能告诉我们这些业余测试的人?这种代表先进测试水平,我们说现在到了一种什么样的状态?

   

贺忻:我们有一个开发软件测试方法,一直在强调测试驱动,在一个非常有效的或者好的开发方法里可能我的需求做出来了,我们就不去考虑了,我们先用自动框架,先作我的OWN,这些就是测试我没写的代码,那换句话说我的这个自动测试框架也是自动迭代的过程,我现在说的自动测试只是局限在单元范围内,我每一天拿到代码之后都是经过了详细的单元测试的,但是单元测试的好与坏会直接跟你的测试相关,比如我有1、2、3测试了,那么我这个测试里通过了,同样我有100个测试,当然具体选哪个数字在于你的单元测试里,但是这个是通过了但是好坏确实天壤之别,这个内部会有适当的控制,这个时候逐步引到了后期测试人员,有可能有开发人员来做,有可能有测试人员来做,一直引进到后面的测试,我们集中某种测试,这些接口在什么地方有呢?这些接口的详细描述就能够判断哪些程序或者哪些部件是非常高的,或者有一些数据是查询或者其他的一些,像我刚才说的那个他就是高资源消耗,在这个时候就要考虑它,它的测试邮件就会提升了它的外部借鉴模块,后面可能还有变化,当对每一个模块去作相关分析的时候,我的测试有线及和测试功能就会显现出来了,这样的性能方式就显现出来了,这块只是一个简要的描述,假设我们这些都做好了,开始作系统测试阶段,反过来再问大家一个问题,最好的需求规格书是什么?就是产品的本身,可能在现有的阶段下,他是一个比较理智的一直进行下去。

   

孟言:刚才贺忻已经给大家介绍了如果组织软件测试的一个全过程,那我就先问一下,Rational在方法学或者软件测试思路或者工具上有没有相配套的方案?

   

杨敏强:我觉得从两个层面来说,一个是支持,第二个过程就是流程,就是什么时候我用这个流程?从技术方面有两个层面,一个是代码分析,就是代码不支持我就可以发现,第二个层面我们是作过颗粒度的功能测试,这个密度怎么去理解?我可以测一个函数或者一个方法,我要测它的功能,然后多一点的话我的测试方法也就是作了一个框架,第三个层面就是性能测试,我们说你侧一个系统的话,你要用他的可用时间,因为还有很多软件它的暴力有一些是发挥不出来的,我们说测试是一个有正确结论对与错,举个例子,比如我给这个函数作一个1或2,他们之间是方法与方法之间怎么调用的,我们是有一些图来做一些分析,这是我刚才做的一些静态的分析,什么时候去用这些技术呢?第二个就是流程问题,其实我们觉得Ratinoal有两大块,Ratinoal也分系统测试,那么我们说从系统软件环节来看就是代码复杂度的分析,他会用到软件的测试,甚至还可能用到自动化测试,我举个例子,为什么会用到自动化测试?我作开发的人我也要用测试手段来做测试营销,因为我不这么作的话,我不可能作一个测试直接交给开发区管。

   

孟言:这个问题是一个通用的难题也是很普遍的问题。

   

杨敏强:对,其实Ratinoal在谈这个问题上不是在谈什么人来用而是看你会把这个作为什么样的一个效果?我要访问DB2性能高,开发阶段这些技术里都需要用到,那到后期偏向测试人员来做,比如作什么事情都有一个优势的,作测试人员它的优势在哪?就是他看系统更全面,还有它的思维方式,他和开发人员的思维方式不一样,那么他可能会去采取一些自动化的手段,可能你要作压力测试,为什么你要作压力测试和早期做压力测试的目的是不一样的?后期是作两个CPU,那么后期是需要两个手段,那这两个手段是需要不同的你可以去用达到整个的效果。

   

孟言:贺忻你觉得这段技术手段让你心动吗?

   

贺忻:我觉得这些手段肯定要好,但是从我的感觉来理解,通常情况下我们觉得这些工具更像一把剑,如果剑再好,这个人不行的话,也不行,我们怎么来保证有这个人来使?我们必须要有这个岗位,具体到人来说具体用哪把剑已经不使用了,而且明确我公司的一个任务,我到底用他来完成什么?比如给你一把悬铁剑太沉了,给你一把鱼春剑太短了,我是对于公司的整个把控每个点的不服,当这些点完成以后你会有很多很多空间,在这些解决方案内部,你只需要解决自己的,而不是求全。

   

孟言:不过RUP他关键可不是解决一个关键的问题,他实际上是为了公司的管理提出一个实际的参考,那我想知道Ratinoal在RUP有没有管理层的模型?在管理子测试上有一个很多的问题,就是究竟给测试有一个多大的权限?什么事情他说了算,什么事情他说了不算,我不知道RUP提供一个什么样的测试?

   

杨敏强:其实我们说RUP这套流程他并不适合与所有公司的组织,他对于不同组织的应用他可能有不一样的流程问题,你都要明确你的核心思想,RUP第一是风险驱动,我要尽可能的去发现质量中的风险,第二我每一个活动都要有附加值,否则的话,就没有意义,没有价值,从这些角度你再看RUP你可以更适合定植RUP的流程,你要理解流程为什么要这么设计。

   

孟言:对,我们最近也跟Ratinoal其他工程师提到过,对于RUP有一个新的测试叫RMC,在测试里面他属于RUP的一个技能,其实我们在RMC里面他是RUP的一个升级,以前客户说RUP好,但是定植不方便,你可以从里面抽取出来很适合你公司的流程,那么我们在看RMC里面有没有测试呢?肯定有因为他是RUP的升级版。

   

孟言:我知道核心因为接触厂商和测试的工具比较多,你觉得市面上从测试的工具来讲大家有哪些可以去关注一下厂商和方案,你认为Ratinoal目前处于一个什么状态?

   

贺忻:其实目前从市面上作这种工具的比较多,就是国内的叫美颗粒,他会从功能测试软件测试有解决方案,从Ratinoal有一系列的解决方案,还有像QA等等一系列这些都是商业工具,像可选择的还是比较多,像原来在微软出来的WAS,大家可以到open sos.net你可以查半个管理或半个系列可以列出很多很多选择,都是可行性选择。

   

孟言:下面Ratinoal好象马上要推出8?

   

杨敏强:他现在是7.0,8应该是明年推出,其实Ratinoal在这三年多有一个很多的变化,这变化体现在两大思路,一个是整合,他以前提供的东西都是什么呢?就是你会面对很多信息的舞蹈,但是是不是错误的呢?不是错误的,我们在前期会负责职责部分,但是现在会发现无论是衔接还是其他的解决方案测试的时候他也谈到解决的概念,我测试的结果怎么样反映到我的测试团队需求团队里面去,第二个思路是开元,标准化,Ratinoal他就认为测试应该和.NET上作一个插件,这些测试的手段都可以和我们的ID作集成,其实这里面传递了一种理念,我要给任何人或者开发人员要作一个最适合的手段,这是我们在向开发人员一定用的不好,但是现在我们在同一个界面,这样的话,回到我刚才谈到一个观点,就是Ratinoal这边就是让测试环节切实可行,就是谈不是太多的方法,就是让你不是用太多的方法去解决这个问题,就是我看到Ratinoal在这三年的变化,就是集成型第二就是管理化。

   

孟言:从更远的角度来讲,贺忻你觉得再往前走会发生什么状态?会不会将测试和开发技巧性的工作?会不会逐渐的使这些工作岗位变成另外的一个性质?可能就变成更具有配制或者设计味道的职位而具体地下的脏活都有计算机来完成?

    贺忻:我的观点就是这种会产生,就是像黑客帝国那么复杂的一个机器人,他不会光靠编码都是不足依靠几十个几百个上千的程序员去完成的,我们人类最浩大的工程就是WIN的W  STAR,我们的机器人编码一定不会少于WSTAR,所以我判断那时候的编码设置一定是计算机自己完成,人只是一个给他输入一些指令,然后从我现在的一个想法来说咱们可见到的一个场景来说这种编码方式或者您刚才说的脏活累活留给计算机来干,如果那种场景能够实现的话,已经经过了翻天覆地的变化,已经不需要开发人员编写代码,这个时候才不需要测试人员测试这个基本功能,不会有一个角色在谁之前先进入,也不会有一个角色落后。

   

孟言:Ratinoal想往这方面发展吗?在测试这边?

   

杨敏强:我觉得Ratinoal让他觉得可行的,就是他现在蛮务实的,他在帮客户一点点的去解决,我也没有更多的去想。

   

孟言:你能不能这样,给我们说一个比较感兴趣的问题,就是从测试工具里面,从新功能里面,你们觉得哪几项功能柳絮一下?比如能不能给我们生成功能型的代码?

   

贺忻:我觉得他在整个过程中他在逐步完善的过程,但是从什么时候我们才知道WINdow存在了,在这个情况下每一项新情况下发展或者后续的阶段发展从软件测试本身来说,实际上所有的测试人员他都希望点一点鼠标,一个是枯燥一个是乏味,还会遇到一个问题就是提交,这些操作换句话说我要重复上百遍,相对来说比较枯燥的东西来说程序员希望他自动完成,我看到的都是一个完成工作量的问题,录制回放和脚本驱动,如果你要测试的话,你要录一个脚本,录制的过程就是测试的过程,发现新的可能性被最小化了,我判断现在的测试工具是解决测试人员工作量的问题,或者从简单的操作上回归到更有价值的工作量说,这段是非技能型工具,作为功能性的测试来说他是解决测试人员的效率成本上,这是我的一个理解。

   

杨敏强:其实我是这么看的,就是自动测试这块还是工人测试这块,我觉得目前这块是一个测试技术,就是脚本是一个测试驱动,其实你测试的东西不一样或者你方法介于什么?就是他可以帮我们作一个很好的测试,我们说这个方法的圆形就不可以再变了,这个是可以保证我的测试代码去回馈的一个问题,其实我觉得这个观点可以延伸到代码问题上来,我的观点是方法不变,我后面再去写一些逻辑,如果这个界面的人去实现测试化的脚本,那是不是这个角度的可维护性的测试会高一点?以前我们谈一个测试工具都是系统人员来做,的确这个系统测试界面不是系统人员开发的,但是一样的道理,如果另外一个人来写,而不是系统来写,它的方法会变,那可不可以说这样作呢?因为他把你的测试工具融合到你的ID里面了。他是把理念变成可行性的思路了。那我们说是不是可以采取一种折中,就是这种实现谁来做?开发人员去做,开发人员写一个界面就是不可能说我不测就去开发。

   

孟言:实际上外部和测试一直是测试比较让人头疼的问题。

   

杨敏强:对。

   

孟言:实际上你的7.0里面已经包含了这种?

   

杨敏强:对。

   

贺忻:其实我有一个观点和杨敏强不太一致,就是现在的软件开发是一件作软件产品一个是作软件项目,作产品改变它的需求能力把握的更强,换句话说杨敏强它的方法更适合纳入进去的,它的方法变化会非常非常多,他可能给了用户界面还会再改,所以在这方面说这种方式就不太可行了,我常用的项目需要30多个人,我不可能让30个人全在那呆着,然后相对更新会快很多,反正都会更制与相关的解决方案。

   

杨敏强:其实从Ratinoal这边来说,他作测试工具这么多,他不见得所有的然间都可以得到自动化解决,我可以减少工作量,那我们说其实这时不同的项目不同的团队来做,假如我这个人的能力很强,那我觉得我作脚本很值,所以说可能有一些具体的情况再作一些具体的分析。

   

贺忻:如果说这些脚本全部轨道开发人员来做,那测试人员作什么?我只需要执行就行了。实际上我可能再澄清一下这个,首先开发人员和测试人员的方式是不一样的,在讲课过程中我们一直把开发人员和测试人员作一个类比,我的目标很明确我只要把目标集中就可以了,但是对于测试人员他该不会有一个系统的目标,所以对于软件测试工作来说,他更形象的比喻像牢狱,拿一个网我不知道有多少鱼,我通过方法流程从这边捞到那边,就是2两以上的鱼都没有了,所以对于软件测试人员他很重要的目标就是我没有目标我的工作是尽量把我的网尽量的织的严密一些,以及我要采用的具体测试方法测试工具,或者跟开发来比,最可怕的一个方位,这个范围要自己圈定,在整个的开发过程当中,就算这个工开发人员在使,他会很大程序上去组织你对界面的这种成本,会相当程度上组织,但是不会回避,他更多的是保证我开发的代码在正确的场景下实现,后面在作系统测试的时候它的机能是什么样的呢?在主业务流程之下会有多少辅助业务流程?这些辅助业务流程会从哪块进来?而且这些方面不会用客户需要人,需要有一个有经验的测试人员。

   

孟言:工具技术不能万能的,他的进展也是非常有意义的。

   

贺忻:对,我觉得工具是永远替代不了人的。

   

孟言:那今天很高兴和两位测试人员谈覆盖的测试问题,如果感兴趣的网友可以去测试网站还有尝试一下Ratinoal的一些新的软件工具,好谢谢大家。

 

 视频来源:http://live.csdn.net/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值