软件行业发展迅猛。越来越多的团队开始重视测试,他们利用测试驱动开发。全新的或者改进的自动化测试和驱动框架层出不穷。团队在采用更多自动化回归测试之后,需要测试人员具有精湛的探索性测试技能。但是大部分人在校园里中学不到这些必要的技能,那么测试人员是如何炼成的呢?
同时,我发现一些人在努力寻找让自己满意的测试工作。测试人员经常问我如何融入敏捷开发,或者哪些技能可以帮助他们找到满意的工作。如果没有编程经验,他们会担心技术上无法立足于敏捷团队。我认为虽然技术很重要,但是态度决定一切。如果你乐于学习,并且努力帮助团队交付优秀的产品,那么作为测试人员,你前途一片光明。我的建议是抓住一切学习机会,主动获取新技能。
我发现许多人从例子中学到的东西比较多,所以这里分享本人的几个故事,讲述了我的学习动力是如何促进事业发展的,希望能够为读者自己的职业进步提供一些启发。
开发人员、测试人员还是领域专家?
测试人员的背景非常广泛。在过去十年间,随着越来越多的开发人员对测试产生兴趣,我见到许多开发人员更乐于把自己视为测试人员。还有许多测试人员来自于业务领域,他们的领域专长对于开发非常有价值。技术作者,必须弄清楚应用程序的行为才能正确表述,所以经常让自己变成测试人员。许多人都是碰巧担当了这个角色,我也是!
来说说我自己的故事吧。我的职业生涯起初是一名开发人员,而且我喜欢编程。测试自动化(本质上属于开发人员的任务)是我最喜欢的工作之一。我热爱测试。我乐于了解业务并想办法促其成功。拥有技术背景让我既适应开发团队又适应业务团队。下面的故事讲述了我的学习旅程:从早期的开发岁月到参与敏捷团队。
对测试的早期认识
和许多人一样,我是偶然进入了软件开发领域。我最初在Texas大学的Austin数据处理部门获得了“开发实习生”的职位。
我的培训老师其实比我早几周入职,也是刚刚接受培训,他们刚学会了编程,然后又教会了我。很快,我就了解了Easytrieve、Cobo和4GL还有层次型数据库的基础知识。我们以相同的方式编写代码,所以彼此的程序易于操作。现在回想起来,集体性的代码所有权非常有用。
在这次培训的数月之后,我很高兴的接受了教育协调员的工作,不仅仅监督开发人员培训,还负责培训最终用户。我们通过课程教育老师们如何执行简单的查询和报告,这节省了开发人员大量的工作。我从这一年的经历(期间我还在日常开发工作)中学到了很多:如何教授他人。
我惊讶的发现从客户和其他开发人员身上受益良多。我们(开发人员和分析人员)与客户坐在一起,讨论他们的需求,并现场画出原型。我们一一展示直到他们确认需求。我曾经加入一个团队来规划图书馆的在线编目系统,与图书管理人员坐在一起了解卡片编目系统是如何运作的。学习不同的领域是我工作中最有趣的部分。我们对测试一无所知,但是与客户的合作帮助我们在发布产品之前提高了软件的质量。
在最初的开发/分析工作中,我学会了如何领导他人。我的老板曾经告诉我做领导意味着确保其他人知道我的团队所做的贡献。我学会了以身作则。在以后的工作中我一直谨记在心,想办法让老板和其他业务上的人员知道我的团队和我自己带来的价值。
在转变中学习
几年后,我在一家大型软件公司担任技术支持,那时对测试和质量保证的概念不太了解。同事和我出于自我防范的意识做了大量测试工作:在客户发现缺陷之前最好由我们自己来找到这些问题。某天,老板问:“谁想做DB2培训?”没人了解DB2,但是我主动请缨。很快,我成为了团队中SQL和DB2专家。
公司发现在客户之前找到缺陷好处多多,所以决定创建第一个测试团队。我再次自愿参与。因为我了解SQL,所以我测试了使用Oracle和Sybase数据库的项目,这些都比我们自己的数据库产品在市场上更受欢迎。
在新的工作中,我开始学习测试的方方面面。我参加了一次测试研讨会了解了更多知识。我们开始尝试测试自动化。我们的软件适应于所有操作系统,因此我有幸学习VAX/VMS、Wang、OS2、AS400和八种不同的UNIX系统。虽然这些经历写到简历上不是那么好看,但是在所有平台上维护测试环境是宝贵的经验。
我们的团队同时负责打包发布。我理解了发布说明和准确文档的重要性,以及如何管理alpha和beta测试。起初这些任务让人觉得很困难,即使现在我也觉得自动化测试是这样。但是我很幸运的受到了来自外部课程、自学教材和同事等各方面的培训和支持。我试着克服困难,不断想办法掌握新技能。
随着在测试、自动化、数据库和操作系统等各方面的广泛经验,我拥有了不凡的技能。这本不是我的目标,起初我只是想学习新知识!不论是技术能力还是有关业务的什么东西,我喜欢在新领域中探索,很值得去做。当公司遇到财政危机时,我找到了一份不错的新工作。
文章来源于领测软件测试网 https://www.ltesting.net/