我相信大家都听说过自动化测试的金字塔,因此我就简单的在这儿介绍一下,你也可以通过这个链接阅读关于它的详细内容。
它本质上是一种策略,显示了验收测试(通常为UI),集成测试以及单元测试之间的最佳实践比例,在这儿就以简单的形式表示一下。
这表明了,如果你的测试包含了10%的验收测试,20%的集成测试和70%的单元测试,就将构成一个很好的比例。你可能会问,这是为什么?这样做的主要重点是投资回报率,通过再在单元测试寻找bug/破碎部分,你可以便宜的找到错误,因为单元测试快速并易于维护,而验收测试,其成本更高,难以维护,还需要花费较长的运行时间。
显然,这不是一个严格的比例,但我认为基于这个比例来尝试会是个很好的做法。
但是,我离题了,这篇文章的主要观点是给这个自动化金字塔进行一些改进,并且可能会比自动化金字塔更加以质量保证(QA)为中心,因为我不常看到(无论正确与否)QA会在创建单元测试或集成测试时被涉及到,我觉得你可以简单地通过想像来使这个比例更直观,那就是以冰山的形式。
有趣的事实:通常只有11%左右的冰山是可见的...
现在,如果我们将这个有趣的事实运用到自动化测试,(我猜你可以猜到我要说的是什么了),我们可以将可见的11%比作验收测试中的QA,这些测试一般都由QA负责,常常归入我们的领域并进行维护和创造。
剩下的89%,更着重开发,单元测试和集成测试一般是由开发者来维护,而不是QA部门(至少按我的经验来说)。因此,这使得测试团队能够着重于验收测试的工作,并能高效地工作,留下单元和集成测试的部分给开发者(尽管尽量涉足其中是绝对是明智的)。
请不要以为我说的是单元测试并不重要(恰恰相反,我以前的博客文章也可以证明),因为QA需要注意将要运行哪些单元测试和集成测试,因为这会影响到哪些部分的测试将作为验收测试来运行,你只需要想想泰坦尼克就知道当冰山的其余部分被忽略时会发生什么了。
【英文原文:http://www.testingthewaterhouse.com/2013/06/test-iceberg-of-automation.html】
{测试窝原创译文,译者:大头}
译者简介:大头,在读日本九州大学修士,计算机专业,主研究方向为文本挖掘,及自然语言处理。