uat测试和sit测试
几个月前, 马库斯·加特纳(Markus Gartner)向我介绍了“测试三角”或“测试金字塔”。 看起来像这样:
如果您使用的是Google,则会发现一些版本略有不同,有些版本则称为“测试金字塔”。
现在是一个问题:
这个是从哪里来的?我应该相信谁?马库斯认为是迈克·科恩(Mike Cohn)是麦克,但他不确定。
这个三角形实际上与我进行敏捷训练时已经绘制了一段时间的图非常相似:
但是在我看来,应该将三角形推到侧面,然后您可以添加一些轴来添加更多信息:
在单元测试的基础上,有很多测试,它们通常以毫秒为单位执行。 我通常听到人们说测试代码(用于单元测试)的数量是生产代码的2-4倍。
随着测试的增多,测试将花费更长的时间来执行,因此往往会减少运行频率。 另外,随着测试的进行,自动化测试变得更加困难,可以自动化,但是这需要更多的精力和更多的协调。 因此,手动测试仍然存在。
没错,由于各种原因(例如探索性测试),永远不能完全消除手动测试,但是您可以获得非常高水平的自动化验收或系统测试。
成本与时间成正比-人工测试比短期测试之外的其他任何测试都要比自动化测试贵一个数量级-因此,随着测试花费更长的时间,运行成本就会上升。
现在谈谈UAT或Beta测试。
就我而言,用户验收测试与适当的Beta测试相同。 两者都意味着:向现实生活的用户展示潜在的成品并获得他们的回应。
区别在于:UAT倾向于在用户为公司工作且需要使用软件的公司环境中发生。 Beta测试通常发生在软件供应商环境中,这意味着要向公司外部的潜在用户展示软件,甚至将其提供给潜在用户。
因此:UAT和Beta测试只能由用户真正执行(是的,我大喊)。 如果您有专业的测试人员来执行它,那么它实际上是系统测试的一种形式。
这也意味着UAT / Beta无法实现自动化,因为这是要让现实生活中的用户使用该软件并获取他们的反馈。 如果用户将任务委托给计算机,则它是另一种测试形式。
而且让用户使用软件意味着他们没有做真正的工作,因此UAT非常昂贵:昂贵是因为它是手动的,而昂贵是因为没有完成其他事情。 鉴于此成本,在可能的情况下尽量减少UAT是明智的。
以我的经验,大多数UAT阶段(尽管不是beta阶段)实际上是另一轮系统测试,并且通常由专业测试人员执行。 这些专业测试人员正在做UAT的事实是无用的。 专业测试人员不是用户,而是专业测试人员。
(另一个遗忘之处是,进行UAT的专业测试人员通常是由IT部门以外的其他组织支付费用的,即IT测试不受信任,这也许是有充分理由的。)
我不止一次地看到系统测试/验收测试周期完全不存在或做得很差。 这就需要第二轮。 哪个称为UAT(可能隐藏实际问题?)
我也看到单元测试做得不好或完全被省略的情况。
如果这个三角形的低级水平做得很好-并且内置质量-那么UAT应该减少为a)实际用户,b)尽可能接近形式。
UAT是查找错误的非常昂贵的方法,它还表明开发过程中缺少某些东西。 在编码之前或在理解用户之前。 也许更令人担忧的是,它还显示了早期测试步骤中的失败。
参考:Agile,Lean,Patterns博客中的JCG合作伙伴 Allan Kelly 测试了三角形,金字塔和圆形以及UAT 。
翻译自: //05/testing-triangles-pyramids-and-circles-and-uat.html
uat测试和sit测试