杂谈软件测试职业发展

核心提示杂谈软件测试职业发展杂谈软件测试职业发展?其实我们都知道,每个职业都会有着他们职业本身的魅力,就好像软件测试一样,我们外行人看不懂其中的奥妙,但是内行人觉得很有趣,那么我们一起来杂谈软件测试职业发展。  杂谈软件测试职业发展1  第一步:手

杂谈软件测试职业发展

  杂谈软件测试职业发展?其实我们都知道,每个职业都会有着他们职业本身的魅力,就好像软件测试一样,我们外行人看不懂其中的奥妙,但是内行人觉得很有趣,那么我们一起来杂谈软件测试职业发展。

  杂谈软件测试职业发展1

  第一步:手工测试/黑盒测试。

  这个大家都是太熟悉不过了,主要是设计测试用例,执行测试用例,发现bug,报告bug,验证bugfix。每一步都有junior,senior,architect的区别。junior刚入门,就是熟悉学习这些东西,这些东西都搞熟了,加上对产品的较深理解就是senior了。

  senior要对一些较大的模块能够做计划,能够带领junior的一起工作。architect要能够对整个产品有深刻的理解,可以规划整个产品的测试,包括需要多少硬件,需要什么软件,需要多少人力,需要多少时间,等等。

  第二步:自动化测试。

  手工测试人员和自动化测试人员最大的区别在于懂编程。不过如果你只是会用script编写一些程序的话,还不能称之为自动化测试人员,至少还要有软件设计的能力。junior刚入门除了要学习手工测试的那些知识以外,还要能够使用某种高级语言,某种测试工具自动化自己所负责的测试用例。

image.png

  senior除了手工测试的那些要求以外,还要能够规划一个较大模块的自动化,能够解决各式各样junior在自动化过程中发现的问题。architect除了手工测试的要求以外,还要能够对整个产品进行自动化的设计,比如采用什么语言,采用什么工具,各个模块自动化的整合,自动化的schedule,自动化的report等等。

  手工测试人员的title,往往叫做SQAA(SoftwareQAAnalist),juniorSQAA,seniorSQAA,principle/staffSQAA。

  自动化测试人员的title,往往叫做SDET(SoftwareDesignEngineerinTest),juniorSDET,seniorSDET,principle/staffSDET。

  还有更常见的title,SQAE(SoftwareQAEngineer),是处于这两者之间的,既要手工测试,也要懂得自动化测试。基本上大多数的测试人员都是发展在这条path上。因此,你可以看看自己,如果是SQAA,就要往SQAE的方向发展,如果已经是SQAE了就要往SDET方向发展。不同的path,虽然有不同的级别,但是工资也是有区别的。比如seniorSQAA=juniorSQAE,seniorSQAE=juniorSDET。

  而且,不同的path可能最终能够发展到的级别也有区别,比如SQAA可能就不会设有principleSQAA的级别。也就是说,如果想达到architect的级别,只是会手工测试是远远不够的。

  达到SeniorSDET应该就是比较高级的测试人员了。编程序,自动化这些都是小菜一碟,就是跟开发人员比起来也能做一个准senior的developer了。可是这还没有发展到头,以我现在的观点来看,还有第三步。

  第三步:安全测试。

  我们知道各式各样产品最终发布出去最头疼的并不是用户找到多少bug,而是安全问题。很多知名大公司发布产品后,还要投入大量的人力去进行安全漏洞的修补。安全漏洞严格来说也是质量问题,那么这些安全漏洞有没有可能在产品发布之前被测试人员所发现呢?答案是肯定的。

  因此作为我们测试人员的话,把手工测试,自动化测试精通之后,就要努力向安全测试的方向发展了。具备有安全测试能力的工程师基本上都可以称之为测试专家了。这需要有非常强的编码能力,非常深的系统内核知识,甚至黑客的背景。更重要的是,要随时能够从安全的角度来分析产品的质量。我们要了解程序员实现的具体方法与步骤,结合review他们的代码,大量的试验来发现安全漏洞。

  杂谈软件测试职业发展2

  第一个阶段:(功能测试)

  第一个的话呢,是我的功能测试阶段。在功能测试阶段就是我们俗称的:点点点(点工)由于历史原因,点点点,软件测试工程师基本都做过。

  首先我们来看一下点点点功能测试做一些什么内容,主要就是看这个研制开发的软件是不是符合需求说明书指明的一些要求,这个是什么意思呢?也就是说:这个软件它有没有实现需要的功能,实现的功能到底正不正确。

  打一个简单的比方,我们的美团外卖,大家都用过对吧?这个软件开发出来就是方便大众人群去外卖的下单-配送之类的需求功能。那我们在平时用这个APP的时候,会不会关心我下的这个单有没有成功?下的单有没有给我扣费更多?或者更少?(这个就是bug)这些都是我们的功能测试。

  包括我们经常用的知乎,能不能正常登录,登录了之后我能不能去关注好友,我能不能去发私信?发图片发视频?(知乎好像私信是不能发视频)这些都是功能测试。所以相对来说我们每个人都接触过功能测试,这个也是我们对于软件测试入门的一个阶段。

  这一个阶段,技术要求不是很高,同样的薪资待遇也没有那么的高,想要在这一个阶段的基础上去提升自己的薪资的话,就得往后面的阶段去努力!

image.png

  第二阶段:(接口测试阶段)

  在接口测试阶段的话,我们可以脱离可视化界面,对软件进行一个全面的测试。相对功能测试来说,我们去验证登录是不是成功,搜索是不是成功,或者说能不能发送信息等等之类的.这些操作,是不是都要把这个软件运行起来然后去执行,才能去发现它的这一个结果。是否和我们功能的预期是不是一致的。

  但是接口的话,我们在没有这个界面的情况下,我们也能去进行相关的测试。(能不能发送信息等等之类的这些操作)这个就是我们的接口测试的阶段。

  接口测试阶段,可以在功能测试的基础上,去提升我们的薪资待遇,提升我们的个人竞争力。如果你想在这个阶段再往上面走的话呢?我们接着往下看。

  第三阶段:(工具测试阶段)

  工具对与软件测试人员来说,就相当于我们古时候江湖里的武功秘籍或者宝物,谁得到了宝物得到了武功秘籍,谁就能站在巅峰,一统江湖!

  它的话呢,能够帮助我们去提高我们的测试效率,可以解放我们的双手。同样的话你在这一个阶段,你的薪资可以在接口测试阶段提升3-5K左右。

  第四阶段:(脚本测试阶段)

  工具它毕竟只是一个外设的辅助工具。帮助你去提升一定的软件测试效率,如果说你只会使用工具,杀伤力还不够!我们在学会使用工具的前提下,我们还要学会一门编程语言,(Python当下是一个主流,对新手入门很友好,也是人工智能一大利器)去进行一个相关的编程脚本。让脚本来代替人工的一个操作,根据你对公司业务的理解、你的想法,编写一个脚本进行一个相关的测试。

  到了这里,就可以真正的在一定程度上去解放你的双手,提升你的薪资,提升你的竞争力、不可替代性!

  第五阶段:(测试开发阶段)

  这个阶段也是我们听得最多的一个词,也就是我们的测开!达到这样一个层次的话。我们必须要干嘛?

  能够自己去写出一些测试工具,或者测试框架。去协助我们整个的软件测试团队开展测试工作。在测试工具阶段我们是能够去使用测试工具,到了这一个阶段我们针对公司业务不同,自主独立开发最适合公司业务的测试工具、测试框架!

  第六阶段:(全栈测试阶段)

  软件测试人员的小目标!可以对软件进行随心所欲的任何方面的测试。(性能测试、压力测试、安全测试等)因为到了这一个层次,基本上前面的所有阶段你都非常的熟悉,而且轻而易举。