面对软件测试未来的变化

日期: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网站编辑、作家。

SOA开发>更多

  • 故障注入注定要成为软件专业人士的必备技能

    尽管云改善了企业迅速发布高质量、高能力应用的能力,但专家警告说要小心这些应用会变得太复杂,难以进行人工测试。

  • 容器与微服务要“联姻” 你对它们够了解吗?

    在虚拟化和云计算领域,容器大概是发展最快、最广为令人兴奋的技术了,微服务则紧随其后。如果把这两大技术结合起来会碰撞出怎样的火花呢?

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

相关推荐

  • 2016年管理好软件测试事业

    从尝试定义测试开始听上去不错,至少可以作为起点。但是,测试通常听上去更像笔头工作,是一个低价值的角色,很可能被外包。本文将分享一些掌控软件测试事业的方式。

  • 敏捷团队要如何管理持续需求?

    你知道对于敏捷团队来说,为什么持续需求很常见,而且对于持续开发的灵活性很必要吗?

  • 持续交付面临哪些技术障碍?

    随着持续集成的实现,敏捷团队将面临越来越多有技术障碍。持续交付要求开发一条新途径或,通过这种方法,新代码准备可以随时部署生产。

  • 如何实施整体团队敏捷方法

    达到整体团队敏捷方法很难。这里讲述了一个教练如何采取不同寻常的方法来使她的团队成员相关讨论、寻求帮助,以及把所有问题看作是团队级别问题来处理。

技术手册>更多

  • 应用生命周期管理(ALM)学习

    在当今世界,IT对于一个企业的重要性是毋庸置疑的,简单的用一句话可以概括——“应用就是业务”!IT的发展速度非常之快,我们不仅要问,究竟是什么原因会促使这种反战的继续?答案只有一个,业务驱动。这就对IT提出了一种挑战,快速地生产并交付出能够满足新的业务过程的需要的业务应用系统,这就涉及到了应用生命周期管理。

  • 云数据架构快速指南

    新的云数据架构快速指南提供在云数据架构中,您所需要的技巧、专家建议新闻、趋势和已经实施了云数据架构的企业现状是怎样的,下一步他们打算如何做。下面让我们看看详细内容。

  • 换个角度看BPM

    在谷歌上快速搜索一下“BPM”,你将得到整整1.59亿个点击结果。有关这三个字母的含义,存在着海量的定义和观点。业务流程管理、业务过程建模、业务流程映射。当然还有一些有趣的解释。

  • 企业应用集成EAI

    EAI(企业应用集成)是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要的内部系统之间无缝地共享和交换数据的需要。有了EAI,企业就可以将企业核心应用和新的Internet解决方案结合在一起。

    EAI(企业应用集成)将进程、软件、标准和硬件联合起来,在两个或更多的企业系统之间实现无缝集成,使它们就像一个整体一样。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算