Google
      
发新话题
打印

教你几招:软件测试高手成长路上的“高招”

教你几招:软件测试高手成长路上的“高招”

教你几招:软件测试高手成长路上的“高招”

第一招 学会动手
参加软件测试培训上班之后,随着工作经验的增长自我感觉越来越好。在公司里也逐渐受到同事领导的重视,一次针对公司的新的软件功能进行测试的时候,像往常一样 “ 随手 “ 测试出了几个 Bug ,然后 “ 仔细 “ 的填写了 Bug 单(这个 Bug 的现象已经出现了很多次了)。这时候测试经理走过来,重新复查了一下填写的 Bug 。他在重现我的 bug 的过程中,简化了我的输入变化, bug 神奇的又出现了,同样的现象,他关闭软件重新变化输入,扩展出 10 几个变化后,软件不动了,内存不断上升。终于他找到了产生软件的 Bug 的原因,然后对我说 “ 寻找 Bug 要准确定位,我们开发团队是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的 bug 描述不清楚,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。这样开发人员在重现 bug 的时候他要调试跟踪判断,很花费时间,而且效率低。如果测试人员发现 bug 的时候多动手可以更加准确的定位 bug 步骤和原因,给开发人员最精确的步骤和准确的描述,这样整个团队才能高效,所以需要大家协作!。 “ 。
在以后的日子里,每次解决问题的时候我都记得多试验几次,多尝试。网上很多朋友还有同事问我问题的时候,其实他们只是万里长征就差一步,只要再多动手实验一次就可以达到目的了。所以多动手,多尝试。
第二招 思考自己所作的
刚开始入行的时候,总是思考如何做好软件测试。认为公司的测试流程混乱总是很郁闷,认为自己学不到东西,如何才能测试好产品,常说心动不如行动,以前看到古龙小说中经常出现的场景无名小子不断挑战高手,总结积累。我总结了有些经验是实战中得到的,所以不断尝试引入新的测试流程然后评估,这个过程虽然很痛苦,但是从中积累了不少经验。这段时间让我学习到了很多东西,接触了 ISO,CMM ,测试管理工具,自动化工具(因为公司不正规给了我很多学习的机会,后来到了比较大的软件公司后,以前的经历给了我更多的发展机会,因为大公司非常正规了,公司内部人员分工明确,所以能力的锻炼反倒少了)。由于工作中经常写报告反倒养成了总结教训的习惯,因为纸面上的东西是永远也忘不掉的。在写的过程中可以不断补充扩展,整个过程是思想升华的过程,当年达摩面壁九年就是融会贯通的典型例子,如果他不是有个思考的过程,他也不能成为一代大家。如果后来不时有人把他的绝技记录下来,也就不能有后来的少林寺七十二绝技。
所以善于思考,总结经验,也是成为高手之路的不二法决。
第三招 学会利用论坛资源
其实测试新兵和测试高手之间的区别,往往是不会利用现有资源。在论坛中我们会看到很多新手不断的提问,但是有很多问题其实都是已经别人提过了,或者已经有解决方案的。所以经常会看到 “测试高手”的身影,并且不提问题,而且还能“锄强扶弱“,是测试新丁的救命稻草。好像是高手们无所不能,其实摘掉这层耀眼的光环,他们并没想像得那么厉害,只不过通过自己的搜索找到的答案,然后帮助其他人。当然也有很多人都是通过自学,然后在论坛中交流得到了很多经验,高手其实也是因为善于思考问题,亲自动手解决问题。所以动手和利用论坛资源的过程中他们也在不断提高。
很多时候看到论坛中有人提问,问题描述不清,很多人看了很困惑。发贴题目动不动请高手帮忙,救命之类的,好像天下大乱,世界末日。虽然这个题目很招人,但是无法让那些想帮助你的人帮你,因为题目不清晰,而且高手字样吓阻了很多人。其实问问题也是个思路整理的过程,描述清晰,让人理解清楚,才能望文知意知道你的当前发生问题的环境,才能让那些想帮你的人解决问题,否则给人无从下手的感觉,解决问题效率不高。
第四招 学习和你所测试的软件产品相关的知识
要想成为好的测试人员,还要了解你要测试的软件的相关知识。要了解软件产品的架构是什么样的。要了解软件的市场需求,在接触软件之初要可以多看看用户的反馈信息,这些才是用户最关心的,也是你在测试中需要注意的问题,满足客户是最大的需要。但是了解软件需求之后要学会要多读些软件系统的技术文档,软件设计文档,这些文档可以帮助你了解产品如何工作。还有多看看公司 Bug 库中的问题,这些存在的问题可以帮助你了解软件产品那些地方存在缺陷,软件系统那些地方会出现错误。软件是运行在一个大环境中,如果对系统不熟悉,那么有些问题你不能从一个更广阔的层面考虑,学习操作系统的知识,有助于你发现缺陷,定位问题更加准确。比如软件运行在 Windows 或者 Linux ,如果你不懂操作系统,你就无法建立测试环境,有些时候时候软件的组件发生问题,就是你系统配置造成的,对系统不熟悉,你会把外在原因归结为软件本身。所以要学习关于和软件系统相关的知识,比如编程,网络,数据库等。不一定你要学习到多好的程度,只是通过这些扩展的知识面,你可以在发现问题,解决问题上不会局限在狭小的圈子里。
和一切相关的人员交流,不同的交流渠道,获取消息是不同的,角度也不同。和客户交流,你会在测试中从客户的角度发现问题;和开发人员交流,你会了解开发人员怎么实现软件功能的;和项目管理人员交流,你会知道开发进度以及遇到的困难。
软件测试是个好行业,搞好软件测试意义重大,大家可以多了解一下软件测试相关知识。
更多软件测试行业内容,请登陆:www.btestingsky.com

TOP

软件测试新手的修炼之路

软件测试新手的修炼之路2007-11-19 16:54对于刚进入软件测试工作岗位的新人,如何快速、健康的在职业道路上成长,作者谈了几点自己看法:
1、兴趣是最好的老师
  对于软件测试工作,通常是比较枯燥的,如果没有兴趣很难做到持久。我最近参与了一个软件测试项目,在测试团队中,有三位是在校学生,他们以兼职的身份到公司上班,他们都是软件相关专业的本科生和研究生,基础都不错。但是,只有其中一位表现最突出,因为他很珍惜这份社会实践的工作机会,做事认真,找出了很多高优先级的Bug。
  另两位同学,在参加项目不到1个月后就以各种理由退出了。在我与他们的交流中,其中一位说测试工作太枯燥了,没有挑战性,他更希望做软件开发的工作。这位同学由于不喜欢做软件测试,实际上他对软件测试技术缺乏基本的了解。所以他在7天的测试工作中,只找到了3个Bug(正常情况下,其他测试人员每天能找到5个缺陷)。因此,从绩效评比中他的成效最低。
  另一位同学虽然愿意做软件测试,但是他觉得现在的黑盒测试太简单,学习不到测试技术的高级技巧,他更愿意学习白盒测试,能够自己测试软件源代码。而现在的项目没有这部分的内容,所以尽管他工作成绩也不错,但是积极性不高。
  因此,建议同学们在寻找工作中,首先需要了解,你是否愿意做软件测试,愿意做白盒测试还是功能的黑盒测试,不要盲目的参与到工作中,否则对于用人单位,对于个人的成长都是浪费。
2、测试人员要学会思考
  测试是个技术工作,需要学会主动思考。如果你遇到一个好的测试主管(组长),他会主动的解决你的测试实际技术难点,这是你的幸运。但是测试问题错综复杂,测试主管工作很忙,他没有时间解决你遇到的任何技术问题,需要你自己分析问题的性质,尝试各种解决方法,搜索网络上的文章,最好如果仍然解决不了才向主管求助。
  我们反对遇到问题表现得很茫然失措,不要问一些很“弱智”的问题,否则主管认为你解决问题的能力不做,学习能力欠缺,这样对于今后的发展不利。
  测试人员如何思考?根据问题的现象思考。问题是属于测试专业知识不足引起的,还是测试用例等测试文档模糊、错误引起的,是个别现象还是测试项目的其他内容都存在的普遍现象。测试要从模拟用户使用的角度展看,因此要用最终用的角度,分析问题的严重程度。
  在询问最终的解决方法前,确保你根据自己的经验尝试了各种解决方法,并且尽量把你发现的问题和猜测,告诉测试主管,证明你已经主动思考了,但是没有找到好的解决方法,或者不能确定是否方法可行。
3、选择适合的测试学习材料
  软件测试的技术博大精深,对于初学者该从何入手呢?可以从以下几个方面学习:
  第一是公司提供的培训材料。测试新员工到公司后一般都要经过短暂的培训,这是学习的最好的第一手材料。针对性特别强,都是公司今后用到的测试知识的总结,针对性和实用性都很强。如果有不懂得问题,可以随时提出来,因为你是测试新人,不懂要问,任何人都不会对你的能力表示怀疑。
  第二是借助测试项目的测试文档学习,包括测试计划、测试用例,测试缺陷数据库,可以先看看以前发现了哪些bug,这些bug是怎么发现的,有什么规律和特征,学习别人怎么写测试缺陷报告。
  第三是阅读测试书籍和测试网站和论坛。这些内容很多,建议利用工作之后的时间,根据自己的知识有选择的选择测试书籍,先从基础知识阅读。正式出版的书的内容质量都比较高,而测试网站和论坛的文章良莠不齐,有些只是只言片语,很多还存在错误。因此,需要有一定的鉴别能力,否则会误导,浪费时间。
4、巩固测试知识基础
  练武术需要先练“蹲马步”,否则直接学习刀枪棍棒等十八般武器,只能学到几招皮毛,甚至伤及自己,武林高手都是基础很牢固的,内功很深厚的。
  做软件测试也是这个道理。很多出入测试行业的新人,希望走捷径,往往听信各种测试培训机构的宣传,认为参加几天的能力提高班,就可以步入测试高手的殿堂,这是错误的,也是要吃大亏的。
  另一个错误就是还没有学会测试的基本概念,就盲目地学习各种大型商业自动化测试软件,结果花了很多时间和金钱,只是学会了工具的具体操作。到了实际测试项目中,无法有效利用工具解决实际测试问题。
  实际上,作为测试新手,大部分都是从手工功能测试开始起步的,大型自动化测试只有成为测试高手,才有机会使用。另外测试工具的操作是很简单的技术问题,关键是如何发挥测试工具的作用,这需要测试策略。
  所以,初学者要老老实实的学习测试基础知识,学习各种测试术语、测试概念、测试分类、测试的流程、测试项目的执行过程等。如果这些都不懂,今后的职业发展会成为限制。
  学习是痛苦的过程,但是学习是增强技能的必然之路。学习测试知识没有捷径,需要日积月累,需要勤奋,需要思考,需要总结,从一点一滴学起。
5、不断学习行业知识
  测试人员除了学习和掌握测试技术外,还需要不断学习行业知识,这是区别普通测试技术人员和测试行业专家的最好方法。
  学习什么行业知识呢?根据你测试的软件的应用领域决定。例如,你正在测试的是电信行业的应用软件,那么你需要学习电信行业知识,包括术语、业务和行业技术。怎么学习呢?可以与客户交流,与开发人员交流,看专业书和文章。
  学习行业知识是个不断进步的过程,每个行业都有很系统的知识架构,首先学习工作中最需要的理论和技术。然后有机会和兴趣的时候,不断细化和深入。
  高级的测试人员需要精通测试技术,掌握行业知识,可以提供行业软件的测试和质量保证方案。对于初学者,要认识到经过不断努力,可以成为测试行业专家。千里之行,始于足下,目前最重要的是从测试入门知识开始。
更多软件测试行业内容,请登陆:www.btestingsky.com

TOP

发新话题