软件测试进阶自动化测试开发有哪些变化?需要怎么学习?

一、前言

当你是新手的时候肯定会选择加很多的群。在群里总是会遇到很多人问低级问题,写了一个selenium脚本,却执行失败,也不看报错,就直接跑到群里来问(有时候连个图都不发或发图只截图一小半,有的甚至问我和你写的代码一样怎么运行不起来了呢?)

大神,这里为什么会报错?很多都是明显的语法问题一问才知道,今天刚刚学selenium,之前也没有语法基础,没学过Java,没学过Python,就跑来搞selenium,想玩自动化

那些自动化脚本真正成为了公司资产,每次上线回归带来的收益远超出预期。并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。后面负责自动化测试团队工作,核心框架搭建。学习用到的技术栈:包括Python、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成

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

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

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

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

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

三、如何来提高?

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

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

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

功能测试业务里面,我觉得最重要的一块,就是针对于需求分析

比如说我现在是面试官,我问你一个问题
你对这个用户场景怎么看?用户场景是什么意思?

真实的用户给到我们公司的需求,这个专业术语就是用户场景

对于这个场景,你做为一个测试的职责是什么?你怎么去看待,怎么去理解?所以说对于需求分析你是如何理解的

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

如果以后面试官问到你,需求分析想关的问题,别小看这些问题。不管你是去面试BATJ这些大厂,高级资深专家级别的测试工程师,都会问到这一类问题的

因为作为测试,你对这些基础的东西你没有一个很强的逻辑,思维你都不清晰,你如何去做好哪些高级的事情?

给大家总结一下

怎么去理解,怎么去面对这些需求,面对用户提出的需求,那我们作为软件测试工程师,我们也是有必要去做的一个事情
  
1、了解需求的商业价值。只有明白这个需求有什么商业价值,我们才能更加的明确我们该站在用户的角度去判断

2、站在用户的角度。比如说我们的用户、产品提出来的需求,你是一个普通的用户角度去判断这个需求
3、站在产品的角度
  显性需求
  隐性需求
  功能性需求
  非功能性需求
  举例说明显性与隐形需求

四、登录分析

登录大家很好理解

显性需求:
输入正常的用户名和密码,能登录。

隐性需求:

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

五、下单付款

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

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

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

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

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

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

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

六、总结

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

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

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

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

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

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

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

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

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

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

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

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

自动化工程师需要掌握的内容:

  • 全面掌握测试基础理论原理、测试流程与方法
  • 掌握常用测试工具,postman,linux、 jmeter、 RF、 抓包等测试技术
  • 掌握数据库脚本、前端开发基础,独立编写html页面
  • 熟练掌握python开发编程基础和python高级编程、面向对象思维
  • 掌握主流开源接口和UI自动化测试框架使用: selenium、 appium、 airtes request、RF
  • 掌握持续集成、CI、 CD\docker容 器技术
  • 可独立搭建接口、UI自动化测试框架,分层自动化模式,建立框架技术体系
  • 可掌握jmeter、loadrunner性能测试工具使用
  • 独立实战各类型测试项目与自动化测试项目、性能测试项目
  • 等等

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值