程序猿最怕的不是“需求又改了”,而是“bug没被发现”。每次测试都像拆盲盒,你永远不知道下一个错误会躲在代码的哪个角落里。
测试就是找茬大赛
检验的关键在于合法的挑剔,专程给码农找麻烦。公司给你薪水,让你去证明别人的代码是个渣。想想都挺带劲的。但别太得意,要是你真没找出bug,产品一上线,用户们就会帮你亲自检验一番。
考试分俩派:有人把考试当排雷玩,有人则当寻宝游戏。前者使出浑身解数,用自动脚本猛攻,后者则拿着鼠标在屏幕上玩起了“点不到就怪你”的把戏。听闻老手们能练出“一眼就能看出哪会出问题”的绝活。
代码越丑bug越秀

单元测试这事,就跟让大厨尝自己炒的菜似的,写代码的家伙总觉得自己写的代码没问题。可一让测试员跑用例,bug比菜里的葱花还多。更气人的是,有些代码长得跟歪瓜裂枣似的,测试覆盖率居然能达到百分百;而那些看起来挺顺眼的代码,一测试就露馅了。
这行规儿有点意思:代码写得越糙,注释就越多。你看那些写满“这代码肯定没问题”的,里面多半藏着让人哭笑不得的bug。测试员看到这种注释,就跟看到“此地无银三百两”似的,不找出点问题来都觉得对不起那股子自信。
接口测试像相亲
接口测试就是检验俩模块能不能好好聊天。有回A模块问“今天晚上吃啥”,B模块回“404找不到”,这对话看得测试员都想把键盘给砸了。更绝的是,有的接口表面上装得挺客气,回个200,背地里却把数据全给吞了。
那回碰到的最逗比接口bug,传个"true"它就罢工,换成"1"它就开工。结果程序员用了个if(param=="true")来判别,结果测试员直接把键盘拍他脸上了。这事,就是想提醒大家,做字符串比对,还是得用equals。
系统测试变背锅侠

测试时候得装成那个最挑刺的用户,点个按钮就跟打地鼠似的。常有这事:开发说“我电脑上运行正常”,测试说“用户电脑可不像你那电脑”。最后查明是测试环境里装了个什么神秘的驱动,背这个锅比窦娥还冤得慌。
测试一切顺利,演示时却突然罢工。大家都把目光投向测试员,这时候本该把那份测试报告甩在桌上——要是有那份报告的话。所以说,没文档的测试就跟没测试一样,纯属白费功夫。
兼容测试像闯江湖
兼容性测试,就相当于让软件去江湖上历练一番,瞧瞧它在IE浏览器这种险恶环境中能不能挺住。最头疼的就是用户来一句“我这电脑有点旧”,那可就得去挑战WindowsXP加上360安全卫士这种组合的难度了。
兼容性问题跟方言一样诡异,Chrome能听懂“滚轮事件”,IE却以为你在讲火星文。记得有一次测试,IE8里页面直接成空白,翻遍代码才发现console.log忘了删。这不就是告诉我们,对待IE,得像分手后的前任,一刀两断,彻底拜拜。
自动化测试是照妖镜

自动测试脚本,简直就是个识妖镜,那些平时藏得严严实实的bug全都被它照出来了。可这写脚本,有时候比找bug还头疼,不是脚本能跑通,就是bug找不到,简直就像是个哲学难题。
搞维护自动化用例那叫一个惨,需求一变,感觉就像拆了个炸弹。有个测试员搞了仨月脚本,最后来了一句神吐槽:"这东西是测产品呢还是测我耐性?"所以说,自动化那东西不是啥万能钥匙,其实就是换个形式给你加个班。
见过最扯淡的测试现场没?页面一开直接黑屏了,输入密码结果蹦出来个开发小哥的毕业照,这操作也是没谁了。
暂无评论