但是我要告诉你的是“这和测试没有什么关系,这所有的一切都只能说明,你们的测试人员很滥,他们的很滥直接影响到了你对整个测试的理解”;
同时,我要讲的是是否了解需求与是否做黑盒测试没有关系,下面是黑盒测试的概念可以参考一下:
黑盒测试:也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
所以,如果遇到上面的情况,不应该是说对软件测试失去信心(因为我们需要更好的保证质量),而应该向你的上级反应,我们需要更称职的测试人员!!!
建议去51Testing上看一看有关软件测试方面的信息
“在做性能测试的时候,需要 Dev 手把手的教怎么做性能测试,如何找到系统性能极限,如何测试系统的 latency,如何观察系统的负载(CPU,内存,网络带宽,磁盘和网卡I/O,内存换页……)如何做 Soak Test,如何观察各个线程的资源使用情况,如何通过配置网络交换机来模拟各种网络错误,等等,等等。”
这就是我上面说的,测试人员的本身素质太差,无法实现自我学习,自我提升与自我突破的情形
要知道在工作中要用到的东西并不是我们都会的,在这种情况下,我们就要积极主动的去学习,个人认为在有压力的情况下学习,往往是事半功倍的!
“在项目快要上线前的一周,我又私自查看了一下他们的 Test Result,我看到 5 天的 Soak Test 的内存使用一直往上涨,很明显的内存泄露,这个情况发生在 2 个月前,但是一直都没有报告,我只好和我的程序员每天都加班到凌晨,赶在上线前解决了这个问题。但是,QA 部门的同学们就像没发生什么事似的,依然正常上下班。哎……”
首先要肯定的是测试人员没有测试好,开发人员没有开发好,所以谁也不要说谁做得不好。人非圣贤,离孰能无过焉!
出现问题时,先解决问题,而不是先追究责任,在问题解决之后,我们需要讨论问题产生的原因,如何避免下次再出现这样的情况,同时如果可以追溯到相关的责任人,我们要进行一定的处理,但处理不是重点。
出现一些紧急的情况,加班难免,要能扛得住!
“为什么会这样?我觉得有这么几点原因(和邹欣的观点一样)
1、给了 QA 全部测试的权力,但是没有给相应的责任,
2、QA 没有体会过软件质量出问题后的痛苦(解决线上问题的压力),导致 QA 不会主动思考和改进。
3、QA 对 Dev 的开发过程和技术完全不了解,增加了很多 QA 和 Dev 的沟通。
4、QA 对软件项目的设计和实现要点不了解,导致了很多不有效的测试。”
1、质量部的责任是很重的,一量出现漏测或出现线上事故,质量部是要承担一半或以上的责任的(但具体的也要看公司的情况,如果没有系统的管理,这个很难说)
2、软件出现问题,测试人员是不是要重新测试,甚至有时候要加班加点(至于分享者说的他们测试人员不管什么时候按时下班,这还是归结到测试人员的素质问题,就无关乎能力了)是常有的事;计算机行业是一个快速发展的行业,不思考不主动学习,你很快就会被淘汰,如果你的公司的测试人员还抱着过去的知识、抑制学习、被动思考,那么你可以让他回家抱孩子,热坑头……
3、测试人员不了解软件工程或开发语言的情况常有,但有时候我们也需要精通业务的人来进行测试,这个是很重要的!
4、这个涉及到我前面讲过的对需求的管理与测试人员对需求的理解,以及对基础测试理论的缺失
从以上的几个观点来看,可以看出来文章的作者对测试人员还是很存在一定的理解偏差的,他的问题主要是把他们公司的测试一些人员当成了整个软件测试行业!
如果他可以跳出他们公司,去质量管理规范的公司看一看,或许能有极大的改观,不知道他本身是否认可?
“我越来越觉得软件开发,真的不需要专职的 QA,更不需要只写代码不懂做测试的专职的 Dev”
关于作者的这句话,我不敢完全苟同,我觉得更应该这样说:
“我越来越觉得需要软件测试人员,但不需要不专业的测试人员,更不需要只写代码不懂做测试的专职的 Dev”
我为什么我不说“我们需要专业的测试人员”而不是说“我们需要懂开发的测试人员”?
专业,包括懂需求、懂开发、懂测试理论的人员,也包括懂业务、懂需求、懂测试理论的测试人员,这两者都是我们需要的优秀的测试人员!
“1) 开发人员做测试更有效
开发人员本来就要测试自己写的软件,如果开发人员不懂测试,或是对测试不专业,那么这就不是一个专业的开发人员。
开发人员了解整个软件的设计和开发过程,开发人员是最清楚应该怎么测试的,这包括单元测试,功能测试,性能测试,回归测试,以及 Soak Test 等。
开发人员知道怎么测试是最有效的。开发人员知道所有的 function point,知道 fix 一个 bug 后,哪些测试要做回归和验证,哪些不需要。开发人员的技术能力知道怎么才能更好的做测试。
很多开发人员只喜欢写代码,不喜欢做测试,或是他们说,开发人员应该关注于开发,而不是测试。这个思路相当的错误。开发人员最应该关注的是软件质量,需要证明自己的开发成果的质量。开发人员如果都不知道怎么做测试,这个开发人员就是一个不合格的开发人员。
另外,我始终不明白,为什么不做开发的 QA 会比 Dev 在测试上更专业? 这一点都说不通啊。”
闻道有先后,术业有专攻!
首先我对写下这段文字的Dev表示我的景仰,你能说出这番话说明你还是对软件测试、对软件质量、对Dev本身的测试还是有一定的了解和意识的。
但是,要知道软件测试也是一个系统的过程,和软件开发一样,他有一个长期的过程,开发人员通经系统、完善的培训或者可以成为一个优秀的测试人员,这个不虚假;但是术业有专攻,开发人员专攻的是开发,测试人员专攻的是测试(最最好是彼此都有一些了解)。开发人员要进行的测试是对基础功能的粗略测试,因为他有更重要的开发工作要去完成,做不到详细的完全测试;而测试人员一方面要详细的对基础功能进行测试,还要对很多很多的细支末节进行测试,尤其是平常经常使用的或可能会出现,但一般人很少想到的,在测试中我们称之为场景,测试人员要对各种可能出现的场景进行测试,往往这种测试是很烦琐的。