如何成为一个优秀的测试人员.doc_第1页
如何成为一个优秀的测试人员.doc_第2页
如何成为一个优秀的测试人员.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何成为一个优秀的测试人员(fly) 如何成为一个合格而又优秀的测试人员呢?也许有人说只要懂的测试理论、测试方法再会一些技术就能够成为一个合格的测试人员,而要成为一个优秀的受人尊敬的测试人员只需要和研发搞好关系,自己的人缘好了,自然也就能成为一个优秀的测试人员;也有人说只要自己的技术够牛自然会成为一个合格优秀的测试人员;我不知道你们看完这些论点是否赞同,但是我只能认可其中的一小部分观点,为什么我要这样说?也许你会问“难道你很牛吗?”,但是我可以直接告诉你的是“我从来不认为自己的技术有那么牛,因为我还一直在学习”。既然我不太赞同别人的观点自然要阐述一下自己对如何成为一个合格而又优秀的测试人员的观点。 在测试行业中测试的界限已经分的很明确,也就是我们常说的黑盒测试和白盒测试。那么我们在黑盒测试或者白盒测试中应该怎么测试呢?是不是只要我们在测试某款产品功能的时候是只用鼠标点一下找出其中的缺陷即可吗?还是我们只要找出代码中的逻辑、路径不合理的地方即可吗?答案自然不是。那么我们需要什么样的条件才是合格而又优秀的测试人员呢?从这几年工作中总结了一下测试人员应该所具备的一些知识。 在上述中我已经提到我认可一小部分的观点,这些观点就是技术和测试理论;那么我就详细说一下如何成为优秀的测试者;首先:我们必须懂得一些测试方面的理论、测试方法,这是成为测试人员的最基本的条件;其次:我们需要懂一些技术,而这些技术不仅仅说你会操作系统方面的知识、编程方面的知识就可以的而是要会的知识很全面;再次:要有发散思维的思想,只有这样你才能尽可能的去想自己的用例;最后:你需要有一个很好的沟通过能力,所谓的沟通能力不仅仅是指和研发沟通时将自己的发现的问题描述清楚即可的。那么我就从这几点阐述一下。 测试理论方面:所谓的测试理论在网上有很多的教程,包括一些测试流程;在学习这些理论的时候我们应该有自己的思想,不是上面说什么就要学习什么而是要选择对自己有用的一些东西;比如常说的“5W”,为什么要用5W,5W的好处是什么,这些你们是否很清楚呢?比如:what指的是测试什么,那么我们是在研发提交一个测试版本的时候才清楚自己要测试什么?还是在研发提交测试版本前就清楚要测试什么呢?我想,应该有一部分人是会选择前者吧;我们需要测试什么是在市场、产品或者销售在提出需求的时候就应该知道我们要测试什么,这样你才有时间去了解一个功能具体要呈现的结果,在你了解这些部门提出的需求后你才能够详细的设计自己的测试用例,才能够详细写整个产品的测试计划;既然这样,那么在他们提出需求的时候我们就需要对需求进行评审,测试人员参加评审是为了更好的理解需求,在未来的测试过程中才能够在了解需求的基础上更多的发现缺陷。 测试定位:所谓的测试定位是针对不同的产品进行讲述的;比如说对于交互方面的测试,在此种类型的测试过程中很多测试人员很难发现一些问题,为什么?那是他们的定位和测试角度没选好。那么如何定位这种类型的测试呢?1、要从产品本身的功能去测试;2、要从客户角度去测试,此时你不能把自己当成一个专业的测试人员而是要把自己当成一个普通的用户,因为用户包含很多种,比如说:文化程度方面、审美方面等等;3、要了解这个产品所面临的市场,这些信息可以从市场部门、产品部门等获取相关信息; 技术方面:在测试过程中需要什么的技术?对于不同的产品,不同的行业所需求的技术也就没有相同的标准;当然你会的越多对你本身的文化修养、素质的提升有着很大的帮助;那么我们作为专业的测试人员需要哪些方面的知识呢?1、编程方面的知识比如C、JAVA、php、python等;你也许要问“我不做白盒测试为什么要懂这些编程语言呢?”,为什么呢?当初我也不明白,可后来我明白了,如果你懂得一些编程方面的语言那么在和研发讨论的时候你可以做到有理有据不至于被研发忽悠,更不至于他们低看。在需求评审的时候有的研发技术水平的有限,本来能够实现的功能他自认这些功能没有办法实现,那么如果这个时候你懂得这些编程语言的话你可以提出自己的观点。当研发说实现该功能很有技术难度的时候,你同样提出了自己的的观点以及所采用的技术,那么你觉得在公司中你的价值如何呢?既然对我们有好处那么我们是否要把全部的编程语言都要学会呢,答案当然不是,只需要一些主流的、常用的一种即可;比如在python和shell中我选择了python;2、操作系统方面的linux知识以及window server方面的知识;是否这两种操作知识是否都要精通呢?答案当然也不是,比如:linux方面我们只需要会常见的服务搭建以及一些常用命令即可;常见的服务比如apache、ftp等;常用的命令比如:配置IP地址、查看文件、查看端口、源码安装、RPM包安装等等;如果工作中需要写脚本的话你会了python还需要再详细学习shell吗?所以会一种编程是很美的事情;3、网络知识,你也许会说:我为什么要会网络方面的知识呢?我不会网络知识同样在做测试。如果你这样说我也不会反驳你,为什么?我觉得没必要,我只是要问一句,你搭建测试环境吗?如果你没有搭建过那么你根本不会网络知识对测试的重要性;在任何软件测试过程中测试环境的重要性是绝对不容忽视的,在定位问题的时候也绝不允许忽视;比如:你在测试一个web页面的时候,突然出现502、404等这些代码,你知道代表什么吗?那你会如何处理?找研发?还是找运维?如果是别人帮你解决的那么你在我眼中根本不是一个合格的测试人员;在懂网络知识的同时要学会借助工具来分析问题,比如:TCPDUMP、wireshark等;为什么要建议自己搭建测试环境呢,因为在搭建测试环境的过程中你也在进行着模块之间的联调,借此机会你更能够了解这个产品的工作流程;对一个产品了解最深的是产品吗?研发吗?当然不是,了解最深的当然是测试,因为研发只负责自己的模块,产品只提出需求而对产品内部的实现结果却不是很了解;所以一定要自己搭建测试环境。4、数据库知识:比如:MS SQL、MYsql、ORCLE等;而MS sql、Mysql只要会一种就可以了,因为他们的sql语句基本相同;而ORCLE是有前公司用的;而最经常用到的就是Mysql;那么我们只需要会一些基本的sql语句即可,至于如何优化表、优化数据库那是研发和DBA做的事情;5、自动化工具,如果想要有所提升还是要掌握一些自动化工具的,比如常用的性能测试工具Loadrunner,功能测试工具QTP(基于web的功能测试)等,如果是对网卡的性能测试就需要掌握自动发包的工具;而这些工具在选择文章和书籍方面需要有选择性的吸收;有些文章和书都是相互拷贝的,建议还是看原版的好。6、文档撰写:所谓文档的撰写是指测试计划、测试用例、BUG描述以及测试报告等;在写测试用例的时候要有思维发散的,因为只有你的思维进行一定程度的发散你才能够更多的想到测试点、测试面,所以就有了点、面结合的测试;7、在测试过程中要学着自己定位问题、分析问题,这样才能在寻找问题中学到更多的知识; 沟通方面:这个方面的东西很多文章说要和研发打好关系就可以了,看到这样的话我只能一笑了之;和同事搞好关系是必须的,因为这是你在工作中必须要做到的事情,公司也是一个小社会,更何况多一个朋友总比多一个敌人要好很多,但是这不代表研发能够认可你的技术、你的品质;现在无论大公司还是小公司都有绩效考核,测试给研发提交BUG的时候有BUG级别的确定,如果你给他提一些很多的block级别的BUG看看,还能保证他和你的关系吗?如果确实是block级别的而你为了关系提了一个Major的那么你自己的绩效呢,而确定BUG级别的前提是你必须会上述“技术方面”提到的知

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论