成功的自动化测试:敏捷测试员与程序员之间的合作

日期: 2012-03-26 作者:Lisa Crispin翻译:蒋红冰 来源:TechTarget中国 英文

你认为对敏捷测试员来说,什么样的自动化技能是最重要的?   就我的经验而言,对于想要在自动化测试中成功的敏捷测试员,最重要的技能是合作与沟通两项技能。如果你正工作在这样一个软件开发组织,那里有程序员精心编写的产品代码,那么这些程序员就是编写自动化测试代码的最佳人选。测试人员知道什么是正确的测试事情。对于一个测试员与程序员的组合,他们可以共同决定哪一个测试应该自动测试或怎样自动测试。

但至少应该在编码之前启动这个过程,这样程序员在设计代码时就可以使其更容易做自动化测试。   有很多可以帮助提升敏捷测试员与程序员合作的测试框架。例如,我的团队在GUI后面的API层面,就利用FitNess作了多次测试……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

你认为对敏捷测试员来说,什么样的自动化技能是最重要的?

  就我的经验而言,对于想要在自动化测试中成功的敏捷测试员,最重要的技能是合作与沟通两项技能。如果你正工作在这样一个软件开发组织,那里有程序员精心编写的产品代码,那么这些程序员就是编写自动化测试代码的最佳人选。测试人员知道什么是正确的测试事情。对于一个测试员与程序员的组合,他们可以共同决定哪一个测试应该自动测试或怎样自动测试。但至少应该在编码之前启动这个过程,这样程序员在设计代码时就可以使其更容易做自动化测试。

  有很多可以帮助提升敏捷测试员与程序员合作的测试框架。例如,我的团队在GUI后面的API层面,就利用FitNess作了多次测试。对于每一次测试,在这个阶段都可以测试出这样的事情——敏捷测试员与程序员一起合作完成某件事情,并探讨出测试的设计并能做出第一次的简单测试。程序员编写夹具,用来进行测试输入,并把夹具传送给产品代码,做出相应的操作,然后返还结果与预想结果做比较。测试人员会写出多样的测试用例,用例中包含不同的输入与预想的输出。同样,我们用Selenium 2.0和Webdriver跟踪了一个类似的GUI自动化测试。在Geb框架中使用Groovy语言,程序员给不同的GUI页面编辑不同的页面对象,这样测试人员通过页面对象可以编写出多样的用例。这样的合作有助于确定设计的测试代码是否合适,这也能做到长期的维护,并提供了一个良好的投资回报。

  当与其它人谈话时,我团队的程序员都感到无比的舒服,这些人有的“讲他们的语言”,有的有某种技术知识,有的用了相同或相似的集成开发环境(IDE)或者基本掌握了面向对象的概念。如果你是一个没有很多编程经验的测试员,那么就赶快熟悉一下基本概念。《Everyday Scripting with Ruby: For Teams, Testers and You》(作者:Brian Marick, 2006)一书提供了很多案例,即使你的团队不使用Ruby, 你也可以完全熟悉面向对象概念和编程术语。对于一些介绍面向对象的设计知识,请记住戴夫•托马斯和安迪•亨特说过的话“Keep it Dry, Shy, and Tell the Other Guy“。请求程序员帮你安装她使用的IDE,让帮她你建立一个可以检查你团队产出和测试代码的项目。

  如果你还没任何途径可以成为程序员的话,或许你可以去外包公司工作,上面一段所介绍的资源可以提升你自己设计自动化检测的能力。如果你不能与程序员组合,可以与你团队中其它的敏捷测试员组合来学习合作。

翻译

蒋红冰
蒋红冰

TechTarget云计算主编,主要负责云计算和虚拟化网站的内容建设。长期专注于IT前沿技术,对云计算、虚拟化、人工智能、区块链等技术都有了解;对行业趋势、市场动态有一定的洞察。

相关推荐

  • 六步加速移动应用测试

    在移动企业,如果你测试和发布app的速度不如竞争对手快,那你就要落后了。哪怕是最古板的保险公司都知道,在移动领域速度会杀人。

  • 基础设施即代码以及持续交付的其他前提条件

    持续交付的成功取决于四个前提条件。在本文中,专家聚焦于三种实践:自动化测试、基础设施即代码,以及过渡环境。

  • 移动测试自动化对性能至关重要

    在QUEST大会2014上,其中三位演讲者在这一点上面的意见是一致的:移动领域的测试需要一定水平的复杂性、紧迫性以及持续卓越性,这是现有的传统软件测试所不具备的。

  • 前端研发生态环境构建经验谈

    不记得从什么时候起,“生态环境”一词经常出现在耳边,那么对前端开发来讲,是否也需要有一套自己的生态环境形成一个闭环呢?那前端开发的生态环境和闭环又应该是什么样的呢?