您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 功能测试 > 正文

从功能测试到自动化测试开发,我的思维经历了哪些变化?

发表于:2022-05-26 作者:程序员阿沐 来源:简书

其实更准确的说,我们作为一个软件测试工程师,不仅仅要提高自己的测试思维,还有开发思维。(准确定义来说:测试开发思维)

为什么说要有开发思维呢?

做软件测试和开发沟通得非常“亲密”,那么那些代码,数据库的结构,这些对你做测试肯定是有很大帮助。

而且我们自己去写自动化脚本,去写框架,也需要用到开发思维。很多小伙伴可能有一些测试思维,但是没有开发思维。

测试开发思维都有,才是你以后在这条路上走得更远,更高层次。

那如何来提高?一凡给大家总结一下。

不管你现在是不是做测试,你以后想做什么类型的测试,你想做高级自动化、性能、安全等等,那么最重要的是什么?

功能测试业务!最基础的我们不要忘了,这个是很重要的。

用户场景,需求分析如何理解?

功能测试业务里面,我觉得最重要的一块,就是针对于需求分析,比如说我现在是面试官,我问你一个问题。

你对这个用户场景怎么看?用户场景是什么意思?

真实的用户给到我们公司的需求,这个专业术语就是用户场景。对于这个场景,你做为一个测试的职责是什么?你怎么去看待,怎么去理解?所以说对于需求分析你是如何理解的。

分析:这个问题就是面试官在考验你对于测试的认知,思维的认知。我们需要从哪些方面去分析?

如果以后面试官问到你,需求分析想关的问题,别小看这些问题。不管你是去面试BATJ这些大厂,高级资深专家级别的测试工程师,都会问到这一类问题的。因为作为测试,你对这些基础的东西你没有一个很强的逻辑,思维你都不清晰,你如何去做好哪些高级的事情?

这里一凡给大家总结一下。

怎么去理解,怎么去面对这些需求,面对用户提出的需求,那我们作为软件测试工程师,我们也是有必要去做的一个事情。

a.了解需求的商业价值。只有明白这个需求有什么商业价值,我们才能更加的明确我们该站在用户的角度去判断。

b.站在用户的角度。比如说我们的用户、产品提出来的需求,你是一个普通的用户角度去判断这个需求。

c.站在产品的角度。

 
  显性需求
  隐性需求
  功能性需求
  非功能性需求

举例说明显性与隐形需求

【1.登录大家很好理解】

显性需求:

输入正常的用户名和密码,能登录。

隐性需求:

用户名、密码长度是否可以为空,密码字符串,验证码是否可以为空。已经使用过的验证码能不能再次使用。用户名和密码它输入了多少次,你会把我的账号冻结,想这些产品经理没考虑到的,我们就需要去考虑这些隐性需求(已登录的用户是否可以再次登录,两个账号同一个浏览器等等……像这些都是我们需要去考虑的)。

【2.下单付款】

再比如你下订单付款,然后显性需求,你如果超过半个小时就不能付款了,订单已过期。

那我们的隐性需求,下订单超过多长时间,是否可以在该订单重复性付款,下单过程中如果我下单的时候网络差,如果我下单的过程中来了一个电话,是不是自动刷新等等,像这类就是隐形需求。

功能性需求:基本上显性+隐形就等于功能性需求。

非功能性需求:那么什么叫非功能性需求呢?就是用户的体验感,比如性能,可靠性,安全性,易用性,可维护性,还有继承性。

继承性:就比如说我现在使用微信,如果微信改版了,现在微信出了8.0版本,你一下改得大家都不会玩了,这就是继承性不好。

再举一个例子,大家平时有玩王者荣耀、英雄联盟之类的游戏。改版后,新的装备突然大家都不认识了,在心里骂这个产品是不是ZZ,改得太大了,突然换了一个版本。

所以这些东西我们测试也是需要去考虑的,我们测试是在产品和开发的中间人。

所以我们作为软件测试工程师,在需求会议用户场景的时候,我们一定要站出来,多发表自己的想法,这个时候如果你担任了这样一个角色,你在公司的地位一定很高,然后你很容易转到做管理。

产品经理,研发经理都觉得,对奥~这个测试比较重要。所以不管你做什么级别,高级、自动化等等,这些基本的思维我们需要有。

产品的需求是不是分得比较细,是不是可以再拆迁一下,是不是存在什么风险,从项目的角度,这些需求是不是应该提在下一个版本呢?

非功能需求,当然也包括了安全性,性能需求。能支持多少并发,所以你看所有的性能测试、自动化测试都是基于这些基本的东西业务之上的,所以你为什么要做性能测试,为什么要做自动化,都是有这个目的的,有一定的原因。

所以这些非功能性需求,我就要去做性能压测,这个项目同时支持多少用户在并发,同时抢购商品。

当然,除了功能测试,我们现在要涉及到很多的自动化。现在去面试,想要涨工资,自动化绝对是一把利器!

所以说自动化也是现在的一个必备技能了,自动化测试现在(不说前面15、16……年)那个时候你不会做自动化测试,你一样过得很好。也没人说你菜。

现在如果你做为一个测试人,你不会点技术,好像总觉得自己做错了什么,有没有这种感觉?在评论区说一下你的想法感受。

你做为一个测试,不懂自动化、不懂性能,就是各种鄙视链,做安全的看不起做性能的,做测开的看不起做自动化的,做自动化的看不起做功能的,等等等等,当然各种行业都有鄙视链。

如果你还是一个非测试人员,或者你现在是开发想转测试。

功能测试百分之百不会被淘汰掉,就是说你只会功能测试,找工作不是问题。只是说你想做得更好,你想有自己的竞争力,想做一把手,想独当一面,就不能仅仅会功能测试。

第二点,我们要从自动化测试去下手,那自动化测试我们就分为,接口和UI,所以你也不要去管我要做什么自动化,这两个都是要做的。