(转)测试专家问答----如何成为一个专业的软件测试工程师Season2

2012-05-17  白云 

19、进入软件测试这个行业已经5年了,一直做的都是功能测试,虽然自动化测试了解一点,但没有真正的项目中使用过,而且一直也没有这样的机会。之前一直有项目做,但最近项目停了,突然闲下来了,回过头来想想,觉得自己这几年来光在做功能测试了,没什么进步,觉得特别迷茫。自己在空闲的时候还用过测试管理Testlink,但也是公司不重视,一直都没用起来,所以现在觉得前途是一片黑暗,帮忙指点一下吧。
专家解答:5年的职业生涯,说长也不长,但说短也确实不短,我觉得您应该积累很多很多了,您可以把您5年来所做的项目的业务逻辑加以整理,既然您一直都是做的是功能测试,您可以把您的功能测试理论加强,相信您应该对功能测试有自己独特的见解和体会的,突出功能测试。其次对于自动化测试,既然没有做过项目,也可以不必深究了,作为了解就可以了,30岁之后,大多都想走管理,走技术比较累,其次也没有那么多经历和时间,很多时间都要放在家庭方面,当然您如果特别爱好技术的话除外。所以我个人建议,您可以走测试管理路线,其实在测试领域,走上管理岗位,相对其它行业,我个人觉得是比较容易的一件事。从国内软件测试行业的现状分析,很多中小型企业都不是很重视测试,而往后走,测试一定会被越来越重视起来,那么这些企业中,都需要建立测试部门,那么这其中就产生了很多的测试管理需求。而这些管理需求的要求也不会很高的,所以进入应该相对比较容易。所以结合您的描述,我给以下几个建议1.深入并加强测试理论,突出功能测试能力 2.整理您所做过的所有项目的业务知识,和相关文档 3.自动化测试可以作为了解,不必深入。和别人聊起来,能说来个所以然,就可以了 4.学习一下数据库(任何一种数据库都可以,只需关注sql就可以了) 5.测试管理工具QC或者其它的,了解就可以(一边用一边学也可以的) 6.关注管理方面的知识和人文方面的知识的 7.可以加强一下英语方面的。当您有一定的管理方面的经验后,这个会为您走上更好的平台起到决定性的作用的。每个人都可以做任何事,也可以成就任何事的,只是你的思想局限了你的行为而已。

20、QA和tester的区别是什么?
专家解答:QA是Quality Assurance的简称,不同的公司有不同的叫法,有些公司只有QA,没有tester,他们所做的事就是一个tester所做的事,他们等同于tester,有些公司只有tester,没有QA,他们主要职责也是对系统测试,保证其质量,而有些公司,QA部门和测试部门都有,这个时候是两个不同的部门,那么QA职责主要在于测试流程的制定,测试规范的建立、测试质量的审计等相关工作,而测试人员主要负责系统的测试。

21、测试人员的测试范围是否包含对需求和系统分析的测试?
专家解答:比较正规的测试流程,测试人员的测试范围是应该包括对测试需求的测试的,从项目的前期,测试人员就应该进入的,开发人员负责捕获需求,测试人员负责测试需求的捕获,然后就是概要设计、详细设计等的测试、之后就是系统测试,系统集成测试,用户验收测试,当然中间有需要的话,会做回归测试。只是很多公司为了节约成本,大多就是从系统测试开始的,有的甚至就直接从用户验收测试,还有的就直接做随机测试,等快交付给用户的时候,随便做一下测试。

22、关于自动化测试,小强老师的视频我都看完了,只是在工作中运用起来比较困难,(时间和能力的限制,就会录制、回放、参数化、调试)。我上班的公司我是第一个测试人员也是唯一的一个,所用得知识都是以前培训时学的和在工作中遇到问题百度解决,我很想知道大公司的测试流程是怎样的。我现在的工作就是根据需求写测试用例、执行用例、提交Bug、追踪Bug、回归测试、写测试总结报告等,对测试计划这些都没接触过。
专家解答:从描述中可以看得出,您是一个很上进,很爱学习的好女孩,应该说从学校出来后,参加工作后,在坚持学习已经很不容易了。关于自动化的学习,您已经有了一个很好的基础了,可以学习一下VBS,另外参照QTP带的例子、文档、还有脚本,好好的看一下,争取能把那个它所带的脚本自己都实现一遍。关于测试流程(测试需求分析,概要设计测试、详细设计测试,系统测试,系统集成测试,用户验收测试),一般的公司大体都差不多的。一个人的测试,有这些流程已经很不容易了。对于测试计划,您可以到网上找一下,看一遍就可以了。关于学习不用太着急,一样一样的来。从测试计划、分析与设计、开发测试用例、执行测试用例、总结与评审。这些流程,您都可以在自己的工作中走一遍。

23、如何根据需求文档挖掘更多更深的case,如何全面的写case?设计的case用不上,时间又紧张,如何开展测试?重新设计case?还是列出主要测试点,在实际测试中灵活测试?
专家解答:只要把所有的需求覆盖到就可以了,至于能不能挖掘更多更深的case,这个要看测试人员对需求的理解程度,我觉得能把所有的需求都覆盖到,把所有的这些点都跑到,都check到,都已经很不易了。时间紧的情况下,可以做冒烟测试,就是只根据需求点测试,不需要写case,相反写case还是多余的。

24、一个项目多个版本Build的测试,时间可能会持续很长时间,一轮一轮的相同模块相同功能按照测试用例执行测试可能会产生厌倦,如何消除厌倦(不考虑回归测试用自动化来完成);如果在后面几轮把新的测试技术引入到测试中,如前几轮用结构化测试,后几轮用探索式测试,引入新的测试技术,质量的风险如何解决?每一轮的测试重点不一样,如何准确抓住每一轮的侧重点?如这轮主要测试主要功能,那这个主要功能怎么定义的,按照需求?如果时间允许的话,把主要功能测试完成后,要不要进行详细测试,详细测试的话,肯定会与测试主要功能的工作量重复,这个如何解决及把握?
专家解答:首先项目的开发,是有它的开发模式的,比如有的项目采用的是迭代开发,有的是采用增量开发模式,打个比方,也就是说开发在build1要开发3个功能,测试主要测试这三个功能是否正确,build2中要开发2个功能,那么它会在build1的基础上增加2个功能,那么开发有可能会修改之前的代码,有可能会调用之前的代码,这样原来本来测试没有问题的功能,这个时候又有可能会有问题,所以第二次测试是新增加的2个,如果项目时间允许,那么就可以做回归测试,这个回归测试就是要测之前的功能是否正确.再者测试本身就是一种枯燥繁琐的工作,如果让这种繁琐的工作变得有趣,比如您发现一个问题,本着问题一步一步往上逆推,找到问题产生的根本原因,而不仅仅是发现问题,提交问题的过程,那么这也是很有趣的一件事,就象刑侦一样。至于您说的探索性测试、结构化测试等这个要等您的所有流程、所有测试阶段都走过了,您觉得您还有时间,并且项目允许的前提下,您做一下探索性测试等,也可能发现一些Bug。但这个测试不能作为主要测试去做。另外测试计划的制定,哪个阶段要测试哪些功能等,这个都是要根据开发那边的开发schdule的,不是随意的。

25、我从事web测试的。目前公司涉及测试内容只是功能性测试。我想自学QTP这方面自动化测试内容,并想了解下,这方面测试需要了解学习的计算机语言或脚本语言有哪些?还有就是我目前做了一年多测试工作,想请教下,测试的发展方向,和我需要往哪方面提升的。
专家解答:关于QTP,它的脚本语言是VBScript,这里给您推荐一本个人认为比较好的vbscript的书《vbscript程序员参考手册》,另外如果有时间的话,我还是建议您学一门编程语言java或者C#.关于发展方向,1.可以走技术路线,专注于功能测试,或者自动化测试或者性能测试 2.技术到管理路线3.测试顾问等。具体走哪条路线,这个要根据您的兴趣,您的职业规划。“我需要往哪方面提升的”,您好好思考一下自己的职业规划,这个问题就好解决了,虽然计划赶不上变化,但我认为一定的计划会让自己有方向感,给个参考的建议,您可以加深对测试理论的学习,可以学习QTP或者性能测试方面的技术,稍微了解就可以,如果以后有项目机会,并且您有想这方面的路线的,到时候再加强也不迟,其次就是掌握一门编程语言,还有数据库(这个可以不需要很深入,但一般的sql要会),如果这些都很熟练了,可以学一下linux,所有的学习都是为您选的路线或者目标服务的。

26、两年多java web开发转测试,求职业规划建议跟学习方向。
专家解答:两年的开发经验,如果转测试,您之前的开发经验有会有点打折扣了,测试您得从头学起。不过做测试,有开发经验,会有点优势的,可以走手工测试,自动化测试、性能测试,或者管理等,这个要看您的职业规划。个人建议,您可以先学一下测试理论,这个可以买本书大体过一遍就可以了,然后就是可以学一下自动化测试QTP或者其它的。等您做一段时间的测试后,咱们再讨论,现在给您太多的建议,有点虚,等您有一定的体会后,再聊可能会更有意义。

27、现在又a、b两台机器,a机器已部署好测试环境,若要执行自动化测试,则自动化测试软件要安装在哪一台机器上?若把自动化测试软件安装在a机器,且在该机器上执行自动化测试,从功能测试与效能测试的角度看,这样的测试结果可信度高吗?
专家解答:我不知道您所说的自动化指的是什么,自动化是QTP和性能测试。我暂且猜的是基于GUI的自动化,我不知道您所要测试的系统是B/S的,还是C/S的,不过从您的描述,我猜测可能是B/S的,自动化测试软件安装哪台机器都可以的,无论是a,还是b,还是其它机器都可以,与机器应该没有关系的。自动化测试只是让机器代替了手工测试。与性能没有关系的。测试结果也不会受影响的。就象做手工测试,有的人执行的case快,有的慢。当然如果您的自动化测试指的是性能测试的话,那么我个人觉得对性能测试的结果可能会或多或少的有点影响的,不过测试误差只要在一定范围内允许就可以了(性能测试研究的太少,)分析出来的结果还是可靠的。

28、如果公司不重视测试,每次都让QA只看需求文件就要开始测试案例的撰写与测试,也就是说QA无法参与需求访谈阶段,且无法通盘了解需求,更别提业务规则了,当然软件质量可想而知,但主管却认为是QA的问题,针对这样的状况,您有什么样的建议?
专家解答:公司不重视测试,其实很多公司都是这样的,再者测试并不能保证质量的绝对性,只要保证需求覆盖到就好。您可以把您所做的工作阶段性的总结给您的主管,比如测试报告,缺陷报告等。当然站在管理者的角度,最后在交付的时候,一大堆的问题暴露出来,肯定要过问测试人员的,不然要测试人干什么,对吧?

29、我刚从企业级软件测试转向了互联网电商(php+mysql)的测试,公司测试部也刚开始组建,目前公司推崇scrum的敏捷开发模式,测试工作比较难展开,目前测试部门就我一人(一年半多企业级功能测试经验),个人在通过观察了解公司流程之后,提交了一份流程优化报告,分别将开发、测试、设计、产品的流程进行了优化,对于不同的Bug状态由不同的人员进行相关处理,并且将程序员与开发主管,设计与设计主管,产品经理与Bug的处理权限进行了划分。在测试方面,由于互联网产品的特性是快递多变的,个人从产品阶段就开始介入静态测试,以及在设计制作好前端样式,而开发未完成程序时,个人先进行了页面级的UI,浏览器兼容性测试,并且提出建立独立测试平台的要求(现在测试是在开发环境下的,对于定位和重现Bug是非常不利的),其次,在编写用例方面由于互联网产品较多都是以单个功能开发,个人在产品需求发布时,开始进行测试用例的编辑,期间也建议程序员可以在开发完功能模块的同时可以参考一下用例进行单元测试(不过目前看来开发对这块的意识不强)。
上述只是个人的优化报告中所涉及的部分,但是目前个人担心的是个人想走的是技术+管理路线的,但是就到目前为止的工作经验来看技术上面大多只是手工的功能测试,而更多的在参与公司流程优化和bug生命周期的管理,这样发展下去是不是会有不平衡的现象出现?毕竟管理岗位是相当少的,并且很看重工作经验与公司规模,特别对于我这种初级阶段的测试人员(个人有一定的.net和数据库基础,但没有实际项目经验)来说还是想要更多的技术积累,希望您能给些个人发展意见,以及上述流程的改进方向。

专家解答:从两个方面回答您吧,个人职业发展方向:首先我想说的是您目前工作的时间还不长,不要太着急,可以阶段性的学习点技术,比如测试理论,自动化等,然后在根据自己在工作中的体会,思考如何提高和改进,一定时间的积累后,走上管理岗位应该不难的。不是说我没有管理经验就不能做管理者的,当技术积累到一定阶段,当工作到一定时期,走上管理岗位不难的,当然这个时间可以是3年,5年或者还要长一点。要对自己有信心,当然您要坚持的给自己充电。您目前工作的现状:我觉得您已经做的很好了,测试不是一个人的事,一个人也做不了。您可以根据公司的情况建立测试流程规范,根据产品,觉得要做哪些测试,不一定要面面俱到(这个要看贵公司对测试的投入,成本等)。

30、对于一个非计算机专业的人,如果改行从事软件测试,是不是困难很大,因为对软件方面的知识一窍不通,面临的困难主要是哪些。
专家解答:这要看付出与投入,我曾经在网上看到过几个别人写的博文,一个是从学的英文专业,后来转到了DBA,还有一个是公务员,后来转到搞程序员了,还有的是销售的,都30岁了,后来转行搞编程。很多事,真的很难想象,但确实有很多人做了,而且还做的很好。不过,您要转行,我建议您还是要多思考,转行意味着您之前的很多东西都会丢失。

----------------------------------------------------------------------------------------------------------------
转自:51testing22期你问我答 http://bbs.51testing.com/viewthread.php?tid=553711&extra=&page=1
回答者:王文革
413°/4137 人阅读/0 条评论 发表评论

登录 后发表评论