前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试小白必读

软件测试小白必读

作者头像
互联网金融打杂
发布2018-04-03 10:27:10
1K0
发布2018-04-03 10:27:10
举报

软件测试作为一个行业繁荣发展,也只是近四五年的事情,相关培训也是雨后春笋,自2011年入行,看过太多人转行,看过一些人带着未知想入行,真真是围城里的人想出去,围城外的人想进来。如果去网络上搜索相关信息,大都说,测试是个门槛低的行业,我曾经认同这个说法,现在对这个说法带保留意见,不过,每次别人问我在做什么的时候,我的回答一成不变:玩儿手机的。

这么说一点儿都没有逗你的意思,2011年的时候,诺基亚虽已迟暮,但还顽强的支撑着很多团队的运转,我从那个时候开始手机系统的测试,后来到android app的测试,然后就一直是app的测试,这两种测试,都是每天对着手机各种玩,目的就是把目标玩儿死。所以针对我理解的软件测试,作为QA,我简单的闲聊下。我先来讲两个例子。

第一个,有个朋友的朋友本来的行业与IT毫不沾边,非常唾弃那些动不动就拽英语的人,觉得别人中汉交杂的说话是故意拽,当然,他自己的英文貌似很差。因为自己的行业经常加班,工资貌似在7-8K的样子,觉得暗无天日,就辞了职,去报了个软件测试培训班,说是包就业的,朋友知道我是做测试的,过来咨询我的意见,但他的目的,主要是打听我的工资水平,而不是软件测试工程师的工作内容与必备技能,我非常真诚的听了下这个朋友的朋友的具体情况,然后得出了个结论,他目前职业发展到了迷茫期和瓶颈期,而且听说做IT的工资都很高,因为听说,就像海市蜃楼在你眼前,迷茫的现有工作如魔鬼一样在后面推你,稀里糊涂的你就往前走了。但是,第一,每个职业都有自己的瓶颈。第二,对于将要入行的职业一无所知就扑进来,我觉得不是勇气。第三,我来说下行业里普遍的一些现象/概念。

一,     我们确实经常会中英文交杂的说话,我们会经常说,“这个bug很难repro,repro rate为30%”,“可以跟我说下这个bug的root cause嘛?”“明天之前我准备好test case”,我们没在炫耀什么,只是很多词语确实只有那个英文单词能确切的表达这个意思。我说的这种情况是中国团队合作的情况。如果你处于外国团队合作的情况,那么对你的听说能力就会有更高的要求,不过他们都很nice,跟中国的工作人员沟通,在不了解你英文水平的情况下都会特意放慢语速。所以你看,“nice”这个词我真的不知道该用哪个词来代替,你想说“很好”?但其实味道挺不一样的。

二,     如果你的听说很差,也一定要有一定的读写能力,因为可能你写报告要用英文,即使不写报告,提交bug也要用英文,即使不用英文提交bug,一些文档你还是要看的吧?比如http://developer.android.com/index.html你说你可以看翻译的?我也不知道该怎么回答,我身边的大牛都是能直接看原文书籍和文档的,在我看来,QA尤其需要这项技能,因为测试技术在中国发展的很缓慢,中国顶尖的测试人才也许很多,但出来的书籍,参考文档,先进的还是国外的多些。阅读原文的能力,是很重要的一点。

三,     众人眼中IT人才普遍工资高,这一点我还真不知道。仅就行业内来说,你的工资水平是跟你的个人能力严格挂钩的。不挂钩的情况分几种,第一,企业急招,但是实在招不到人,所以**招人,据说这种都是创业型小公司为了赶项目,会给应聘者超出能力范围的薪资,但项目结束后呢?(这只是我的了解,并没有实例)第二,企业急召,并且你的能力与职业有相对较高的匹配度。第三,HR和面试你的人要么是土豪,要么是傻X。所以,在了解市场行情,个人能力的前提下你再跟别人谈钱。

四,     软件测试也叫QA,我是玩儿手机的,但不是所有QA都是玩手机的。还有一种叫SDET也是QA的一种。QA又因为工作内容不同而有不同的工种,PC端和客户端,他俩分别有同工种的仔仔。黑盒,白盒,自动化,性能等等。这些概念性的知识是你入行前就需要大致了解和准备的。每个工种都可以说是不同的行业,代表着你以后的职业路径,所以,入行需谨慎。

五,     QA也是有职业发展瓶颈的,就像女汉子也需要谈恋爱一样正常。而遇到瓶颈后是逃避还是寻找答案,跟行业没关系,跟人有关系。

六,     外包这个词你要知道,典型的几个IT外包公司,文思海辉,博彦,软通动力。这个词当时我怎么都理解不了,后来在外包公司待了两年,才切身体会到。(哎,笨人没的医)通俗点说,A(雇主)公司把一部分活给B(外包公司)公司,你签约B公司,但干的是A公司项目的活。外包又分两种,一种是外派到A公司去,另一种是公司内部有个团队,在B公司里面做这个活儿。外包的话有些人很排斥,在我看来倒是各有利弊。如果你想进入这个行业,但是不能直接和一些大牛公司牵手,那借助外包就会是一个很好的平台。而对于新人来说,平台很重要。这块要展开来说的话也可以但开个题了,暂且点到为止。

七,     沟通。对于开发,很多人的固有印象是每天埋头写代码,对于测试呢?其实无论开发,测试,都不是每天埋头写代码的。我们每天话30%~70%的精力去沟通,沟通需求,沟通repro step,沟通测试结果,修复方法……

第二个例子,遇到的新人,聪明,高EQ,高IQ,就是因为什么都高,自己没办法低下来。然后自然而然的衍生出很多问题。而我的另一个朋友,同样高EQ,高IQ,还是个大美女,但态度放的很低,再加上元认知能力强悍,毅力强悍,能力自然跟的上。同样双高的人,但她们的距离太远了,这个距离是态度。我可以接受你不聪明,可以接受你效率低,我甚至可以接受你偶尔的懒散,但我的底线是你对工作的态度,我的最低期望是可以把最简单的工作放心的交给你。我想,态度这个问题不只是IT这个行业,应该是通用的。你可以不喜欢,但你得认真。就像有人跟你表白,你可以拒绝或接受,拒绝请利落,接受请认真。

这个引子貌似有点儿长而啰嗦,我想说的是什么呢?入行。

如果你打算进入这个行业,那有些概念是你需要清楚的。

  1. 软件测试的概念
  2. 软件测试的分类
  3. 软件测试的工作流程
  4. 软件测试的测试方法分类
  5. bug的定义
  6. bug的生命周期
  7. 测试策略的概念
  8. 软件测试常用的工具有哪些
  9. 哪些技术是必备的?哪些是辅助的?

还有一些软技能是你需要具备的:

  1. 沟通能力
  2. 自我驱动力
  3. 学习能力
  4. 快速的适应能力
  5. 责任心
  6. 态度

可能远远不止这些,但你连这些都不知道,那你选择入行一定是过于鲁莽了。知道不一定是让你熟练掌握,你知道有这个概念就行了,等你实际工作了,遇到你就会对它有更深远的理解。这是我最近才总结出来的,温故知新,工作5年后重新去看那些基本概念,一些新的理解会冒出来。

那接下来说下转行。从事软件测试后转行的有很多,有转成产品经理的,项目经理,UI设计,交互设计,开发,还有跟IT毫不相关的职业。有工作10多年后转的,有工作1,2年后转的,有遇到瓶颈转的,有因为职业路径规划转的。而我遇到最多的,是QA转产品经理,以及QA转开发测试。如果是行业内的转,你要知道,不同的行业,不止需要的是该行业的专业技能,还有思维方式。就像开发的思维方式是创造,测试的思维方式则是破坏。在我看来,这个是比技能更重要的转变。写到这突然觉得针对转行这个话题,我没啥能说的。

第一次写跟工作相关的文档,还有稍许不适,如果你读的云里雾里,就当坐了一圈过山车。( via echohappy521)


软件测试新人需要及时掌握哪些技能?

问题描述:作为一个刚进入软件测试行业的新人,哪些技能是最需要及时掌握的?

精彩答案:

会员 平凡子 :

  测试新人,哪些技能是及时掌握的?

  1、讨论之个议题之前,我们先明确测试新人为什么需要掌握一些技能。

  2、作为测试新人,如果开始就是达人什么都会什么都懂,也就没什么技能需要掌握了。

  3、之所以需要掌握相关技能是因为:

  A、测试新人对业务,应用程序,特殊工具,日常流程不熟悉,千头万绪不知道从哪里开始?

  B、有些测试项目需要背景知识,有些需要分析技能、有些需要编程技能、有些需要自动化测试能力、有些需要数据库知识、有些专业业务技能。自己可能以前未接触过!

  C、团队和公司文化的不熟悉,周围都是陌生人、自己是否会被很快接受、勾通是否畅通、同事是否友好、领导是否关心。

  D、团队分工问题,你处于哪个组,你的职责是什么,你会跟谁合作?相应的就需要学习与自己职责有关的技术,知识。

  4、所以,关于测试新人及时掌握什么技能,和以上几个方面都有很大的联系,现总结如下:

  A、作为测试新人,肯定是好多东西都不懂,不懂就要学和问,学和问就要产生沟通,所以必要的沟通能力是首要掌握的。

  B、由于各行各行业测试对象各自都有其特殊性,掌握业务技术基础,知道测试对象的工作原理及应用。

  如果然测试对象有什么作用,是怎么工作的都不清楚,那就谈不上测试,所以业务能力不得不掌握。

  C、业务知识、技术、能力达到标准后,那就需要对业务对象进行测试,那怎么测?为什么这样测?

  测试有哪些方法,怎么测更全面、更迅速。这样测试技术,测试流程,测试理论就不能不掌握。

  C、测试技术、测试方法的应用又离不开相关工具的辅助,那么测试工具的应用能力也要提上日程,至于掌握什么测试工具,那就根据岗位职责、业务特征来决定了。

  D、随着测试技术、测试方法、测试工具的应用,以及测试层次的加深,这个时候就不再是针对因研发马虎,未自检的、简易的BUG进行测试,而是从底层设计开发方面找出设计、研发的漏洞,找出研发本身能力未能发现和解决的漏洞。那么要看懂研发的程序, 开发模型的编程方面的技能又需要掌握。

  E、关于掌握数据库的技能:

  · 如果测试对象是和数据库紧密联系的,那肯定需要掌握;

  · 如果测试对象需要大量的测试数据;

  那么测试数据的生成,自动化工具的数据连接,也需要掌握必要的数据库能力;


初级测试工程师如何得到快速提升和认可?

问题描述:初级测试工程师或新进入一家公司从事测试工作的人员,如何快速得到提升和认可?

精彩答案:

会员 yolander :

  题目写的非常清楚,角色定位为初级测试工程师,那就来看看对于测试新手入行,我们都看重他(她)的哪些方面吧

  首先,从个人素质来看,我喜欢的测试新人要具备:

  1、快速的学习能力

  ——这也是我最看重的一点,作为测试人员也好,开发人员也好,同为技术岗位,如果缺乏学习能力,那么他将来的发展肯定是十分有限的,而对测试岗位来说,快速的学习更显得尤为重要,因为作为入门级的开发新手,或许只需要看懂设计文档,能够使用开发工具进行编码就可以了,但是测试人员则不同,除了编码(更多的是体现在测试脚本的开发上),更需要深入掌握系统知识,业务能力上要比研发人员高一大块,这样在将来的工作中,提出的问题也更有说服力,更能够被开发人员所接受

  2、细致认真的工作态度

  ——很多人都将测试人员比喻为“挑毛病的”,这可能是一句戏言,但也体现了作为测试人员的一种定位,我们从事了这样的行业,随时都在给开发人员编写的程序找bug,那么我们自己的工作是否也能够被人找出bug来呢?如果缺乏细致认真的工作态度,提交个问题报告也会错别字百出,甚至漏洞一堆,那么怎么能够让人相信我们的工作是有效的呢?要做好测试工作,那么首先要在工作中竖立自己的威信,但这种威信,并不是靠你的上级授权的,更多是通过自己的日常工作积累,给大家留下的深刻印象,共同认定为你是这个行业中的权威才行

  3、充沛的精力

  ——我很喜欢与有着充沛精力的测试人员一起工作,测试是一门需要足够耐心的行业,虽然自动测试技术的兴起,已经能够减少我们工作中一些简单繁琐的重复性劳动,但实践经验来看,测试并不能完全杜绝这种单调的手动测试工作,仍然需要大量手动测试的执行,所以就需要我们测试工程师具备自我激励的能力,能够在这样的乏味工作中找到自己的兴奋点,并且能用自己的充沛的热情去感染别人

  4、高度的责任心

  ——测试是个良心活,投入时间、执行次数等度量项,都无法真正与测试出的问题数成正比,如果缺乏高度的责任心,在测试工作中“偷懒”(请原谅我用了这个词),确实是一个极大的资源浪费,可能在短时间内很难被发现,但是逐渐成熟起来的测试过程、度量与统计学、以及标准化的管理办法,都会逐渐淘汰掉这样的测试人员,所以请各位希望在测试岗位上有所发展的新人们,一定要在入行伊始,就建立起自己的责任心吧,将责任变为习惯,一定会让你的步伐走的越来越稳健

  5、良好的沟通能力

  ——测试工作有时是需要跟多个环节打交道的,有时是开发人员,有时是项目经理,还有时,甚至是直接面对客户,所以,作为测试人员的能力要求中,沟通能力也很重要,而且,事实证明,有着很好的沟通能力的测试工程师,他报告的问题在开发人员中的接受度也是相对较高的

  以上,是我对一个测试新手的考量指标,如果是作为测试工程师、高级测试工程师等等,可能要求的方面也会有所不同,但就作为新人来讲,是否适合测试工作的岗位,我会更看重上面几条标准

会员 莫道桑榆晚 :

一:端正心态

  测试人员是孤独的,寂寞的。作为测试人员,我们也许干的工作比开发还要繁锁,更加枯燥更加乏味,重复的测试使我们麻木,工作强度和压力给我们测试人员背负着三座大山,而我们的收入却无法与开发拼比?为什么?这就是心态。做任何一行工作,都会遇到不公平。但为什么要去跟别人比呢,只要自己有提高,就是好的。作为测试初级工程师,我们无法与资深的专家比,无法与开发比,但是我们必须得端正心态。

二:正确定位

  现实中很多测试人员是由于不能从事其它工作才从事测试的,因而工作中也是不断地抱怨待遇、团队环境等不能满足自己的要求。在此建议测试工程师,如果选择了这个行业,就应该认真地对待工作,抱怨永远解决不了问题。作为软件测试工程师只有认真分析自己的行业,才可以有更好的职业化发展,否则还不如换其他的工作。既然选择了目前地位有些低的测试工作,就应该踏实的做好,不要刚进这家公司,发现那家更好马上就跳。


如何能得到一些国内或国外大公司的测试职位?

问题描述:如何能得到一些国内或国外大公司的测试职位?

精彩答案:

会员 戒情人 :

  我来简单谈谈自己的认识吧:

  1. 业务。如果你在一个行业做了多年,对这个行业的业务非常熟悉了,这绝对是一个大优势。公司无论国内国外,无论大公司小公司,在招聘时都会注明有相关行业经验优先。行业经验不是一朝一夕就能得到的,是一个长时间的积累过程。你有相关的行业经验,工作就很容易上手,而且做出成绩。有些公司招人时,对有相关的行业经验这一条是必须条件。比如复杂业务的电信行业(当然不是每个公司都是)。

  2. 学历。出身很重要的。虽然很多公司都表明更看中能力,但其实他们还是很看重你的学历的。重点大学或者研究生、博士,更容易获得好公司的青睐。

  3. 技术。大公司做测试,不单单要求能做黑盒测试,如果你擅长自动化,擅长编码,就自然而然的增加了自己的优势。

  4. 英语。好的公司都是很看重英语能力的,因为很多帮助文档,技术文档都是英文的。你英文不好,公司不会相信你有很好的能力和潜力。

会员 yolander :

  我觉得六楼总结的四条已经基本概括了用人单位的要求,比如:

  1.学历——这可能是一些大公司的敲门砖了,因为无论去哪家公司面试,首先需要接触的都是HR部门,而对于HR来说,好的学历几乎等同于你的个人素质,他们都是非专业人员,无法在短时间内判断你的能力高低,所以学历就变成了唯一的衡量标准。

  2.业务能力(行业知识)——这个要看你从事的是哪些行业软件的测试,如果是通用软件的,那么业务就显得不是特别的关键了,但如果是专业软件,尤其是业务流程复杂的,专业性越强,对业务能力的要求也就越高,如果能够在相关行业有一定的积累,那么被聘用的可能性也会较大,这个通常会通过你的工作经历和从业时间来判断,有时用人部门也会通过面谈等方式进行侧面了解,而且很多时候它可以作为学历欠缺方面的弥补,前提时,你要先给自己争取到面试的机会。

  3.技术能力(测试专业)——主要是指测试相关的专业技能,比如测试设计、测试开发,这个是可以通过一些问卷,或者面试来进行考核的,同时如果具备了测试策划、测试管理、质量管理项目管理配置管理等相关经验那就更好了,从我罗列出来的内容也可以看出,倒不一定是有开发经验,才能做好测试,不过如果在考核过程中适当的表现出自己的细致认真的一面,也还是有所进益的。

  4.语言能力——这个也跟从事的行业相关,如果是欧美日韩等合资公司,或者做对外业务较多的国内公司,是会对语言能力有一定的要求的,但如果是只做国内业务的公司,据我所知,国内也有不少IT公司是做国内行业解决方案的,这些公司就不会对语言能力做太多的要求。

  以上要求如果全都具备了,那么剩下的可能就是等待机遇了吧。(原帖地址:http://bbs.51testing.com/thread-173771-1-2.html


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-06-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何能得到一些国内或国外大公司的测试职位?
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档