92. 当开发与测试精诚合作



当开发与测试精诚合作

        当测试人员和程序员开始精诚合作时,有些魔法就会发生了。花费在缺陷跟踪系统中将bug转来转去的时间更少了,浪费在弄清楚某个东西到底是bug还是新的特性中的时间更少了,用于开发好的软件来满足客户需求的时间更多了。即便在在编码开始之前,就已经有很多机会来开始合作了。
        测试人员可以使用他们的相关领域的语言和工具,比如Fit(Framework for Integrated Test),帮助用户编写并自动化验收测试。当这些测试在编码之前就给到开发人员时,团队就是在实践验收测试驱动开发(ATDD)了。程序员编写功能来跑这些测试,编码来通过这些测试。然后这些测试也成了回归测试套件的一部分。当这样合作时,功能测试就可以提早完成,于是就有了更多的时间可以用于边际条件或者更高一层的整体上进行探索性测试。
        我们可以更进一步。作为一名测试人员,我可以在程序员编码一个新功能之前提供大多数的测试想法。每当我向他们咨询是否有什么建议时,他们总是能给我提供信息来帮助我实现更多的测试覆盖,或者帮助我避免浪费时间在不必要的测试上。我们经常会由于测试弄清楚了很多初始的概念来避免了缺陷。例如,我在曾经的一个项目中,给程序员展示了一个带通配符的查询的期望结果,而程序员完全打算只完全单词搜索。于是我们可以与客户交谈,在编码开始之前决定正确的解释方法。通过合作,我们防止了这个缺陷,并节约了很多的时间。
        程序员也可以与测试人员合作来创建更成功的自动化测试。他们了解更好的编程技艺,可以帮助测试人员搭建一个对整个团队都有用的健壮的自动化测试。我经常看到由于本身设计太差而失败的自动化测试。测试用例想测试太多的东西,或者测试人员本身对保持测试独立性的技术理解不够。测试人员往往是瓶颈,于是让程序员在自动化之类的工具中与其合作就更合理了。与测试人员合作,理解什么可以在早期测试,也许仅仅是提供一个简单的工具,可以给程序员另一个反馈的方式,帮助他们在长远中实现更好的代码。
        当测试人员停止他们的唯一工作就是打破软件并在程序员的代码中找到bug的想法时,程序员停止测试人员的工作就是“找到它们”的想法时,双方的合作就会更加开放。当程序员开始意识到他们在代码中保证产品质量的职责时,代码的可测试性就是一个很自然的副产品了,而且团队也可以在回归测试中一起做更多的自动化。成功的团队合作的魔法就开启了。

原文:When Programmers and Testers Collaborate by Janet Gregory

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值