致所有测试人员的信

我两年多的测试生涯到头了。我想再这里总结一下点点滴滴。以及我也会说明我为什么选择离开。在中国有着很多很多的软件测试,很多迫于环境,迫于leader,迫于很多原因,导致只是一个“执行者”。以下只是我个人的一些经历。大家可以借鉴,也可吐槽,大家随意。
  首先在测试的时候需要有一些心理暗示,其实未必是暗示,可能是给自己的一些自信。
  第一:产品一定是有bug的。
  无论你测试什么产品,一定是需要报有这样的心态。为什么?其实就如一句说的“如果自己都不爱自己,那么就不要奢望别人来爱你”。如果连测试潜意识里面都觉得产品是没有bug的那么还能有谁认为产品是有bug的呢?
  测试的历史上有两种验证方法,一种是测试是用来验证产品一定是没有bug的,一种是测试是用来验证产品是有bug的。无论哪种你都要有一种原则,要有一种信念。就如人生漫漫长路一样,我们必须坚信自己的梦想,坚信自己是能够成功的。那么才有可能,才有希望。当碰见挫折的时候,当迷茫的时候,才不会真的被打败。
  一个新的feature,一个刚刚fix的bug,一个用户反馈,一个不起眼的问题。我们都需要坚信里面有缺陷的。没有任何一个产品,任何一个细节是完美的。
  许多公司从上级到下属对于产品的质量根本没有概念,又或者对于质量不重视。在这种情况下,就需要测试产生力量,需要用各种事实依据去告诉公司,告诉大家这样一个产品质量的真想。国外的公司相对好点,国内有很多公司是需要有这种有责任感的测试存在。
  第二,任何的bug都是能够repro的
  无论你面对一个很小的功能测试,还是很复杂的场景化的测试,又或者说某个用户很简单明了的描述了一个问题。我们需要坚定不移的告诉自己,只要是一个bug就是有重现步骤的。
  微软曾经有测试,一个问题的重现步骤长达50步。虽然可能不是最佳的步骤,但是依然对于解决问题起到了决定性的作用。
  自然,在实际中很多情况下的确会碰见一下子找不到重现步骤的方法。找不到方法意味着什么?意味着你可以开bug,dev可以fix这个bug。但是谁都不知道到底有没有真的修复这个问题。还可能因此出现很多regression的bug。所以找到一个bug的repro step可以说是一个测试基本功也是体现价值的地方。
  和第一点一样,只有你自己信念中去相信了,那么你才有可能成功。
  第三,只相信自己看到的
  在很多情况下,dev或者同事会告诉测试“这个功能很小,没有bug的”“简单测一下就好啦”等等的话。我主张还是不要太相信任何一个人。
  面对bug,我们需要好好的理清问题的根源逻辑,在进行一个完全的测试之后告诉自己“这个功能基本上不会有很大,或者很block用户的问题”;面对一个讨论,不要听到别人说什么就是什么,任何的决定都没有完全正确的。我们需要自己亲手去验证很多决定和设计,小到你可以google,找出各种证据来证明某些事情。大到你可以进行用户数据搜集,很多企业不会去做。但是如果一个有sense的测试,我相信必须什么事情都亲手去实践去证明!
  以上说了这么多,可能很多人觉得,这个还是测试么?ok,我认为真正的一个测试满足以上三点是远远不够的。以下是我认为一个有sense的测试,记住是有sense的测试需要做到的。
  第一:探知精神 乐于学习
  为什么我将这两个放在一起呢。两者密不可分。我所在公司是做android产品的。目前中国国内很多企业也是一样的问题,就是只是在乎自己的产品怎么样,并不会很关心你的发展。作为测试,必须有探知精神,必须乐于学习。比如你测试A平台的B产品,如果只是一味的测试,只是一味的报bug。的确你会有进步,做任何一行你都会有进步,行行都能够出状元。但是几年光阴一过去,当别人或者自己问问自己,自己真的知道了多少?可能对于自己公司做的产品很了解之外,一无所知。那么这样对于自身发展又有什么好处呢?
  探知,对于任何一个design,任何一个bug,任何一个细节都需要去探知。这样无论你做了多久,无论你是否做多少个项目都会依然有进步。时不时的问问自己,对于这个产品feature真的了解很透彻么?对于产品功能逻辑很清楚么?对于这个产品所在平台了解么?业内是不是主流的tools都清楚了呢?是不是自己已经没有了进步的余地了。这样自己会明了很多。
  第二:责任
  这点可能很多人会说,测试最基本的不就是责任么?没有责任怎么去做一个测试呢?是的,责任每个人都有,程度是不同的。你作为一个tester,需要保证产品的质量。勿以bug小而不重视,本质上依然是不负责任的表现。
  相反的,很多测试对于产品是负责了,对于自己却是不负责任的。因为他们只是一个傀儡,天天被人操控着。做这个做那个,我觉得这种是更加可悲的。
  如果你作为一个tester leader,那么你的责任不是去指挥别人做事情,不是去拍老板马屁。而是自己不要忘记进一步的学习,不要忘记对于任何的细节去了解。更不要忘记如果出了什么问题,自己勇于承担这个责任。真正的leader是什么?需要在流程以及技术上面有自己的sense,需要不停的去完善项目流程,从而提高测试team的效率以及项目的效率。
  第三:通过各种渠道找到bug repro step
  bug会从各个渠道发现。公司内部bug bash的时候,用户反馈的问题,自己找到的问题。老板发现的问题等等。这个时候能否找到repro step就是体现一个测试的价值所在了。
  测试往往碰见的问题是这样的。突然发现一个问题,欣喜若狂!但是然后问问自己“我刚刚做了什么”,基本上很多人都不知道。有的时候是有log可以取,但是log只是一个告诉开发如何dev去解决bug的。所以找出重现步骤才是王道。并非要时时刻刻保持警惕,可以有两个做法,一个就是自己在测试的时候留个心眼,养成时不时回忆自己做了哪些操作。一个就是养成一边测试一边记录log的方法,这个方法相对很保险,不过前提是自己需要有完全看得懂log的能力。
  另外一类bug是从用户这里报出。用户一般是无知的,根本不会懂你产品的逻辑,可能描述出来的错误和真正的错误根本就是天差地别。这个时候就需要测试去按照经验以及各种方法去判断。判断出用户说的产品的真正的问题在哪里,然后使用各种方法(automation.etc)去模拟bug产生的环境。这样一来,bug在修复的情况下能够在公司内部马上得到confirm。这样无论是对于产品,用户,还是公司都是一种无限大的利益。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-24 16:33:49

致所有测试人员的信的相关文章

关于测试人员的职业发展

近期由于项目组人手不够,需要招聘一些测试人员.本周及上周陆陆续续面试了十多个应征者,工作年限在2年~9年之间,但无一满意.期间,种种感叹,回想起去年面试六十余人仅有3人满足要求,如有鲠在喉,还是吐槽一下.如有不对请大家也狂喷我. 我的要求高么? 我的要求其实是:有还算不错的沟通能力,熟悉常见软件开发流程,有一定的需求分析.用例设计能力,会基本的linux和sql操作能力.有一些代码能力会加分.这是长期与现实妥协的结果.如果人还算机灵,其实我很愿意花时间来培养他们. 面试结果 令人惋惜的是,一个合

对测试人员或开发人员来说相互沟通有多重要?

要开始讨论的话题之前,我想举一个实际生活中的例子: 丈夫和妻子住在同一所房子里,且不与对方沟通.或者说他们之间没有什么可以说的.他们只是用短信告知对方如果有什么重要事要注意.否则,两人都是在忙自己的生活,不怎么会打扰或者照顾对方.长久如此会发生什么?一种挫败感升高,刺激倍增,愤怒的表现和情绪失控的发生.一段关系只会在有频繁交流,难得争吵,大量共识以及彼此之间赞扬的情况下才能加强. 现在,将上述情况与软件项目生命周期进行一下比较. 开发人员和测试人员之间的关系也是类似的,双方都为一个项目工作为了要

测试人员必备的软技能

测试人员在软件开发生命周期中,除了独立完成测试任务以外,还需要和项目的不同利益相关者进行合作,包括项目经理.开发人员或者用户等.测试人员需要向项目经理/测试经理反馈测试进度.产品质量等信息,同时还需要从项目经理/测试经理处获得项目的进展和状态,例如:项目内容或进度的变更.在测试过程中,无论是提交缺陷还是文档评审,测试人员都离不开和开发人员的合作和沟通.测试人员还可能需要从客户那里了解用户是如何使用产品的,或者因为产品的质量问题,从用户那里得到反馈甚至抱怨.因此,在复杂的测试工作环境中,测试人员除

测试人员总结应如何提高产品质量

应我们总监要求,让我这个测试来写一篇关于 如何提高运营质量的文章,这不是为难我吗? 第一,我不是运营,该怎么写运营质量呢? 第二,我也不是项目经理,对整个项目产品把关? 问过很多同学,回复百度,或者只是写一下 测试在整个运营中的工作及重要性和影响就行. 无奈小公司,没有几个运营人员,产品上线后,用户有一些问题没有及时处理,我是兼测试和客服了. 附件中是自己写的一个文档,记录在日志中,也算自己的工作收获了. 刚才重新查看了下,上传的附件没有找到,不知道怎么回事,哎. 如何提高产品运营质量 要想提高

TCP/IP体系结构-测试人员必须理解的

如果还想在测试这条路上继续走下去的话,那么下面这些东西就是我们必须去掌握的,至少你还不想止步于简单的黑盒测试--其实,一直想去接触Linux下的应用测试,这样能学到东西会很多,而且会非常的受用.之前听小布老师讲,如果你想在IT技术上长期发展下去,那么你就大胆拥抱Linux吧,因为在这里你能学到东西远胜过于你在Windows平台下学到的东西,而其中最经典的一段话就是:如果你一直跟随微软的技术,那么终究会被拖死,因为微软的技术一直在变化,而你却需要不断的去学习他的东西.而Linux不一样,它更多的是

渗透测试工程师的17个常用工具 还有专家告诉你如何成为渗透测试人员—转载绿盟

渗透测试工程师的17个常用工具 还有专家告诉你如何成为渗透测试人员 发布时间:2017年9月15日 07:51    浏览量:2231   渗透测试 (pen testing) 是由安全专家进行的一项安全性测试,其目的是为了在攻击者攻击之前发现系统中的漏洞.它需要聪明的思考.耐心和一点点运气.此外, 大多数安全专家将需要一些具体的工具来帮助完成这项工作. 最近, 外媒跟一些民间组织和一些安全专家进行了沟通,看看他们最喜欢用哪些工具.下面的工具是那些在简单的评估.复杂的项目中曾经用过的工具,其中的

JMeter远程测试,每个实际测试人员都要学习的

详解JMeter远程测试(1) 如果运行JMeter客户端的机器性能不能满足测试需要,那么测试人员可以通过单个JMeter GUI客户端来控制多个远程JMeter服务器,以便对服务器进行压力测试,模拟足够多的并发用户.通过远程运行JMeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服务器压力.一个JMeter GUI客户端实例,理论上可以控制任意多的远程JMeter实例,并通过它们收集测试数据,如图11-3所示.这样一来,就有了如下特性: 保存测试采样数据到本地机器.

做一名安静的Web渗透测试人员必备的8种素质和技能

无疑,Web安全测试工程师或Web渗透测试工程师的任务就是审计公司的Web应用程序.Web服务.Web服务器的安全性.那么,公司如何才能请到优秀的Web应用安全专家而不是纸上谈兵的"赵括"?下面的这八项素质或技能可以为公司选聘Web渗透测试人员提供参考: 1. Web渗透测试人员拥有一定的开发背景(知道如何编码) 公司不可能聘用一位连编写代码都不懂人成为渗透测试人员.公司的Web渗透测试者应首先是开发者,在此基础上才考虑对Web漏洞扫描器的掌握技能,其好处有五个方面: · 了解所开发W

做一名安静的Web渗透测试人员 要必备的8种素质和技能

无疑,Web安全测试工程师或Web渗透测试工程师的任务就是审计公司的Web应用程序.Web服务.Web服务器的安全性.那么,公司如何才能请到优秀的Web应用安全专家而不是纸上谈兵的"赵括"?下面的这八项素质或技能可以为公司选聘Web渗透测试人员提供参考: 1. Web渗透测试人员拥有一定的开发背景(知道如何编码) 公司不可能聘用一位连编写代码都不懂人成为渗透测试人员.公司的Web渗透测试者应首先是开发者,在此基础上才考虑对Web漏洞扫描器的掌握技能,其好处有五个方面: · 了解所开发W