51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5100|回复: 22
打印 上一主题 下一主题

[讨论] 自动化测试当成很厉害的资本,为什么?

[复制链接]
  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2014-7-17 17:12:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
     楼主| 发表于 2014-7-17 17:12:09 | 只看该作者
    作为一名曾经的测试管理者,我也被问过无数次这类问题,我的看法很简单:
    1、无论是自动化测试还是手工测试,其核心永远是测试用例。无效的用例,用任何方法去测试,都不会达到良好的测试目的。
    2、自动化测试的目的是节约人力成本及时间成本,把枯燥的回归测试自动化起来,缩短项目周期。任何为了自动化测试而自动化的项目,都是耍流氓。
    3、我见过资深的测试人员,对业务,对行业的了解不亚于我这名产品经理,可以轻易指出设计中的不足以及逻辑盲点。也见过号称牛逼哄哄的自动化测试人员,连TCP和UDP的都区分不来,遇到WebService就束手无策。企业需要各式各样的人才,自动化测试人员不比任何其他测试人员更高一等,大家只是分工不同。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
     楼主| 发表于 2014-7-17 17:12:25 | 只看该作者
    说点自己的不成熟看法。
    将自动化测试当成很了不起的资本,源于国内对Coding的崇拜,譬如一个Dev跟一个QA放在一起,大家的第一直观印象就是——前者的技术能力比较强。
    实际上,这个问题分两面看:
    1. 自动化测试能力是不是资本?
    是,当然是。测试自动化是软件测试的大方向。作为其核心组件的自动化测试的引入将QA从繁重的重复劳动中解放出来,完成靠人力难以组织的测试,优化测试资源,提高测试效率。优秀的自动化测试框架、完备的自动化测试脚本集、丰富的自动化测试工具将使得测试的效率倍增,对产品质量保证起到积极作用。一个有自动化测试脚本、框架、工具开发能力的QA,更有竞争力是一件无可厚非的事情。 从招聘方的角度看,就如同两台配置差不多的笔记本,一台多出俩USB口并有一个HDMI,当然会优先选了,虽然他也不一定用得到。
    2. 自动化测试人员一定强于手工测试人员?
    不一定。我接触过的自动化测试的QA大致有两种:其一,专职automation,他们从进公司开始就定位为自动化测试人员,有的公司的automation team甚至都不隶属于测试团队,他们从进公司开始就几乎只接触脚本和工具,自动化的需求对于他们就等于一个开发需求。这类的测试人员对产品本身了解并不多,且不深。更倾向于一个开发人员的工作方式。其二,既做手工,也写过一些自动化脚本。这一类人实际上仍然算是手工测试人员,但会小范围参与到一些简单脚本开发,多数是在已有的测试框架上进行的搭积木的工作,缺乏创新空间。对于这两类QA,前者因为很大程度上仍工作在一个Dev的模式下,可能存在的缺陷主要在测试的方法、感觉和思维方面,后者则完全可以作为一个手工测试人员去做横向比较。国内自动化测试的现状,使得投放入市场的自动化测试人员,以第二种类型的居多,且目前国内普遍的测试情况仍然是手工测试比例为重,所以如果招聘方简单地用是否做过自动化测试来过滤人才的话,也许会错过真正适合职位的测试人才。而测试人员如果单纯为博取一个名头而局限于第二种状态的话,对自身真正的自动化测试能力的提高也没有太多好处。

    关于手工测试顺便说点,必须肯定手工测试对于一个测试人员成长的重要性,参与手工测试可以了解架构、熟悉产品、培养测试的感觉。测试感觉和思维,说起来貌似很浮云,但从事过测试的人应该很清楚,同样的一个测试任务,交给一个具有良好的测试感觉、思维缜密的人和交给一个把测试当成体力劳动的人会有什么样的产出差异。手工测试不应该只被等同为手工执行测试,其更重要的部分应该是测试的架构和用例设计。所有的测试执行都是以测试用例为基础,测试用例设计的好坏,对测试效率、测试覆盖率、defect发现几率产生直接影响。测试用例设计中会用到很多方法去优化和评估,涉及到离散数学、概率等领域知识的应用,是个挺值得下功夫的领域,对于一个手工测试人员的自我增值也是有帮助的。
    不好意思。。。跑题了。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
     楼主| 发表于 2014-7-17 17:13:08 | 只看该作者
    这个问题也能上升到“国家的浮躁”和“个人的浮躁”,我对此深表佩服。

    先从问题说起吧。“在国外,资深的软件测试人员大多是手动测试”这句话的描述就非常有意思。怎么定义“资深”?如果说“资深”是指工作年限长,在社区混的脸熟的人,那这种情况再正常不过了。国外的软件测试起步比国内早的多,自动化测试是90年代以后才真正开始逐步成熟,那些年限长的,混得脸熟的自然是早早进入这个行业,并以手工测试为主的人。当然,各种测试的认证机构和组织的惯性自然也为这一情景贡献了力量。

    要说到测试这个行业的知名人士,James Whittaker算吧,你觉得他是“以手工测试为主”吗?别因为他写了本《探索式测试》就认为他只懂手工测试。Google的Copeland算吧,同样,你肯定没法断言他只会做手工测试。

    一个个人单独拿到讨论没什么意义,看看公司吧。Google的测试工程师有手工测试技能,但是肯定不是以手工测试为主的;Facebook没有专职的测试工程师,也肯定不是以手工测试为主的;Microsoft算是在软件测试方向上偏传统,而且建立测试队伍的念头足够长了,你猜他们是以手工测试为主吗?

    国内的软件测试行业是从90年后后期才开始真正发展起来的(记得我98年进入测试行业时,有测试团队的国内公司都屈指可数),90年代后期正好是自动化测试开始蓬勃发展的时候,从这一点上来说,国内的软件测试行业其实是站到了一个好的起点上(当然,由于缺乏积淀和对自动化测试的理解不足,很多企业内的所谓的自动化测试进行得并不顺利,这些故事有时候我可以给大家讲讲讲我的经历)。

    测试的价值不在于体现测试工程师的厉害,也不在于通过发现缺陷寻求满足感。在我看来,测试的价值就和其他所有组织内的岗位一样,是看你能否为组织产生可见的价值。动不动就拉出两条线,国外:xxxxx,国内:xxxxx,这样的比较其实毫无意义,先不说国内测试方向做的好的企业虽少却不是没有,单说一点:测试在不产出被认可的价值时,如何能被公司和组织认可?

    拥有手工测试技能,想要做一辈子手工测试,在国内并非不可能。只要你真的够牛B,能够快速进入任何一个行业,能够搞出你的理论并能真正产生价值,我不相信你不会被接受(题外话,如果那位手工测试工程师能让我折服于你的技能,我保证给你不比任何开发工程师差的薪水)。

    怨天尤人没有用,路是自己选的,大回报需要大投入,大投入未必能产生大回报。这不决定于环境,只决定于你能不能让自己的努力产生被人认可的回报。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
     楼主| 发表于 2014-7-17 17:13:49 | 只看该作者
    测试最重要的还是对系统以及需求的理解吧。至于是不是自动化,更多是取决于产品的生命有多长,以及自动化后成本有没有减少。
    关于对系统以及需求的理解,这个是测试工程师最基本的要求,但是很多测试工程师现在都只是知道怎么跑case,把自己变成一个自动化测试脚本,而不是去理解整个系统。好比你搞web测试,只是测那些页面跳转会如何之类的,那基本上测不出什么bug来的。即便能测出,也不过是运气问题。但是如果你理解了后台和前台的交互,有哪些数据,哪些地方可能会溢出之类的,那会更容易找到bug。
    对需求的理解,也是很重要的,我见过做性能测试,有些测试工程师不理解产品需要的开机时间是多少,觉得反正没有具体的要求就没所谓。而有些则觉得很重要,拼命提CQ要求修改的。最后在客户验证的时候,发现后者的理解是正确的。这些很模糊的东西,更多需要个人理解才可以获得。或者说,这叫经验。
    自动化测试的目的更多是减少测试时间,把更多的时间放在设计用例,以及理解需求和系统的阶段上。但是如果做一个以后都不会再做的产品,还开发了一堆自动化测试的脚本,并且在软件里面写了一堆log,那基本上是费时费力却得不到任何实质上的帮助,因为开发这堆脚本和log的时间,已经够测试几轮了。
    国内对自动化测试的向往,无非是因为国内测试人员玩的都是苦力活,而不是技术活。你随便找一个测试的,你问他对系统了解多少,多半是只会执行case的人而已。甚至乎,这些人在完成了任务之后,基本上就不再学习了。

    -----------分割一下,一些内容和题目有关系,但是不是太大。写得也很乱。------------

    近年来国外有个叫做SBMT(Session based test management)的东西,建议大家看看。有条件的公司建议实行一下。这种测试方法严格得区分开了checking跟testing,对测试人员的要求很高。并且SBMT里面不存在固定的所谓的测试用例。
    现存的测试用例的测试方法是按照ieee以及几本一九七几年写的老书确立起来的,虽然名曰为Best Practice,但是实际上是效率很低的。因为一个测试用例测过几遍之后,其信息量几乎为0。根据信息论,越确定的东西,其信息量越低。我实在搞不懂一个check了几百遍都没问题的东西为啥要用人来check而不用机器来check。
    严格意义上来讲,自动化测试应该叫做自动化检查。它只是checking而已。什么叫做checking?checking就是按照需求文档一条条打勾。什么叫做testing?testing就是探索产品本身的结构以及分析产品可能的问题。
    SBMT是通过认知论的方法,触发测试人员的思考,让测试人员自己去了解系统。
    一般SBMT会有一个charter(即要测的功能),几个Mission(想要达到的目标)和一份note。格式如下:

    Charter:
    To test WORD
    Mission:
    1. To find out memory leak scenario in word.
    2. To find out several boundary values of word.
    Note:
    1. I blah blah...

    通过Mission,一般测试人员需要为了达到这个目标而想一些测试用例,而这些测试用例的建立则不得不依赖于思考,而不是之前已经写好的脚本。测试人员必须把自己的思考和测试步骤写成Note。当然这也解决了测试工作无聊的这个事实。

    另外,testing的本质目的只是提供产品的信息而已,是一个“辅助”功能,不是一个生产功能。产品的质量完全不能通过testing来保证,所以才需要用到工具和流程,这才是测试需要进化的方向:想办法给工具和流程提意见,改进(或创造)有利的工具和流程,把测试本身提供的信息Build进产品里面去。


    测试这个职业,这几十年来几乎没有啥进步,所有提升软件质量的方法都是dev提出来的。如果测试工程师再不把自己的testing build into code,我感觉这个职业很快会被dev或者某些工具所兼顾,平均薪水会越来越低(现在已经不高了)。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
     楼主| 发表于 2014-7-17 17:14:18 | 只看该作者
    手工与自动化只是一种形式,真正的核心是测试用例、业务模型和测试分析。
    当企业的产品规模开始膨胀的时候,尤其是产品迭代加快是不是能及时得到测试验证支持是很重要的。这些靠手工测试是基本无法实现的,手工测试会严重的拖慢产品进度,而且无法保证全局质量。
    没有对覆盖率,测试分析等进一步的数据挖掘,一切深入的问题也无法被手工测试人员发现。

    手工测试与简单的操作自动化只是测试的初级阶段,将来也许会有云测试与智能化测试,大数据测试,这些新的测试手段都是围绕测试用例,业务模型与测试分析来做的。没有良好的coding能力,就无法发挥电脑的潜能,也无法做更深入的数据挖掘。

    目前的很多公司的测试是有问题的。
    大部分的自动化测试的问题是成本高,只是简单的check,没有绑定覆盖率,没有做测试建模、盲目的追求case数量,自动化分层不合理,ui自动化测试比重太大,导致作用有限。

    而手工测试也是只覆盖基本的业务,根本不了解细节上的风险。bug不仅仅是因为需求和业务引起的,还可能由设计,架构,代码以及操作系统特性引起的。而且测试人员的执行是否到位也是值得考察的。我在阿里百度都遇到过手工测试人员因为工期紧张,用例太多,草草结束测试的事情。

    所以,手工测试重要,但是不能重点依靠。自动化能够提供全局的把控和质量验证,价值还是很可观的。而做好自动化还需要更多的深入的工作。毫不讳言,我们整个国内还没有几家公司能真正做到测试建模,目前只是做到了最基础的测试用例+自动化+覆盖率而已。

    对于手工测试,我举个最简单的例子,百度的一些产品,需要在chrome浏览器,firefox浏览器,ie6/7/8/9,360浏览器,搜狗高速浏览器上做测试。如果开发只修改了几行代码,在不依赖新测试模式,新技术和自动化的情况下,只靠手工测试,几乎是不能避免bug的。

    在银行,金融,国企,以及传统企业里面,经常会看到工作了七八年的手工测试人员,而且他们的产品更新很慢,体验很差。而在互联网里面,则很少看到,但是互联网的产品体验要比传统企业优秀的多。

    不可否认,手工测试里面有不少高手,但是缺乏了自动化,缺乏了大数据分析,缺乏了测试建模,将很难为产品线带来更多的价值。所以自动化是很重要的资本。只是整个行业,懂业务,懂测试,懂开发的人太少了。大多数的人,都是其中的两者结合体。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    7#
     楼主| 发表于 2014-7-17 17:15:08 | 只看该作者
    这个我是网上最近热点的话题,大家有建议和想法可以互勉下~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    8#
    发表于 2014-7-18 15:04:01 | 只看该作者
    这个是书还是?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2014-7-18 16:25:38 | 只看该作者
    LZ居然问这个问题?现在国内测试行业的这个情况,还不是你们这些商家炒作出来的?动不动就喊着高薪高新的,动不动就教这个工具那个工具。一帮非信息专业的人,觉得自己学了学工具的初级知识,就认为自己是高级人才了,扯淡吗不是?
    切!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    10#
     楼主| 发表于 2014-7-18 16:42:24 | 只看该作者
    LZ居然问这个问题?现在国内测试行业的这个情况,还不是你们这些商家炒作出来的?动不动就喊着高薪高新的, ...
    gaha 发表于 2014-7-18 16:25



        这个只是我网上转载的资料,让大家看看~如果你觉得扯淡不扯淡这个请你放心心里谢谢~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    11#
     楼主| 发表于 2014-7-18 16:43:02 | 只看该作者
    这个是书还是?
    Miss_love 发表于 2014-7-18 15:04



        我网上转载的一个热帖~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2014-7-18 16:53:02 | 只看该作者
    我也想看看其他人怎么说。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1043 天

    连续签到: 1 天

    [LV.10]测试总司令

    13#
     楼主| 发表于 2014-7-18 17:09:50 | 只看该作者
    我也想看看其他人怎么说。
    gaha 发表于 2014-7-18 16:53



        下面都是热帖中的评论,你也可以看下~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-1-12 10:19
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2014-7-18 17:29:58 | 只看该作者
    看着很想睡觉。
    长篇大论,一堆所谓的专业名词,时不时飙出个鸟语,看了几节直接看评论,一般评论比较有意思。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2014-7-23 08:43:58 | 只看该作者
    把两个技术都弄明白,就明白了哪个更厉害了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2014-7-24 08:30:58 | 只看该作者
    回复 1# lsekfe


        市场导向……向钱看
    如果国外的市场导向也是重自动化,估计资深的也会是自动化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2014-7-29 10:42:16 | 只看该作者
    比较赞成楼主的观点或者是转载的观点。手工测试在一些自动化无法达覆盖的地方可以很好的体现并且相应速度快,但是确实有重复性、大数据、周期长等方面的缺点。但是手工测试需要较高的个人素质和充足的个人业务或者行业经验,而这个是很难在短期内被人看到的且很难衡量,导致市场向导就是如果测试人员会一个或者多个自动化测试工具这个可以衡量的能力,就会被人认为比较牛。需求决定了市场。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2014-7-31 16:40:49 | 只看该作者
    哪些是评论?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-31 08:59
  • 签到天数: 975 天

    连续签到: 1 天

    [LV.10]测试总司令

    19#
    发表于 2014-8-1 09:29:14 | 只看该作者
    回复 18# Lothario


        1楼以外都是评论
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-6 09:30
  • 签到天数: 52 天

    连续签到: 3 天

    [LV.5]测试团长

    20#
    发表于 2015-11-10 17:14:06 | 只看该作者
    我竟然全部看完了,我的天.........
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-11 15:27 , Processed in 0.079599 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表