idea 更快地创建测试类






本周初,我是纽约市一家大型银行的客人,实际上是OK Canary Wharf。 他们有自己的内部小型敏捷会议。 除我本人外,一些常见的嫌疑犯以及一些内部发言人也在游行。 这非常令人愉快,像往常一样, C-List演讲者是一些最有趣的人。

当天晚些时候,我发现自己正在与两个关心软件测试的人交谈。 他们提出了一个问题:“我们如何使测试更快?” 具体来说,我们如何使SIT(“系统集成测试”)和UAT(“用户验收测试”)更快?

现在,这些解决方案远非该特定银行独有。 确实,在听了这个问题和情况之后,我回想起我曾经进行过的几次讨论,看到的问题以及之前提出的解决方案。 (好不好的顾问我,我应该打听这个问题,充分了解上下文,指导她找到自己的解决方案,等等。)但是我们只有30分钟的时间,因此我没有获得参加完整咨询会议的报酬–我要向您收取阅读费用吗– –不要发明轮子,让我们填写假设并给出一些一般性答案。)

我们提出的解决方案是:

  1. 更多的测试环境 :我听到测试人员说他们没有足够的测试环境的频率令人震惊。 他们的环境数量有限,必须分时或同居。 有两个答案:要么增加测试环境的数量,要么减少测试人员和测试人员的数量。 抱歉,我不能给您一个神奇的句子,说服金钱人们为您购买更多环境。 现在我们可以对机器进行虚拟化了,几乎没有理由不创建更多的测试环境。 通常是成本。 但是即使在这里,成本也不是那么高。 (除非那是您需要购买新的大型机。)
  2. 测试人员与开发人员集成在一起并位于同一地点 :如果您想提高速度,我还没有找到比面对面直接口头交流更好的方法。 如果您希望/需要分发的人,那么您应该接受您的速度将不如预期的快。 我之前已经说过,我会继续说:测试人员是一等公民,就像对待开发人员一样对待他们。
  3. 自动化SIT :确实很简单,可以自动进行测试。 很容易说,很难做,但远非不可能。 由于大多数UAT / Beta测试本质上都是探索性的,因此很大程度上SIT需要自动化。 而且, 请不要花钱在工具测试工具上
  4. 使UAT成为UAT :认识到UAT通过的某些操作实际上是SIT并使其自动化。 在大型公司中,很多所谓的“用户接受测试”不是“用户测试”,尽管很可能是“接受测试”。 仔细查看此阶段发生的情况:可以(确实应该)预先指定真正的验收测试(编码),然后将其移至SIT阶段并自动进行。 真正的User位本质上将更具探索性。
  5. 使用TDD改进开发质量并首先进行测试 :SIT和UAT阶段较长的一个原因是它们会发现错误。 显着减少bug数量的一种方法是让开发人员练习“测试驱动开发” ,即更早地构建质量。 首先,这可能意味着编码会花费更长的时间,但会加快整个过程的速度。 TDD对许多开发人员来说还很陌生,因此您可以通过给予他们一些帮助来加快过程,特别是从以前做过很多事情的人那里进行TDD指导。 在开发人员从“后编码自动化单元测试”过渡到“预编码测试优先开发”之前,您将无法最大程度地利用TDD的好处,系统中的代码量将超过所需,并且总体设计较差,这两项都将在以后进行更多测试,并可能带来更多问题。 在代码TDD成为设计活动之前编写测试时。
  6. 减少批量大小 :即减小发布的大小,并可能发布更多的版本。 少做,做得更好,更频繁地推出,降低风险。 考虑规模经济 。 许多大公司之所以使用大批量生产,仅仅是因为任何发布都非常痛苦。 这是完全错误的方法,而不是因为害怕发布而奔波。
  7. “完成”表示已在迭代中完成并经过测试 –在迭代结束时,它是可发布的:当您到达迭代结束并声明工作“完成”时,意味着“已准备好发布(向客户)。” 好吧,无论如何这应该是您的目标,并且您应该为此努力。 如果“完成”当前表示“已完成开发,可以进行SIT”,那么您应该努力将SIT引入迭代中。 如果现在看来很难,请再次查看此列表中的项目1至6。 当您将SIT移到迭代内部时,请从UAT开始。 直到这两个阶段(以及尾部的任何其他阶段)都在迭代中,否则它们可能会抛出问题(错误),这将破坏以后的迭代,这意味着您所说的“未完成”工作。

现在抓。 钱。

其中一些需要花钱。 在一个合理的世界中,这不会成为问题,因为有大量证据表明,软件质量的提高(我的意思是特别是很少的错误和更高的可维护性)导致时间表缩短,从而降低了成本 。 另外,您将获得更多的可预测性。 什么不喜欢?

因此,从理智上讲,这是花钱省钱的案例。 菲利普·克罗斯比(Philip Crosby)曾经说过, 质量是免费的

但是,不幸的是,理性工程师经常发现很难在大公司的年度预算周期内看到其合理性。 本周经常发生的主题之一是预算周期的限制,尽管我认为没有一个主题是正式时间。 工程师的理性世界与会计和预算编制者的理性世界似乎还有很长的路要走。

有一个解决方案,但这是一个很大的解决方案,会让很多人感到恐惧。 这是“ 超越预算” ,这就是为什么我如此热切地邀请“实施超越预算” 的作者Bjarte Bogsnes在今年的敏捷大会上谈论“超越预算”。 这可能也是为什么Bjarte最近在推特上发推文 “在敏捷和人力资源会议上谈论超越预算的邀请现在和财务会议邀请一样频繁。 精彩!”