早晨看到一位朋友发了条朋友圈,“软件工程所有手段方法工具应该是用来提高开发效率,测试应该是加速开发进度,而不是拖后腿”,说起这位朋友就牛逼了,美籍华人,在硅谷混迹多年,资深的架构师,目前在BCGDV做研发team 的顾问,和美国的好多工程师接触下来,忽然发现好多计划,设计和实现都太乐观化,不知道是太顺了还是本该如此,好迷惑,借此话题谈谈我对测试的认识,下方可能高能,阅读需谨慎~拍砖请随意
首先我们追本溯源一下,大家想一想,测试的目的是什么?测试的价值是什么?测试的核心是什么?
书本上曾说测试的目的就是尽可能多的发现程序的bug,关于测试价值的定义就少了,本人觉得随着人的追求越来越高,测试的目的已经不能仅仅定义为尽可能多的发现程序的bug了,测试的目的应该至少上升到质量提升和产品持续优化层级,也可以说测试的目的是为了让最终用户拿到一个相对易用,并且容易高潮的产品。
那测试价值又是什么呢?个人的概括是让用户开心的掏钱,盆满钵满我也满,也可以说塑造成功感,请详细体会这个感~谢谢
测试的核心是什么?很多人说是业务,也有人说测试流程,这里我想说测试的核心是思想和设计,思想和设计的核心是人,所以我理解的测试的核心是人,因为 有人,才能!这四个字要分开读,原谅我曾经是语文课代表
测试会拖开发进度的后腿?no no no,如果你真的这么认为,那我认为你一定是脑子瓦特了,你这么不友好,宝宝很不开心,宝宝不开心,后果就会很严重昂!告诉你有效的测试并不会拖开发进度的后腿,相反还会促进开发进度,关键看你会不会用,这里面有个卧底还没有被揪出来呢,TA就是质量,以进度为驱动个人觉得有点蠢,当然我理解现在互联网爆炸的时代,时间就是金钱,唯快不破几乎都快被写成白皮书了,快是有了,快速占有市场了,然并卵,1个月不到又死了,这样你还会一味追求快么?或者仓促上线,留下一堆bug,比如app动不动就闪退,web应用动不动就internal error,这样还会求快么?这个还是要协调管理,大家现在都采用敏捷开发了,测试同样也可以敏捷,关键看测试的核心了,把持续集成,自动化测试等用来打测试的辅助,多做有效的测试,快给正确的反馈,嗖嗖的跑起来,揪出卧底还能保证迭代速度,你还敢说测试拖后腿?大多数的进度问题是管理问题,交流问题,别想挖坑把我们埋了,萌得过我?
你真的懂自动化测试吗?会写测试代码就是会自动化测试?曾经好多好多人(大于20)对我说可不可以不用写代码就做自动化测试,可不可以快速学会自动化测试?录制算不算自动化测试?看我大大的白眼,这里我会说可以,但是录制回放我不认为是自动化测试,请原谅我这么决绝,如果你在我的团队你可以,哈哈,因为有我在,但是请不要拉低自动化测试的门槛,这样问的童鞋们追求的其实不是自动化测试,想做的也不是自动化测试,你们在找保姆,这个保姆还得貌美如花,还得出得厅堂入得厨房,最好还能暖床,如果抱着这样的心态请不要做自动化测试了,因为你会失望,被你期待的人也会受伤~
我谈自动化测试,首先你得是个好的测试,抱歉只会写测试工具(好多公司叫测试开发)的我并不会称呼你为自动化测试,自动化和你有关,测试和你无感(套用某首歌),曾经有个挺出名的金融公司找我做自动化测试培训,帮忙组建自动化测试团队,我当时问了句:为什么突然想做自动化测试?答曰:因为领导想看自动化测试回放,别人家都有,我们也要有,这样会高大上!瞬间心好塞,自动化测试是有价值的,我也是有价值的,而且我也是有情怀的,情怀被误解,那么请拿钱砸我吧,越疼越好!那么自动化测试的价值又是什么呢?参照上文,我的总结是:快速塑造成功感,还是体会不了?那再见!我做自动化测试只会以价值为导向,其他的点都可以不在乎,投入产出比高就做,低或没有就别做了,而且你有一颗玻璃心那也别做了,如果你舍不得花钱还一个劲的求快,那不好意思我会告诉你,自动化测试很贵,你用不起!为什么说自动化测试你首先得是个好测试呢,因为这里面有测试核心,你得有测试的思维,只会写代码是万万不行的,其次代码也是不可或缺的,你得把你的思维想法变现啊,老画饼,总有饿死的一天嘛,再者嘛会来事,就是要秀,不然你做给谁看?自动化测试基本素质我推崇这几点:搭得了测试框架,筛得了测试用例,写得了测试代码,玩得了测试集成,绘得了测试报告,hold得住前后台。UI自动化测试和API自动化测试并行,相辅相成,慢着慢着就快了~
本次扯淡到此结束