ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:38.38KB ,
资源ID:11248654      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11248654.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一个资深测试员的感悟.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

一个资深测试员的感悟.docx

1、一个资深测试员的感悟【译者注】:原作者是Qingsong Yao,来自微软。他的Linkedin在这里 这里简短摘抄翻译几句:MS SQL Server Group 资深测试员 7年MS SQL Azure 资深测试员 目前所在项目原文发布时间:2012.12.14原博文地址:注意,此文非常长,中文版都有18000多字。请各位在阅读时,放松,保持耐心,带着思考,为自己下个5年谋划谋划。思想的启发,至少是黑暗中、迷糊中的一丝灯光。你的职业生涯只能是你自己做主、你自己规划,旁人只能是讲讲自己的经验,给出建议,你能学到什么和做些什么改变,只能靠你的水平。在此,我十分感谢Qingsong这篇博文(的确

2、让我有了更多的认识和思考),以及对翻译的指点和修订。【正文如下】:我已经从事测试工作超过7年,从测试员(SDET)成长为高级测试员(SDET II),最近再从高级测试员成长为资深测试员(senior tester)。在我作为专业测试员的职业生涯中,我曾疑虑过我是否应该转行去做开发,我是否能在其他公司找到另一份测试工作,我们的软件测试员是否有更好的职业前景,以及我们(微软)拥有的测试员是否过多。在这系列博文中,我将给大家分享下我的一些想法,讨论如何才能成为资深测试员,并有一个更好的职业发展。这篇文章是写给我们的测试员和测试经理。我希望我的文章能帮助你深入思考测试和测试员的职业生涯,并希望你有一个

3、更好的职业生涯。本文分为两部分,在第一部分中,我描述了测试员的四条进阶之路;在第二部分中,是我给我们测试员的一些建议。你可以在 这里 下载这篇文章的Word版本。注:本文是我之前系列博文的总结,并只是我个人的看法。 目录第一部分 - 成为资深软件测试员的四条进阶之路 2成为一个专业的QA 2成为一个测试架构师 5成为一个领域专家 5成为一个工具开发人员 8转行或继续 9结论 12第二部分 - 我的一些建议 13激情和动力 13开放的思想和广泛的兴趣 14提升影响力(Making Big Impact) 15编码,编码,编码 16花时间去思考 17了解产品 18用不同方式做事 19给测试经理的建

4、议 19结论 21第一部分 - 成为资深软件测试员的四条进阶之路在这篇文章中,我认为我们的软件测试员有四条潜在的进阶道路。它们是: 1)成为专业的QA。知道如何使用不同类型的测试工具开展网络测试,性能测试,负载测试和压力测试; 2)成为领域专家。可以像最终用户一样来使用你正在测试的产品; 3)成为测试架构师。可以领导整个团队和整个公司的测试以及质量保证; 4)成为工具和框架的开发人员。可以开发出世界一流的测试工具; 我还将讨论工程师的其他进价道路,比如转行去开发人员或PM,改变你的工作领域。 成为一个专业的QA在本节中,我想讨论成为资深软件测试员的第一条进阶道路,是成为一个专业的软件测试员。在

5、许多公司里,我们称软件测试员为QA(质量保证),QA这种角色在微软成立软件测试员(SDET)这种角色之前,便存在了很长的时间。你可能想知道的质量保证和软件测试员(SDET)的区别是什么。我们的测试员是质量保证吗?让我引用这里的QA定义来开始我们的讨论:QA 代表质量保证,它是一个框架,以确保在符合规定要求下进行开发和制造产品,例如药品,农药和医疗器械。这是一个需要个人成长 ,实现和持续改进的质量体系 ,不,这不仅是另一份工作。事实上,这是一个跟其他工作都不一样的工作。作为一个专业QA意味着你会得到一个真正的机会,去影响工作实践和提高质量的标准。这个职位,能够提供多种个人的、职业的发展选择,在不

6、同的项目、过程和地方里扮演不同角色。这是一个真正负责任的职业,同时也要求个人的真正能力。你可以从上面的定义看到,QA是一个专业的职位,如牙医,教师一样,它需要自己的技能。在我担任软件测试员的整个职业生涯中,我关注了许多专业QA的博客。比如James Bach , James Whittaker , Elisabeth Hendrickson , Cem Kaner 和许多微软内部测试架构师。他们教会我什么是软件测试,为什么我们需要测试,以及我们如何做测试。那么,他们之间有什么共同的地方吗?他们都是世界上的最好QA。他们都有非常深厚的测试知识,如基于模型的测试(Model Based Testi

7、ng),探索式测试(Exploratory Testing),生产环境测试(Testing in Production),基于情景的测试(Scenario Based Testing)。他们乐于分享,活跃在社交网络之中,常常把他们想法分享给我们广大的软件测试员。这非常棒,让我们可以看到现在有许多很好的测试技术和技术日新月异的变化。 正如你看到的,成为一个专业的QA,重要的因素不是编码的技能,而是测试的技能。另一方面,软件测试员(SDET)可算是一种专攻的测试用例自动化的软件工程师。换句话说,SDE们(软件开发工程师 - Software Development Engineer)为实现产品而编

8、写代码,而测试员(这里实际指SDET 软件测试开发工程师 - Software Development Engineer in Test)们为自动化测试而编写代码。编码技能,是我们的测试员应有的最重要的技能之一(如果你的代码能力不够强,我预计,微软将不会聘你为测试员)。然而,作为一个软件测试员并不妨碍你成为一个专业的QA,反而你还有很多成功的机会。在我们的日常工作中,我们有很多机会去学习新的测试方法并可在我们的项目中进行实践再掌握它们。能够深刻得理解测试方法,并能够在你的测试策略中使用它们,对测试项目成功来说是非常重要的。那么,如何才能胜任一个专业的QA?你必须做到: 知道并使用不同的测试方法

9、,比如基于模型的测试,探索式测试,用户界面测试(UI Testing); 在一些领域有深入的测试知识,比如性能测试,网页(web),手机应用测试,安全性测试(或一个安全专家); 熟悉一些测试工具,比如JUnit,NUnit,MSTest,Selenium或商业QA工具,如HP负载测试工具(HP Load Running),或VSTS负载测试工具;让我解释一下,成为一个专业的QA,我们为什么需要第二个和第三个技能。当一个公司想雇用一个QA,他们通常都有一个明确的期望,他们想雇用一个什么样子的QA。由于不同领域的测试方法可能有着显着不同,因此QA趋于更专业,一些QA擅长安全测试,而另一些QA具有网

10、页设计经验。公司想要招聘一些在某些领域内有经验的人,那才能够解决他们的迫切需要。例如,当正在开发一个网站时,我们可能会想雇用一些熟知性能测试、网站基础设施的人,以帮助测试网站的可扩展性。如果你能熟知流行的网络测试工具,那将是你的一大优势。例如,如果你知道Selenium,最流行的Web UI测试工具之一,它会给你在就业市场上的增加你的竞争力。在大公司里工作,比如微软,它同时会带有优势和劣势。就优势而言,你将有机会做不同类型的测试,并培养你相应技能。另一方面,你可能会使用内部测试工具(不公开性质的那些工具)。你也可能只是测试系统里的一小部分(也就是说,你可能对你负责的那块进行了非常深入功能测试)

11、,但很少有机会测试整个系统。如果你在一些领域有深厚的功底,如安全领域,或性能领域,你会在未来有更好的职业生涯。成为一个专业QA的另一个关键技能,不是测试的技能,而是其他的技能。想象一下你希望加入一家规模较小的公司或初创的公司,只有测试技能,可能无法确保你能应聘上这份工作。但是,如果你能够做些其他工作,如自动化编译版本,搭建Web服务器,创建部署脚本。你将有更大的机会被录用(因为你可能不是全部时间都在做测试,所以,如果你能在同一时间做很多不同的事情,那你将是一个非常不错的候选人)。为什么我们应该立志做一个专业的QA,而为什么不干脆永远做一个软件测试员?做一个优秀的软件测试员,是同时需要编码技能和

12、测试技能。然而,我们需要在未来选择一个领域来深入,要么编码要么测试。这真的取决于你是否对软件测试有激情,和是否把它作为一种事业。如果你喜欢测试本身,成为一个专业的QA是一条很适合的职业发展道路。此外,同时拥有编码技能和测试技能将是你去应聘其他公司的QA职位时的亮点之一。另一方面,我也看到很多软件测试员对今天的工作并不满意,而且我认为根本原因是,他们有着工程师的根(engineering root),并不喜欢测试。如果你真的喜欢编码,转行到开发或做更多的测试自动化,测试类库的开发可能是你的方向。在过去,我们曾经有两个独立的角色:SDET,STE(软件测试工程师),一个专注于自动化,另一个专注于测

13、试,和许多公司一样,他们也有类似的角色,如亚马逊,谷歌。我认为这有一定道理。我们可能会从上面的定义中注意到的一件事,质量保证是许多行业都有的职位,不仅仅在计算机软件行业。例如,在汽车行业,QA是负责审查我们的汽车是否符合质量要求(meets the quality bar)。不幸的是,在软件行业的QA还不够成熟。今天,几乎没有哪个学院设立软件测试专业或者设置一个软件质量保证的学位。我们中的许多人选择软件测试员作为我们的职业,因为我们被雇用来担任测试员,并不是我们喜欢做测试。我们看到了很多关于测试员(SDET)在公司内外职业发展的博文和文章,我们还将在不久的将来持续看到这种情况。只是因为测试作为

14、一个专业的职业还不够成熟,我可以预言,这里面很快就会发生很大的变化(例如,在必应(Bing)团队中,我们做了一种改革, 没有单独的测试员, 所有人都是软件开发工程师, 每个人都负责自己的程序的质量时,我们采用在生产环境测试(Testing in Production),把测试员的角色调整到更广的服务监测和运营领域中)。 成为一个测试架构师在本节中,我想讨论我们如何能够成长成一个测试架构师。在这里,测试架构师不是一个头衔(title),而是一个角色(role)。例如,如果你在很多测试工具 / 框架上都做出了突出的贡献,你可能有一个测试架构师的头衔,你也可能不是一个测试架构师。同样,一些软件测试员

15、在他们的公司中扮演测试架构师的角色,但他们没有一个测试架构师的头衔。测试架构师的角色意味着什么呢?在这里,我列出了测试架构师应该着眼的几个重要领域: 定义一个功能的整体测试策略,比如,如何测试一个浏览器,如何测试一个云数据库等; 某个测试领域的专家,如安全性测试,性能测试,云测试; 在团队中引入或发明新的测试方法,如探索性测试,众包测试(crowd sourcing testing); 根据具体情况指导和培养团队; 思考测试的未来和测试员的职业发展的未来,并为未来做好准备; 参与测试相关的活动,如测试访谈,会议,博客;怎样才能成为一个测试架构师呢?首先,它不是一个简单的事情,你需要先成为一个专

16、业的软件测试员。作为专业的软件测试员,你会在你的日常工作,提高上述的能力,再成长为一个测试架构师。另外,许多架构师都在不同的公司、团队中接触过了不同的项目,所以都是非常有经验。参与到不同类型的项目之中,你总是能得到一些新的想法。最后,你必须有一种能力,即在任何项目中能迅速地适应变化(adopting change),并做出贡献。这个技能对测试架构师来说非常重要。今天有一些测试架构师为其他公司提供咨询服务。他们通常有广泛的知识,敏捷开发,项目管理,沟通技巧和风险管理,并帮助拯救许多几乎失败的项目(help to survive many nearly failed projects)。他们是最好

17、的专业软件测试员,并在相关领域中获得了尊重。 成为一个领域专家今天,我想说我们软件测试员的职业生涯中最重要的一条路,就是成为一个领域的专家。我们必须认识到,我们当中许多人最终是不会成为测试工具的开发人员或测试架构师。他们将成为专业的QA,一个领域专家或只是转行到一个新的岗位。就个人而言,我更喜欢你考虑在领域专家这个方向努力。领域专家是谁?让我来回答这个问题。假设你测试特定的软件测试五年,那你有资格成为一个领域专家吗?答案是不一定,取决于领域专家的定义。举例来说,我已经测试了SQL Server六年。我很熟悉数据类型,排序规则(collation),并能编写基本的SQL查询语句。“领域专家”在这

18、种情况下,应该能够设计数据库应用程序或者管理数据库。为什么我这么来定义领域专家,因为它是搞数据库的人在其他公司找工作时一个基本要求(一个数据库开发人员或一个DBA)。我能胜任领域专家吗?我并不这么认为,因为我只知道SQL Server的一小部分。而我对这些都没有经验,比如,设计一个数据库架构(database schema),开发一个使用的数据库的应用程序或者管理大量的SQL Server实例。所以我很难找到一个数据库开发人员的工作或一个DBA的工作。正如你可以从上面的例子中看到,“领域专家”是的的确确取决于上下文。如果你在Windows团队中工作,“领域专家”就应该知道安装 / 配置 / 管

19、理Windows或者能够编写基于Windows的软件。如果你在Visual Studio团队中,“领域专家”就应该知道如何使用Visual Studio和.NET编程。如果你在Windows Azure和SQL Azure中,你就应该知道如何通过使用所有可用Windows Azure的技术来构建一个可伸缩的应用程序。从这个意义上说,领域专家,需要你有一个全面理解,而不只是在某一小块里非常深入而已。他同时还关注于最终用户是如何得使用我们正在测试的软件或服务。我们为何要成为一个领域专家?有一天,你可能会考虑离开目前的职位,你可能选择加入另一个团队或另一个公司。你可能会问自己的一个问题是,从我过去作

20、为一个软件测试员的经验中,学到些什么样的技能,或者我能胜任什么样的职位。不幸的是,今天我们很多的软件测试员只对他们的所负责部分有着深刻的理解,但他们缺乏测试产品应有全面的视野。其中一个原因是,今天我们的测试员过于注重功能性测试,我相信这是我们不太注重用户的使用场景或者我们的最终用户是怎么在使用我们产品。这也是我即使测试了SQL Server六年,我依然没有资格担任一个数据库开发人员或一个DBA的主要原因。你可能会问,为什么我们应该考虑成为一个领域专家,或另一种问法,为什么不就永远待在测试角色上。原因是,它会为你的未来打开一个非常宽广的门,让你有一个更好的职业。领域专家的需求将远高于专业的QA,

21、另外补偿金(compensation)也将更高,尤其是当你成为一个解决方案提供者时。对微软的软件测试员,更是如此。我们公司有大量的优秀产品,有非常多的客户。对熟悉微软产品,并知道如何打造端到端解决方案的领域专家或专业人士都有着很高的需求。你越了解微软产品,你的职业发展越好。给软件测试员的建议现在,我想给我们的软件测试员提供一些建议。首先,问问自己,你三年后想成为什么样子的人,要成为一个领域专家,或者想成为一个专业软件测试员。这个问题,我建议你尽早地思考和作出决定。然后,如果你想成为一个领域专家,你需要有一个成长计划。这里有一些可以帮助到你的步骤:1)选择一个你想专注的领域。我们在微软实在是太幸

22、运了,我们有这么多伟大的产品,因此我们有许多领域可以专注。近年来,IT技术的变化日新月异,我们应该谨慎选择那些IT趋势的领域。在这里,我想有几个你可能有兴趣知道的领域: NoSQL和BigData是数据库管理领域的热点。市场对熟悉NoSQL(例如Hadoop,MongoDB等)的人有着巨大需求。 Windows Azure是微软的云计算平台。完全理解的这个系统和知道怎么构建可扩展的系统,将是你的职业发展中的一大优势。 Windows Phone和Windows 8是我们下一代的操作系统。能为这些平台构建应用程序,能让你轻松地找到一个开发人员工作。 企业客户希望整合社交网络,office,移动和

23、必应(Bing)搜索以提供更大的生产力。熟悉Office 365,微软其他的产品能够可以让你成为一个解决方案的提供者。2)在你的工作中培养你的技能。一旦你有对你想熟悉什么样的领域有一个想法后,你需要培养的相应技能。如果你目前的工作领域不是你的兴趣所在,考虑转到其他团队。此外,做一些副项目(side project),参与车库项目(Garage projects)中做些基层创新始终是一个不错的方式来提高你的技能。作为一个微软的员工,你有着很多优秀的资源可以利用,我强烈建议你发掘,总结你的知识。我强烈建议你设定了一个目标,并持续不断地提高你的技能。这是你的事业,你应该认真地投入时间来对待。请看我的

24、其他博文,你可以从中找到另一些提高自己的建议。给主管和经理(Lead and Manager)的建议亲爱的主管和经理,我希望你能认识到并非你所有的员工,在最后都能成为一个专业的软件测试员。我们应该帮助我们的成员,增长他们的领域知识,并给他们一个更好的职业。有一天,当你的员工决定转行或离开公司时,他们会感谢你提供的机会,以帮助他们学到自己的知识,并感谢微软提供了一个让他们能成长的平台。有时,建立一个健康、快乐的团队,比完成的任务更为重要。微软拥有的优秀员工正是我们宝贵的财富。作为主管和经理,我们应致力于让我们的员工感到开心,并有一个更好的职业发展。鼓励人们学习新东西,让员工能在某些领域里投入自己

25、的时间,始终是一个培养员工的不错的方式。你也将认识到,如果这样做,你的员工也会引入一些新东西到他们的日常工作中。拥有领域知识和了解顾客如何使用产品,一直对测试都有很大益处,这将是软件测试的趋势。 成为一个工具开发人员今天,许多我们的软件测试员编写了测试类库和测试框架,协助测试自动化和测试运行自动化。在整个公司里我们有很多的测试框架,测试运行系统。编写测试工具是一项重要的技能,它可以帮助我们的软件测试员增加他们的编码能力。如今,很多软件测试员开发测试框架和测试类库。他们和其他开发人员一样写一些代码。测试工具开发人员和软件测试员之间的一个很大区别是,编码技能是开发人员最重要的技能,而对软件测试员来

26、说最重要是测试技能。我们的工具开发人员面临的一个挑战是,你应该与使用你所创建的类库的其他人紧密合作,并确保你的确提高了工作效率。请记住,编写工具不是你的目标,让其他人更敏捷才是你的目标。我能给想要成为工具开发人员的软件测试员一个建议是,你可以大体上看看,编写一个测试工具跟编写的其他软件是一样的,所以如果你有良好的编码能力,你可以在很多团队中有着潜力无穷的成长,所以不要限制自己去寻找一个软件测试员工作或只编写测试类的工具。另一种观点认为,测试工具开发人员和编译器开发人员,UI开发人员或数据库开发人员一样,他们只是在不同的领域具有专业知识的开发人员。这是我之所以把本节的标题写成“成为工具开发人员”

27、,而不是“成为测试工具开发人员”。它带来了另一个有趣的观点,就是我们的测试员(SDET)角色实际是专业软件测试员和测试工具的开发人员的混合体。我们希望大家通过编码(开发的角色)来做更多的测试自动化(测试的角色)。但是,在某些情况下,我们发现在这两个领域,我们都不太擅长。它可能潜在地限制我们的软件测试员长期的职业规划。 转行或继续我曾打算写一些建议,关于你是否应该留在你目前的职位或转行到另一个其他团队、其他公司的职位。在写下我的想法之前,我想我可以给你一些关于这个主题的参考。第一篇文章是一个10年前Interface上发表的一篇文章,标题是“职业生涯?什么职业生涯?”。文章首先说,“你的职业生涯

28、发展是你的责任。”和“你管理着自己的职业生涯。”然后说你,你的经理和微软怎样一起合作,帮助你的成长。这篇文章提供了一系列的问题让你进行思考并回答。根据你的答案,并提供些很好的建议,无论现在是否应该做出改变。我最喜欢它的一部分是,它有很多的探索式(probing)、开放式(open-ended)的问题。例如:回顾 你最享受的是做什么?是什么驱使你投入时间来干得这么漂亮?(What was it about those times that made them so good) 有时你会特别不喜欢你的工作吗?为什么? 去年里你感到最骄傲的成就是什么? 在你开始你的职业生涯后,你的抱负或长期目标有所

29、改变吗?何时?为何?你现在将如何描述你的长期目标? 你的价值观是什么(一个主要标准,判断你是如何做事的)?你目前的工作和你的部门(微软)是否符合你的价值观? 你的经理是如何做你的教练?还有谁是你兴趣的好教练?展望 你真正擅长什么?从你的职业生涯中,你最想收获是什么? 当你展望你的职业生涯时,是否有些事情你特别想避免吗?为什么你想避免它们? 你认为在未来十年中你的职业生涯将会出现什么? 你需要什么样的技能或经验来为你下下个工作准备?对于十年的计划,你需要什么样的技能或经验? 你的经理(或微软)可以做些什么来帮助你实现你的目标?你需要从他们身上得到什么,才能使你获得成功? 当你展望你的职业生涯时,

30、有什么是你特别期待的事情吗?理由是什么? 你认为你的下一个工作将是什么?下一个工作之后,你认为你的再下一个工作又将是什么?回顾,你会被引导着去思考过去的工作经验。展望,你会被引导着去思考你想成为什么样子。思考这些问题,会真正帮助你整理职业生涯的思路。 然后,第二篇文章是在讨论这个问题,即“是改变的时候了吗?” 。文章列出了职业发展的八大选择模式:广泛(Enrichment),偏向(Lateral),垂直(Vertical),跨职能(Cross-functional),重新调整(Realignment),探索(Exploratory),执行(Peform),和其他的追求(Other Pursui

31、ts)。这篇文章讨论了,你是如何在做决策,比如什么时候应该作出改变、什么时候又不是一个合适的改变时间和如何做好你的功课,再做出一个合适的改变。它也列举了很多别人的例子。例如:如果你不满意你的工作,不管是因为你不喜欢你现在工作的类型,还是因为你共事的人的价值观或者公司文化跟你不对路,做出改变也许能帮你走出这种状态,但你得先做下功课!Lou Nee Gerard如是说:“跳槽换工作不是一个避难所。做出的改变应该是积极的,应该因为你真正想要去做些什么,而不是去摆脱你不喜欢的事情。”,他曾从行政职务转行到PM。当你有一个明确的目标,并你已决定是否投入额外的努力时,这可能需要一个新的挑战(challenge),你应该时刻关注这些潜在机会能不能满足你的目标,并时刻准备采取行动。例如:跟你的经理聊聊。根据不同的情况,这可能是一个非常宝贵的步骤或一个你不想采取的步骤。你的经理可能是你最好的支持者并支持你的改变。如果你开始提你想要做的事情和你现在的工作不一样,虽然有些经理可能会感觉受到了威胁,一个优秀的经理会认识到对微软来说,你的成长是一件好事,并尝试与你一起向你的目标努力。有时候你和你的经理很可能不是很合拍。这种事难免。如果你不能跟你的经理聊,你可能需要选择另一位导师,来帮助你做决策。安排非正式的访谈。现在有不少谈论工作的非正式谈话,比如他们做了什么,他们是

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1