qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

我的软件测试成长之路

 摘要:记录我从毕业到现在的软件测试成长之路,从初入测试之门,到深入了解测试,到现在的资深测试工程师,每个阶段的收获都有所不同,服役的每个公司学到的东西也不同。总之,都是一笔非常宝贵的财富吧

  关键词:软件测试;测试职业发展

引子

  我03年毕业,刚毕业就进了一家国企,在综合信息室的网络中心工作,干了1年,觉得没多大前途,主要是感觉在那里学不到东西,大学学的东西根本用不上多少,上班也就是喝茶(我还没这个爱好)、看报,然后就是那个部门有了新邮件了就打电话过来,我给他们收收邮件,(因为我们单位是军工单位,有些牵扯到国家 保密的资料,所以没有上外网)。有时候哪个部门的电脑坏了,就打个报告让我们计算机小组去维修,如果维修不了就报废,我就签个字,其他的一概不管,去这个单位,我收获最大的就是给单位建了个企业网站,以前的网站太破了,刚进去,领导就给我分了这么个任务,以前没接触过这方面的东西,我也是边学边做,其间也是拖拖拉拉,反正厂里也不急,以前在学校学的都是些书本上的理论,真正用的上的也没多少,在此期间,自学了dreamweaver、photoshop、 flash,还会点CAD,可怜的我大学期间没有电脑,这些东西在大学就应该会的,我工作了才学。不过学了总比没有学好,和我一同进单位的还有20多个学生,他们整整半年也没干个啥,整天上班就是下车间实习,美其名曰:了解流程,但是他们在实习期间因为没有领导管,车间的工人也不怎么认识他们,所以上班期间经常窝在宿舍睡大觉或者集体玩游戏,那时候真羡慕那些下车间的同事,羡慕他们不用上班,现在想想其实那样也未必是好事。也因为我刚进去就有了要干的事情,所以年终给我发的奖金是我们那批学生中最多的,但是这样我还是感觉在那里真的很无聊,完成了单位的企业网站,我就没啥事情做了。春节过完后办公室搬了新楼,我们又为新楼的网络忙活了一阵子,测整个大楼的网络通不通,我们使用的是局域网,好几天都是在整个楼上跑上跑下,测试每个房间的网线通不通,这时候对硬件有一些了解了,忙完了这个后,我就已经觉得真的该跳槽了,否则我可能就要废了。6月底我就请假去西安找工作,听同学建议说我刚从国企出来,如果直接转做软件开发,可能不好入门,工作也不好找,做测试可能比较好点,运气还不错,很快我就找了份测试的工作,工作找好了先上了1周的班,感觉自己对这个工作还能应付得了,就回去辞职了,因为是没到合同规定的时间辞职,所以我还交了3000的违约金,那时候我一门心思的想跳出来。

初入测试门,对测试了解很浅显

  我的测试生涯就是从04年7月份开始的,刚开始因为自己所在在得单位用到的开发语言是c++,可是我在大学就学了c语言,所以我打算利用闲暇时间自学c++, 每天都有要做的事情,我给自己订了个计划,每天做什么,看多少c++,学多少测试知识等等,虽然每次都没有按时完成(可能我这个人比较懒散吧),但是我每天都在学习,这点我比较欣慰。刚开始接触测试,感觉对测试理解的太浅了,觉得做测试太简单了,就是拿个软件随便在上面用鼠标点一点,没有逻辑性,刚开始也不会设计用例,后来随着测试经验的积累,感觉自己在测试行业还是个门外汉,很多知识需要加强,像配置管理,还有版本测试方面,我根本就不懂,有时候测试环境的搭建都要开发同事来帮忙完成,那时候感觉自己好笨,真想把什么都弄懂了,但是什么事情都不像自己想象的那么简单容易,做了2个大项目的测试,都感觉不怎么理想。有的项目在马上验收的时候才发现bug,所以开发人员只能加班加点的在修改,我知道这是我的失职,但是他们从来没埋怨过我一句,这让我很感动。我还有个缺点就是脸皮薄,刚开始遇到bug,觉得不好意思给别人提,这也是那个项目最后延期的一个原因,也是我在测试中对bug的定位不够导致,应该公私分明,是bug就是bug,不能因为觉得发现开发人员的bug了,就是得罪他了。另一个原因就是个测试人员介入项目的时间太晚了,我是项目开发后期才介入的,对项目的需求搞得不清楚,好多文档都没有,什么都要靠自己去琢磨,没有概要设计和详细设计说明书,以至于到项目后期,设计改了再改,而我这个测试人员有时候却不知情,测出来bug,提交给开发人员的时候,他们却说这个已经不是这样设计的了。搞得自己干的很吃力,也很没有成就感。到了第二年公司开发部经理打算实施 CMMII,全体员工都开始学习软件工程和RUP,RUP2000上面说的那些可能不适合我们这些小公司,开发部经理就让我们在一起讨论,看那些该删除,那些该修改,这样的活动我感觉真的很不错,每周都有讨论交流会,把上周自己学习到的东西或遇到的问题提出来交流,最后公司制定了一套软件开发管理制度,以后项目的开发管理都比较正规了,这也是我感到最高兴的事情,因为管理正规了,测试工作也好开展多了。在此期间,我还自学了Rational 那套自动化测试工具, 已经能使用Robot进行自动化测试了,但是仅限于GUI测试,VU测试还在摸索阶段。第二年3月底公司接了个项目,经理决定采用正规的开发流程,需求阶段测试人员就介入,需求说明、概要设计、详细设计和部署都要有详细的文档说明。详细设计规定的一些软件规约都要记录在案以备以后测试或者修改之需,这次测试我感觉做的比较理想,但是肯定还有很多不足之处,那就是版本控制不严格,还有软件的需求变更自己和开发人员沟通的不到位。现在我还在研究 ClearQuest,我想以后公司能够用ClearQuest来进行缺陷管理

  ……………………  3、测试计划

  根据需求文档和设计文档,测试工程师准备测试计划。测试计划包括:相关文档链接(需求、设计)、被测系统功能逻辑概要、测试内容、测试环境、测试任务分配及测试进度安排、是否需要性能测试等

  4、测试用例设计及测试用例实例化

  5、测试用例评审

  主要参与人为开发工程师、测试工程师。

  6、测试执行

  开发提测后,开始测试执行

  7、测试完成准备上线

  待所有bug都关闭测试完成后,测试提交测试总结报告,等待上线。

  8、测试总结

  总结这次测试做的好的地方,以及做的不好的地方,好的地方继续推广给大家,不好的地方寻找改进措施。避免下次出现类似问题。

  性能测试

  在这里我能接手性能测试,这让我对性能测试有了比较深入的了解。性能测试不论使用何种测试工具,基本测试思想是一样的。即通过对被测系统加压,寻找系统的最大压力下的服务状态。性能测试,首先是编写性能测试方案,根据性能测试方案来开展性能测试。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/76/n-844176.html

  6、测试工具

  列举出性能测试需要的工具,如http_load、loadrunner等。以及测试命令

  7、测试数据

  这部分很重要。性能测试根据不同的性能需求构造不同的测试数据,如查询流程为A-B,如果A-B无结果,走A-C,如果A-C还无结果则走A-D,这时候就要准备这些数据,而且分几种情况进行,根据线上数据分析,走各个分支的百分比,算出个百分数,然后准备各个分支的测试数据,最后再准备一份给系统带来最大查询压力下的A-D的测试数据。

  8、测试方法

  压力测试还是稳定性测试。

  压力测试:加压条件,加压命令,每次加压多长时间,如何进行加压的(这时候网络拓扑图就有他的价值了,从图上可以看出是对那个模块加压的,是系统加压还是分模块加压)

  稳定性测试:正常压力下,系统长时间运行,验证系统正常提供服务,内存正常,无coredump等。

  9、测试任务划分以及进度

  划分测试任务,谁来造数据、多久能造好、谁来部署环境、多久能部署好环境、谁来执行压力测试等

  10、问题及风险

  性能测试中可能遇到的问题,如性能差、测试时间短、测试工程师并行多个测试任务等,这些风险如何预防。

  查看全文请点击下载:http://www.51testing.com/html/76/n-844176.html

  本文收录于《51测试天地》电子杂志第二十九期。

  版权声明:本文出自51Testing软件测试网电子杂志——《51测试天地》第二十九期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  查看全文请点击下载:http://www.51testing.com/html/76/n-844176.html

测试更加深入

  由于在上面一家公司的自动化测试基本已经非常成熟了,自己发挥的余地不多了,2年后,我又跳槽进入了互联网行业,这次跳槽,基本是从通讯行业到互联网行业的跨越,通讯行业的特点是被测系统很庞大,测试周期长,测试质量要求很高。而互联网行业的特点是被测系统不是很庞大,测试周期很短(为了适应市场快速发展的需求),测试质量要求没有通讯行业那么高。互联网行业,往往为了抢占市场先机,快速开发一个产品,测试只要没有太大的问题,就能快速上线,这里没有所谓的bug收敛度,也没有版本的概念,就是需求测试,新增需求或者修改需求。这里由于存在的变数比较多,所以很多东西都没有像上一家公司那么固化,有自己可以发挥的余地。比如测试自动化、测试策略等。每次接到新需求都和前一个需求存在很大的变数,比如你现在测的这个是使用c++实现的,下一个你要测的可能就是用java实现的,比如现在你接手的这个项目是搜索引擎测试,下一个你接手的项目可能就是离线任务计算的测试。所以需要不断的学习才能适应不断的变化。在这里也是非常锻炼人的。让你不断的学习,不断的接收新的东西,不断的有成就感。总的感觉是工作的很happy。

  测试流程

  这里说说互联网行业的测试流程。来了一个新需求后,下面的测试流程一般是必须有的

  1、需求评审

  产品经理、开发、测试一起来review下需求,确认该需求是否可实现,是接受还是拒绝

  2、设计评审

  需求评审通过后,开发开始根据需求进行设计,并进行设计评审,参与人:开发相关人员、测试人员


posted on 2013-04-26 14:01 顺其自然EVO 阅读(161) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜