做测试你需要达到初始化能力

       在我曾经呆过的团队里,见过很多半路出家的同事。有之前是做销售的、学生物的甚至有学跳舞的。大部分人都是从培训机构上了几个月的培训,接着就开始了自己的测试生涯。当然我在开发当中也有见过,不过没那么多罢了。说实话,我很好奇,你真当IT是个人都能干得了?!靠几个月的培训就觉得能干这个行当?!那要我们这些科班的兄弟们那些大学时光是白呆的了?!

       故我很认真的研究了这些非科班出身(包括那些虽然是计算机相关专业,但大学阶段根本没有学习的)的兄弟们。我发现他们有个很显著的特点——无法深入。很多这样的同事,经验真的很丰富,做事也不可谓不努力,但是,却总是无法向更高层面升级。我一直信奉一个观点:技术是解决问题的手段,而非目的。举个例子,性能测试,其本质就是在一定的外部环境下,模拟近真实的操作,对系统产生运行压力,检测系统在压力下的表现。你只要做到1、可控的环境、2、模拟操作产生压力、3、监测系统状态,就OK了。至于你是靠1000个人给你点系统,还是用测试工具,仅仅是你要考虑的场景可靠性和成本罢了,最终能解决你对性能测试的目的即可。而我曾经经历过的几个面试或者同事,对于他们而言,性能测试就是loadrunner或者jmeter。而且有时候因为知道某些工具的冷门功能,而自诩高手。。。。确实你很厉害!但是,如果换个场景呢?如果能提供的工具就是Selenium,需要进行性能测试呢?。。。。。真正的强者需要能够融会贯通。不能融汇贯通的,仅仅是个测试员。说实话,测试其实是个最不讲究的技术方向。对于我们而言,不讲究手段,而关注的是结果,只要你能在规定的时间、规定的条件下,找出问题、定位问题,哪怕你用原子弹打蚊子,我觉得都不会有人觉得你做的不对,自然你要有本事用蚊子拍把巨龙给宰了也不是不可以。而这个先决条件则是,你对基础能力掌握得深度,也就是初始化的能力,只有当你的初始化能力有多深,也就注定了你的融汇贯通的程度。

      那么对于这些初始化能力,你需要哪些呢?

      1)软件工程和项目管理

      软件工程和项目管理是作为干测试这个行当的人,必须要认认真真、仔仔细细的去学习的两个科目。为什么?因为测试是保证软件质量的重要手段之一。要想控制好质量就是关注流程、保证规范。而这两门课程就是描述软件开发的流程、相关规范、以及告诉我们如何做好流程及规范的方法。所以,作为初入门者,请认真的找一下软件工程和IT项目管理这两本书(科班的都应该有这两门课,跨界的朋友可以去书店里买,不用很高深的那种,大学教材即可),好好的阅读一遍,理解他们说的内容,当然作为测试自然应该对测试相关章节要熟读并牢记,你要能背诵就更好了!因为这将是你以后对软件质量、软件测试最最核心的理解。至于其他的变化无非就是在方式上的一些改变,并没有改变其的本质

    2)数学

    数学和测试有关?有关如何设计好用例除了测试用例设计方法,就是靠数学。如何将测试用例设计的高效,就是依赖你的数学能力,如何将多条的单一的用例组合成一条或几条的组合用例,其实就是考量你的数学能力(有人会说业务,其实业务只是你的数学公式中的参数)。同时在结果分析过程中,一个有数学分析能力的测试将意义更加重要,同时,测试到后期会有很多地方需要用到数学的能力。我觉得高数、数学分析、线性代数这三门课,还请各位有空可以多研究一下

     3)开发语言

     这个其实培训机构也教。但是,请注意,各位初学者,别当靠几天培训你就能把语言学到精通。说实话,就帮你了解个大概。请自己努力好好的,至少学会一种语言。因为你需要看的懂别人的东西,你也要会写一些东西,便于你的测试。作为一个保守派,我的核心语言是C、C++、Java。而我对初学者的意见,现在的话,第一门语言是Java,至于原因,很简单。第一、使用范围广,第二、其他语言都有他的影子,至于怎么学么。。其实网上课程很多、书也很多。个人意见是挑一本中等书,不懂得地方找一些视频学习,当然基础学习你可以先用7天教会你java之类的书打底,但最后我还是觉得要好好的完整的体系的学习一下相关的内容的。

     4) SQL

    我曾经面试过一个工作了近10年的测试工程师,要求进行一个连表查询的SQL,竟然给出一句错误百出回答。。。很正常!但也很悲哀!怎么说呢,能理解说实话连表查询,在长期做功能测试的人当中用到的机会不多。基本靠几个单查询也能解决。其实SQL的花活很多,但是本质也就基础的几个。当然很多人学的时候能记住,但不用也就忘了,所以建议大家可以多在工作中实践,同时建议大家好好的了解一下,现在流行的数据库:MySQL、SQLSever等常见的数据库,了解其安装配置的一些东西,当然你要以后开始做专项测试的时候,你会需要更加熟悉

     4) 算法

    这个东西很难,因为这个玩意基于数学和计算机语言这两个东西,没这两个给你撑腰,你不可能对算法有好的理解。而算法对于你理解开发的写法,以及问题分析十分重要的意义。尤其是问题出在代码层面,你都不理解。怎么能测出问题呢?而且好的算法对你自己写一些测试工具也非常有帮助的。对于算法的学习,找本本科教材好好学完,最好每个教材上的例子、实验都去做一下。

     5)计算机及网络基础

     我听说这样一个传闻,一个干了很多年的测试竟然连windows系统都不会安装。。。。好吧!这个也太丢脸了!其实,一个好的测试对于计算机系统及网络系统要有基础了解,当然要有时间还是建议要好好的去学习一下的。尤其是想向性能、安全测试方向发展的新人,我的测试经验性能问题当中30%~40%和系统有关比如中间件配置、数据库配置、网络配置有关,安全性问题一半以上是和系统有关的。所以你要是不懂这些内容,如何进行相关的测试。软件系统的书需要长期学习的我觉得初期可以看看课本,再结合一些操作系统和网络实操的书进行练习,去理解课本中哪些生涩的内容

      以上是我对一个测试工程师入门的初始化能力,个人感觉需要了解的内容。

      当然有些内容我觉得要求有点高,比如数学和算法。但是,基础你得有,基础有了的情况下,再想起发展升级才有可能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值