Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1411756
  • 博文数量: 416
  • 博客积分: 13005
  • 博客等级: 上将
  • 技术积分: 3297
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 16:26
文章分类

全部博文(416)

文章存档

2014年(1)

2013年(4)

2012年(46)

2011年(64)

2010年(12)

2009年(4)

2008年(40)

2007年(187)

2006年(58)

分类: 项目管理

2006-11-23 17:40:16

从去年6月底开始正式做软件测试以来,我个人经过了很多阶段。从一开始的网站功能测试,到后来开始接触ERP,做了LR性能测试,然后开始做WR的自动化,到这时候大概半年时间去掉了。之后做了2个月的C#开发,在自动化测试方面用QTP开始逐渐替代了WR。然后我调到了市区“前线”工作。开始着手做NUNIT单元测试和基于.NET开发环境下的LR压力测试代码编写及面向Oracle存储过程的性能测试。06年7月,我开始担任测试管理的角色,开始从事培训新人,安排测试任务,与开发协调测试任务方面的工作,直到今天。我写这篇总结的原因,是由于自己对测试工作的职业发展开始感到迷茫,对技术发展没有方向。

    我个人认为,我上班16个月以来所走过的路,是比较合理的。这样的路建立的经过测试专业培训的基础上(个人感觉,新人接受专业培训是很有必要的),否则可能先需要在基础方面努力3个月左右。基于对测试的正确理解以及对各种测试工具的了解,在正式工作中可以快速的应用上去。

    下面说下我认为“菜鸟”应有的发展路程。

    测试新人应该从系统手工测试开始,首先应该对整个软件的开发流程(软件工程)有正确的认识,了解测试工作在整个开发流程中的切入点和所起的作用。就项目而言,测试是其中的一部分,想要做好系统测试,首先应该学会怎么看SRS(需求规格说明书),对需求的正确理解将直接影响你的用例设计。其次,是用例设计的方法,这包括很多种,我就不多说了。主要的一点是,看SRS所设计的用例可能不全面,在实际测试过程中,应该从系统的操作中继续发现应该测试的点。另外,对于测试用例和BUG的编写,应该规范,清晰。出色的完成你的初测。其次,当开发修改完BUG之后开始复查时,首先你需要明白一个名词,它就是:版本。然后你开始复查BUG,如果时间允许,我强烈建议你重新执行所有用例,以防万一。

    当你的系统测试做的“炉火纯青”的时候,你应该开始了解配置管理,质量保证,CMM以及一些开发上的相关知识。这可以巩固你对整个项目流程各个环节的了解,让你对他们有全面正确的认识。我认为这一点,很重要!

    之后,公司的测试水平开始升华,你的经理发现,总是复查BUG是一件多么耗费时间和人力的事情啊!他开始要求做自动化测试。这时候你就应该加入其中。对于自动化测试怎么做法我就不仔细说了,东西太多,我自己目前可能处于中级应用阶段,大家可以去51testing上看相关帖子了解一下。需要说明的是,自动化虽然好,但是不可能替代手工测试。另外,它不适用于一些小项目,对于小项目来说,上自动化所带来的项目成本,将远大于手工测试。

    在自动化测试过程中,你可能需要自己去写一些脚本。这就需要对编程有一定了解。在这里我想说,会编程不是测试人员必须会的技能,但是,不懂编程将不会成为一个高级测试人员,它会成为你发展的一个绊脚石。我在做程序员的2个月中,学到了很多,它会影响你对系统的认识,拓展你的测试思路,增强你对数据库的了解。在这个阶段中,我建议你有空时学习相关网络拓扑,系统架构,数据库的知识,为将来打下基础。

    做到这样我可以说,这个人已经是测试方面的中高级人才了。当然,如果你想做技术全能选手,那就开始接触性能测试和白盒吧。我认为这两个是高阶的玩意。

    在性能测试领域,我是只会用LR,关于怎么学我不想说,自己找资料。需要说明的是,性能测试有两个难点。第一,是对面向被测系统的认识,如何确认到底需要监控测试哪些性能点的问题。第二,是对于测试出来的结果,能否正确分析找出瓶颈的问题。这两面都需要大量的工作经验,以及对系统,网络等各方面的深刻认识。这是一个具有挑战性的工作。

    在白盒测试方面,首先你要懂编程,要写过程序,其次,你要会使用相关工具实现测试过程。基于代码级的测试和系统测试在理念上是差不多的,你也需要对被测的方法或者基类设计测试用例,然后用测试代码去实现它。这是一个自己构造输入参数,执行代码并获取结果的过程,有兴趣学习的自己找资料看去吧!在每日构建方面我没有做过,所以也不好多说什么,别误导了大家,我只能说,每日构建是每天对配置库中的代码进行自动的单元测试,确保每天配置库中得下得代码是编译可通过的一个过程。

    当你在技术上有了一定造诣,你得到了领导的赏识,可能你会步入测试管理的行列。强力的技术背景将成为你做领导的支柱,但不是全部。我想说的是,做测试管理和做技术完全不是一回事,管理基本关注两点,一是成本,二是进度。在确定这两点是可控的情况下,可以说你的管理工作是合格的。你的技术背景为你提供了如下的好处:第一,手下人对你的信服;第二,有利于和开发方沟通;第三,协助解决技术难题;第四,强力的自信。这一切都为实现控制成本和进度提供保障。这方面我就不多说了,我自己做这个时间也不长,大家自己摸索一下吧。

    做任何事情都是没有止境的,不论是系统测试,自动化测试,性能测试,单元测试还是测试管理(当然还有做配置管理和质量控制的),都有需要继续学习的东西。目前国内没有超级牛的人带领大家在技术和发展方向上奔走,大家可能都是在爬行。当你在某个领域做到一定程度的时候,你会发现走到了瓶颈点,无法继续提高。这个是无法避免的问题,我给大家一个偏激但可行的方法,那就是跳槽。新的环境会带给你新的思路和活力。测试需要学习的东西太多太多,以上说的都是纯软件方面,我自己现在仍然不熟悉JAVA方面以及类似UNIX之类的操作系统,如果你做的是通信或其他方面的测试工作,你还需要掌握这方面的知识,实在是有的学,我相信经过3年的磨练,应该可以成为一个较为成熟的测试工程师。另外,前面提到了做CMO和SQA的方向,这个和做纯测试工作是不同的发展方向,CMO的工作我太熟悉,不过SQA实在又是一个博大而又精深的领域,据我所知,国内这方面的牛人很少,精英QA可以和PM相媲美,他对项目成功的贡献是巨大的,好像大多这类人是做了PM或系统分析员多年的人转做的。在这方面就不深入探讨了。

    补充一点,公司的流程不可能像你学到的那样完美和规范,不要奢求,尽量去改善它才是你要做的。另外我想说下待遇问题,我建议新手不要太计较这个,也许你在51testing培训花了10K(不清楚现在具体价格,只是假设),你觉得自己从那培训出来已经是个牛人了,你要马上把你的投资赚回来。其实这么做实在是想法有问题,首先,你即使培训了,其实你仍旧是菜鸟,其次,中国人太多,人力资源不值钱,除非你是高级人才。新人在第一年不应该计较工资,而应该关注对方单位将会带给你的工作环境和发展潜力。讲工资的时候,应该在2-3年以后,需要强调的是,英文实在重要,我确实的体会,只是我太懒,一直不肯好好学,大家千万别学我啊!

以上是我个人的一些观点,大家随便看看吧,说错了我可不负责啊 ^_^
另外,我目前对于个人职业发展也比较迷茫,哪个牛人看了对我有所建议,请不吝赐教。。。。
阅读(1051) | 评论(0) | 转发(0) |
0

上一篇:5S有感_20061122

下一篇:学着感恩

给主人留下些什么吧!~~