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

发表于:2012-5-18 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蒋红冰 译    来源:51Testing软件测试网采编

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

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

  有很多可以帮助提升敏捷测试员与程序员合作的测试框架。例如,我的团队在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,让帮她你建立一个可以检查你团队产出和测试代码的项目。

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号