再谈软件测试-工作感悟

简介:

软件测试,一个即将要崛起的行业,却也是一个充满着争议性的行业。谈到崛起,是因为我们发现,我们身边的客户开始越来越关注软件的体验性了,如果你的软件还有功能问题,他们可就不那么待见你了。同样,在国内的公司也是越来越开始重视软件测试,这几年,测试的职位需求量越来越多了,各种外包、培训机构,争先恐后而至~说起争议性,那就要从门槛来说了,毕竟,所谓软件测试,也是IT行业中一个技术领域,只不过,在国内,大家并不这么认为,所以专业不专业,先进去就再说!我最近在群里看一个非计算机专业同学,咨询各位关于软件测试这个行业的发展前景,当然有人质疑他非技术专业出身,可能发展会有瓶颈,但他的回应是,没见那些计算机专业出身的同学学得怎么样啊~并且他个人表示,5个月之后,他就可以跟各位一样进入这个领域,因为他决定去参加软件测试培训。当然泼冷水的人有很多,但也不乏还是有很多支持的,认为完全没问题。通过对行业一些现象的分析,作为这个行业中的一分子,我们似乎更关心,我们未来的发展方向,我们的核心优势在哪儿,我们的竞争压力又在哪儿?进入这个行业的人众说纷纭,有人说是为了热爱测试,有人说了,因为开发能力不行,只能退一步而行之,但至少是计算机专业出身的。测试并不是一个注重专业的领域,其实我是想跟那位同学建议,其实你可以选择去培训开发,或许这样你的技术之路会走得更远。就像这个行业流行的一种说法,如果你做了几年资深开发,你才有资格成为一名专业的测试人员。此言一语道明,对于一名优秀测试人员的技术能力要求远胜开发人员,只是我们身边这样的人太少而已。

  谈到测试工作定位,通过这几年的工作,开始不断的感悟,在此我想从这些感悟中对当前测试的三阶段段来分别谈一谈:

  一、测试是为了发现问题

  这个观点一开始就是指引着我们工作的方向,甚至我们会为了发现更多的问题而感到愉悦,就像开发人员完成一个功能开发一样,有一种成就感,所以测试的成就感就是给开发找茬。所以我们每天都会关注JIRA上bug量是否在增长,可能包括你的主管都会对bug的量来评定绩效考核,当然这都必须,因为测试就这么点增长点而已。

  二、测试是为了定位问题

  对于这样的测试人员,开发就很喜欢,因为省去了他们很多定位问题的时间,当然这样就对于测试人员的要求就要高了。定位问题从测试角度来看,那就是两个过程,首先你要发现问题,比如一个保存功能,你测试下来发现保存失败,这个时候你就会将此问题提交到缺陷管理工具上,并告知开发,如果仅此而已,那开发就需要去查找这个问题出现原因,首先保存失败可能有几种情况,有可能是数据没有保存到数据库中,前天提示保存失败;另外可能是数据保存到数据库了,但没有传回到前台,而提示失败;还有可能是返回值不对,导致提示信息出现提示错误,等等~想想开发去这样定位的问题,对于时间成本的控制,他们肯定就比较不爽了,如果这样的问题不断暴涨,那开发也会崩溃的。那如果测试人员去完成这样的一个工作,直接把问题定位到,比如产生此问题的原因是由于数据没有被保存到数据库中而导致的提示保存失败,这个时候开发一看到bug的描述就明白了,原来是因为我的保存方法有问题所导致,这样他就很快可以解决问题了,同样他也会对你的工作而感到欣慰!当然,这里只是举一个很简单的例子,目的是为了说明,我们如何提升我们自己的能力,定位问题是测试人员应该具备的能力。

  三、测试是为发现并解决问题

  说到测试人员去解决问题,可能大多数人觉得是不可思议的事情。所以这里就需要去领悟前面提到的依据话:如果做过几年资深的开发人员,你才有资格成为一名专业的测试人员。对于开发来说,并不是所有的bug都需要修复的;而对于测试来说,也并不是所有的bug都是开发去解决的。这里也来举例说明下:当你在测试一段数据查询效率的问题时,通过一番折腾,你发现你找到了问题,并可以很自信的告诉开发人员,你的sql语句效率有问题,当你数据库中有5万条记录时,查询最后一条记录,它就要轮询5万多行才能找到,这样导致最终的查询效率就非常低下了,加入数据到几百万条时,就需要轮询几百万行,这个性能是几乎不能想象的。所以这个时候,你告诉开发人员这样的结果和论证,并告知他需要优化的几点意见,比如更新表结构,增加索引机制;另外优化配置文件,比如修改缓存的大小等等。最后开发人员会思考,要么指派一名专业的数据库DBA来完成优化,要么就自己解决,不过不是所有的公司都有专职DBA的,所以如果开发人员对数据库优化也没有太多的经验,那他解决的速度还不定有测试人员快~所以这样的问题衡量下来,发现只能测试人员自己去解决,边优化的同时,还可以边测试。当然,这里想表达的观点就是,测试人员不一定在某个技术领域是大牛,但你的技术面必须要广,对于开发人员来说,只要能解决问题,才称得上是一名专业的测试人员。

  通过对如上测试的三个阶段工作解析,就可以很明确自己属于哪个阶段,未来努力的方向也就清晰了。

  当然,如果你还认可测试是一门技术活儿的话,那就不要再为了测试人员是否需要学习编程这样的问题而纠结了,因为这是一个很迂腐的问题。未来的测试行业肯定是要趋于国际化标准了,而且未来将会有越来越多的资深开发转向测试发展,不妨可以思考一下,我们的优势在哪儿?前段时间了解到淘宝关于性能测试工程师的要求,他们非常需要那些做过资深的开发人员有意向转性能测试方向的人才。因为人家对所谓专业出身的测试人员已经失去了希望,很多工作不是一个专业测试人员真正所能够完成的,没有深厚的开发功底,对架构和细节的熟悉,不可能完成一些重量级测试分析工作的。










本文转自一米一阳光博客园博客,原文链接:  http://www.cnblogs.com/candle806/archive/2012/01/14/2322286.html  ,如需转载请自行联系原作者




相关文章
|
监控 前端开发 测试技术
吃透这些软件测试理论知识要点,你就搞懂了软件测试
吃透这些软件测试理论知识要点,你就搞懂了软件测试
374 0
|
小程序 测试技术
软件测试面试技巧有哪些?这几点你得知道,不然后悔都来不及
新手测试技术不过硬,最害怕hr在面试时,问到技术方面的问题,那么在进行软件测试面试时,有哪些软件测试面试技巧可以帮助测试人,提高面试通过率呢?
186 0
|
测试技术
软件测试怎么学 两种学习方式总有一个适合你
近几年随着国内互联网的快速崛起,IT行业也兴起了一个新的行业,叫做软件测试,因为各大企业越来越重视软件的测试了没,所以越来越多的人开始加入了测试大军中,但由于软件测试在我国的发展时间并不长,所以大家都想要知道如果要从事软件测试行业,该怎么学习呢?
162 0
软件测试怎么学 两种学习方式总有一个适合你
|
测试技术
软件测试好学吗 只要选对了学习方式,就并不难学
我们都知道,如今互联网IT行业,在国内可是非常吃香的,尤其是近些年随着软件的普及,人们对软件的要求也是越来越高,因此国内各大互联网企业,也开始大量招聘软件测试人员,但由于这个岗位在我国的发展时间并不长,人员需求也是供应不求的。
198 0
软件测试好学吗 只要选对了学习方式,就并不难学
|
消息中间件 运维 Dubbo
源码阅读的方法、误区以及三种境界
源码阅读的方法、误区以及三种境界
|
程序员
工作感悟-时间管理
工作感悟-时间管理
129 0
|
设计模式 网络协议 算法
自学编程的八大误区!克服它们,豁然开朗!
说在前面 小伙伴们大家好,又是全新的一天。 关于“自学编程的一些常见误区”这个话题其实很早之前就在视频里聊过了。时间过去了大半年,也还是有很多小伙伴会提及各种自学过程中的常见疑惑,所以还是用文字总结一下这几点想法,和大家共勉。 误区1:忽略基础,盲目莽进 基础知识和基础路线真的非常重要,就以Java领域举例,现在的应用框架实在是太多了,五花八门,层出不穷,迭代的速度太快了。但是假如Java SE的基础不牢、网络协议和操作系统不熟,基本的设计模式不了解,那一味地追求学习新框架反而会让自己陷入迷茫与困顿。 基础牢固,应用框架的学习自然就不用惧怕了,很快就能切入核心,掌握原理。而且越时髦的东西
135 0
|
测试技术
10分钟通读《软件测试》理论
计算机行业流行一个笑话: 有三样东西在制造过程中是永远看不见的, 它们是 法律, 香肠和软件 ! 软件测试工程师 工作的职责: 尽可能早一些找出软件缺陷, 并确保它得以修复 软件周期和所处的阶段 构思 分析 设计 开发 测试 最...
1120 0
|
程序员 数据库
工作感悟
技术是为业务服务的。不结合业务使用场景单纯进行框架,语言优劣对比都是扯淡。 接上句,优化重构代码之前要先分析业务场景。 写组件时候要预留一些接口,考虑将来是否要求扩展,避免硬塞。
990 0

相关实验场景

更多
下一篇
无影云桌面