我目前正在研究一个已经生产了两年以上的项目。该项目广泛使用单元测试和脚本化UI测试。初始单元测试涵盖了系统框架,业务规则和状态转换(或工作流程)。测试脚本用于黑盒测试。然而,随着时间的推移,维护我们全套单元测试的成本变得越来越昂贵,特别是与国家有关的成本。何时使用测试脚本进行单元测试?
有点调查后,我们发现,测试脚本更有效(即,提供更好的覆盖),并且更便宜的维护与比对工作流程的单元测试。这并不是说单元测试的价值已经被完全否定,但是它确实引发了这个问题,即某些类型的单元测试是否可以被放弃以支持测试脚本。
我们的项目是在一个迭代增量模型运行。
一般而言,单元测试必须改变以反映新的业务需求,但在某些情况下,更改会影响系统的许多方面,更新所有受影响的单元测试的影响非常高。在这种情况下,测试脚本已经被证明比单元测试更便宜。 – 2008-09-23 09:26:29
你应该非常害怕对单元测试产生如此影响的变化。单元测试现在可能为自己付出代价,帮助你发现和理解你所引入的变化。 – slim 2008-09-23 11:03:57