BATJ这些大厂,高级资深专家级别的测试工程师面试都在问!
文章首发于微信公众号:程序员一凡
如何提高软件测试思维是我们今天的主题!
其实更准确的说,我们作为一个软件测试工程师,不仅仅要提高自己的测试思维,还有开发思维。(准确定义来说:测试开发思维)
为什么说要有开发思维呢?
做软件测试和开发沟通得非常“亲密”,那么那些代码,数据库的结构,这些对你做测试肯定是有很大帮助。
而且我们自己去写自动化脚本,去写框架,也需要用到开发思维。很多小伙伴可能有一些测试思维,但是没有开发思维。
测试开发思维都有,才是你以后在这条路上走得更远,更高层次。
那如何来提高?一凡给大家总结一下。
不管你现在是不是做测试,你以后想做什么类型的测试,你想做高级自动化、性能、安全等等,那么最重要的是什么?
功能测试业务!最基础的我们不要忘了,这个是很重要的。
1.用户场景,需求分析如何理解?(面试题)
功能测试业务里面,我觉得最重要的一块,就是针对于需求分析,比如说我现在是面试官,我问你一个问题。
你对这个用户场景怎么看?用户场景是什么意思?
真实的用户给到我们公司的需求,这个专业术语就是用户场景。对于这个场景,你做为一个测试的职责是什么?你怎么去看待,怎么去理解?所以说对于需求分析你是如何理解的。
分析:这个问题就是面试官在考验你对于测试的认知,思维的认知。我们需要从哪些方面去分析?
如果以后面试官问到你,需求分析想关的问题,别小看这些问题。不管你是去面试BATJ这些大厂,高级资深专家级别的测试工程师,都会问到这一类问题的。因为作为测试,你对这些基础的东西你没有一个很强的逻辑,思维你都不清晰,你如何去做好哪些高级的事情?
这里一凡给大家总结一下。
怎么去理解,怎么去面对这些需求,面对用户提出的需求,那我们作为软件测试工程师,我们也是有必要去做的一个事情
a.了解需求的商业价值。只有明白这个需求有什么商业价值,我们才能更加的明确我们该站在用户的角度去判断。
b.站在用户的角度。比如说我们的用户、产品提出来的需求,你是一个普通的用户角度去判断这个需求
c.站在产品的角度
显性需求
隐性需求
功能性需求
非功能性需求
举例说明显性与隐形需求
【1.登录大家很好理解】
显性需求:
输入正常的用户名和密码,能登录
隐性需求
用户名、密码长度是否可以为空,密码字符串,验证码是否可以为空。已经使用过的验证码能不能再次使用。用户名和密码它输入了多少次,你会把我的账号冻结,想这些产品经理没考虑到的,我们就需要去考虑这些隐性需求(已登录的用户是否可以再次登录,两个账号同一个浏览器等等……像这些都是我们需要去考虑的)
【2.下单付款】
再比如你下订单付款,然后显性需求,你如果超过半个小时就不能付款了,订单已过期
那我们的隐性需求,下订单超过多长时间,是否可以在该订单重复性付款,下单过程中如果我下单的时候网络差,如果我下单的过程中来了一个电话,是不是自动刷新等等,像这类就是隐形需求。
功能性需求:基本上显性+隐形就等于功能性需求
非功能性需求:那么什么叫非功能性需求呢?就是用户的体验感,比如性能,可靠性,安全性,易用性,可维护性,还有继承性
继承性:就比如说我现在使用微信,如果微信改版了,现在微信出了8.0版本,你一下改得大家都不会玩了,这就是继承性不好。
再举一个例子,大家平时有玩王者荣耀、英雄联盟之类的游戏。改版后,新的装备突然大家都不认识了,在心里骂这个产品是不是ZZ,改得太大了,突然一个版本。
所以这些东西我们测试也是需要去考虑的,我们测试是在产品和开发的中间人。
所以我们作为软件测试工程师,在需求会议用户场景的时候,我们一定要站出来,多发表自己的想法,这个时候如果你担任了这样一个角色,你在公司的地位一定很高,然后你很容易转到做管理。
产品经理,研发经理都觉得,对奥~这个测试比较重要。所以不管你做什么级别,高级、自动化等等,这些基本的思维我们需要有。
产品的需求是不是分得比较细,是不是可以再拆迁一下,是不是存在什么风险,从项目的角度,这些需求是不是应该提在下一个版本呢?
非功能需求,当然也包括了安全性,性能需求。能支持多少并发,所以你看所有的性能测试、自动化测试都是基于这些基本的东西业务之上的,所以你为什么要做性能测试,为什么要做自动化,都是有这个目的的,有一定的原因。
所以这些非功能性需求,我就要去做性能压测,这个项目同时支持多少用户在并发,同时抢购商品。
当然,除了功能测试,我们现在要涉及到很多的自动化。现在去面试,想要涨工资,自动化绝对是一把利器!
所以说自动化也是现在的一个必备技能了,自动化测试现在(不说前面15、16……年)那个时候你不会做自动化测试,你一样过得很好。也没人说你菜。
现在如果你做为一个测试人,你不会点技术,好像总觉得自己做错了什么,有没有这种感觉?在评论区说一下你的想法感受。
你做为一个测试,我不懂自动化我不懂性能,就是各种鄙视链,做安全的看不起做性能的,做测开的看不起做自动化的,做自动化的看不起做功能的,等等等等,当然各种行业都有鄙视链。
如果你还是一个非测试人员,或者你现在是开发想转测试。
功能测试百分之百不会被淘汰掉,就是说你只会功能测试,找工作不是问题。只是说你想做得更好,你想有自己的竞争力,想做一把手,想独当一面,就不能仅仅会功能测试。
第二点,我们要从自动化测试去下手,那自动化测试我们就分为,接口和UI,所以你也不要去管我要做什么自动化,这两个都是要做的。
自动化测试思维(接口自动化/UI自动化)
测试开发思维
写框架:实现一个功能
写工具:后端,开发接口,写前端
文章篇幅有限,实战讲解可能更加直观感受,公众号程序员一凡主页点击领取学习资源,(如何提高自动化测试开发思维)免费领取视频教程。
网友评论