面对软件测试未来的变化

日期:2015-10-15作者:Valerie Silverthorne翻译:崔婧雯 来源:TechTarget中国 英文

【TechTarget中国原创】

敏捷团队的软件测试人员不可能赢。情况要么是测试很重要以至于需要开发人员来完成;要么是任何人都可以完成测试。

不幸得是,如今很多软件测试职位都 处于两难的境地。在更快开发并且发布应用的巨大压力之下,企业都会促使测试人员更新他们的技能,从编程到读取电子表格,甚至直接处理客户问题。测试人员—很多测试人员自己也已经感到职位的尴尬之处 必须面对这样的现实挑战,不然可能就会失去工作。

“角色正变得模糊,”敏捷测试教练,专家和作家Lisa Crispin在八月初的Agile2015大会上说。“在Agile世界里,现在的关注点是竞争力,而不是角色。”这引入了一些很严重的问题,不仅仅有关于软件测试的未来,而且有关下一代软件开发团队会如何构成。

开发和测试是否应该合二为一?

要想搞清楚软件测试的未来如何,需要从最棘手的问题入手:开发在哪里结束,测试从哪里开始,这两个应该合二为一么?

这是个高风险问题。“很多测试人员十分担心自己的工作,因为他们不知道如何写代码或写脚本,”Gartner资深研究分析师Nathan Wilson说。他们的确应该感到焦虑,他说,因为自动化软件测试敏捷软件开发的重要环节很容易就能代替这些不会编程的测试人员。“我们已经看到一些公司在转向敏捷之后去掉了软件测试的职位。”

那么答案是将测试人员转变成初级开发人员么?很多测试专家说这也完全错误。

“我们坚信测试人员的技术洞察力,”敏捷教练,培训师和咨询师Janet Gregory说,他在Agile2015大会上和Crispin一起演讲。“但是不,我们不认为测试人员也需要能够写代码,因为你的团队里已经有开发人员了。”

软件测试人员需要加强技能

测试人员给软件开发带来了独特的视角,Matthew Heusser,Excelon Development的资深咨询师。“创建软件和测试人员带来的审视是不同的技术能力,”他说。“测试人员是否需要加强技术能力?是的,肯定需要。但是他们不需要成为全职程序员。”

但是,他们的确需要具备一些今天还不具备的技能,Henrik Andersson,House of Test的联合创始人说,这是一家总部在瑞典的测试咨询公司。他热切得认为测试人员应该还是测试人员,但是他也立即提醒到,很多测试人员工作得很差,使得这一职位蒙羞。他认为,将测试人员变成程序员不是解决问题的答案。

“很多公司认为开发能力和编程序比其他技能更有价值,”他说。“但是我不认为应该关注于开发技能。这是很大的错误。我确实认为大多数测试人员需要提升自己的技能,并且更多得了解开发是如何工作的,代码如何起作用,了解业务功能是如何赚钱的。是的,他们需要更强劲的技术竞争力,但是这只是他们需要改进的好几个领域的其中之一。”

让测试人员了解流程的所有方面

这是需要寻找的有技巧的平衡,Crispin说,因为团队需要培养“测试思维”,同时她会正式让测试人员参与客户服务,来确保每个人的视野更为宽广。

了解流程的其他方面是关键,同时,合作也分外重要。“需要观察每个人是如何完成工作的,”Gregory解释道。“目标是分享理解和通用的语言。团队一起选择一种测试框架,以及域相关的语言,然后让测试自动化知道指定哪些测试。这是巨大的投入,试验所有这一切需要时间,但是绝对是值得付出的。”

自动化成为软件安全测试的常态

软件安全的一大难题,Gary McGraw,Cigital,Inc.的CTO,最近说,“我们可能知道应该怎么做,但是将这一活动扩展到大型企业可能就非常困难。”取得进展的关键,MacGraw说,安全编程领域的顶级专家是“在整个产品线自动化标准方案。”

在2015RSA大会上的采访中,SearchSecurity的编辑主任Robert Richardson和McGraw一起探讨了自动化的前景。“动态黑盒测试和使用脚本进行的有计划测试,以及直接的简单代码审核都可以自动化。”McGraw说。想要实施这次采访所讲内容的人,需要“自动化一切能够自动化的东西。”

渐渐,McGraw说,测试需要覆盖到企业应用程序产品线的所有应用。“通常,首先是去【问】“风险最大的应用是哪个?”并且一个个单独查看。但是如果所有的低风险应用程序加起来有无数漏洞,也会造成灾难。”

配对,但是要更为灵活,Andersson说。“测试人员需要将代码自动化的任务留给开发人员。这是开发人员得到反馈最为迅速的方式,如果我们让测试人员整天做自动测试,这是浪费时间。相反,应该让测试人员和开发人员配对,并且帮助他们(开发人员)学习如何进行测试。一个优秀的测试人员能给团队带来什么?很多很多。”

配对,然后真正的配对,就像mob编程团队一样。在mob编程里,一组有六到八名开发人员,他们集中到一个屋子里,一起狂热地写代码。其实这一理念也可以用在测试上(有人称之为mob测试),或者作为将测试人员和开发人员集中到同一个房间的方式,来一起找到解决问题的方法。

开发人员和测试人员的配对很有效

“将开发和测试人员配对绝对非常有效,大家从一开始就一起在用户故事上合作办公,”Heusser说。“无需交付,无需等待。他们可以在整个故事的开发中mob,并且测试所有路径。”

这也正是Maaret Pyh?j?rvi, 她是芬兰的Altom Consulting公司的软件专家和测试咨询师,在她的团队里所做的尝试。她在过去四年里一直参与mob编程,但是最近才将测试人员加入到流程中。

“我们决定尝试mobbing,而不是解释常见的体验,”她说。团队能够很好得沟通,但是仍然会被“沉默信息”卡住—从键盘快捷键到解决问题的策略—每个人都能够从中受益。Mobbing促使这些信息的公开。“Mob的确促使每个人都成为最好的,而不是那么几个人。很好的想法随之涌现。”

关注于成为最佳测试人员

关注于成为最佳测试人员也很好,这听起来可能很老套,Crispin说。“记住测试人员能够完成哪些别人做不好的事情,这很重要。使用最炫的测试技巧。擅长于侵入测试—这非常重要—并且记住测试是整个团队的责任。”

也要记住最开始为什么进入测试领域,Ernest Mueller建议到,他是一名开发人员,也是Agile Admin的博主。“如果你进入QA领域是因为的确对开发非常感兴趣,那么就继续做吧。但是如果你对测试流程很有热情,那么这就是你应该关注的领域。”如今的形势里,所有的压力都在手动测试人员身上,很可能他们就是会被舍弃的第一层。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者>更多

Valerie Silverthorne
Valerie Silverthorne

Valerie Rice Silverthorne是SearchSoftwareQuality网站编辑、作家。

技术手册>更多

  • 智能BPM与业务流程工具

    Gartner认为iBPM要比运营型智能平台更优秀,表现在以下几个方面:iBPM套件提供更好的工作流,适配性案例管理以及结构化流程协调能力。

  • 云BPM新常态解析

    云端业务流程管理已经不再是什么新鲜事,更不再是什么可怕的方法来管理重要的业务流程。现在,它已经普遍被认为是一种新常态。组织已经从这一技术中获益,使它来更有效地访问和管理企业信息。

  • 企业IT集成指南

    随着云技术的不断采用,现代企业都面临着重大的集成问题。现在已经不再是把企业内部的数据和应用简单地缝合在一起,企业IT现在面临着整合着外部与内部信息的难题。

  • API开发与管理大作战

    2014将会是API管理方法新旧PK的一年,据Delyn Simons说,她领导了Mashery开发者的外展团队。应用编程接口(API)的主流化和私有化在新的一年也将掀起波澜,她在波士顿“Future Insights Ultimate Developer Event 2013”大会上预测说。