【发布时间】:2023-03-29 08:36:01
【问题描述】:
我们刚刚继承了一个包含大量自动化测试的新代码库。我们一直在“顺其自然”并在每次合并和部署之前运行它们。我们的一些员工在编写新功能时甚至会添加到测试集合中。
我一直在尽我最大的努力说服团队我们需要像烫手山芋一样放弃这些东西,但内部存在很多争吵。
在我看来,问题如下 - 这些测试需要很长时间才能运行(在一位开发人员的旧机器上最多需要 10 分钟!)。他们一直在崩溃——我不了解你,但当我的软件崩溃时我讨厌它。如果我们只是摆脱所有这些有缺陷的代码,我们至少会将错误数量减少 10 倍。一直在编写新代码的开发人员在做任何事情上花费的时间至少是其他人的两倍。这太荒谬了,我们已经在紧迫的期限内工作,现在进展进一步放缓,至少对于这个项目来说。我正在查看其中一位开发人员所做的提交,该功能刚刚超过 100 LOC,测试接近 250 LOC!
我的问题是我们如何去除所有这些错误的、无法维护的、每五分钟中断一次的代码(我不只是想进行搜索和替换,以防实际功能因此而开始中断)并说服我们的开发人员不要再浪费时间了?
【问题讨论】:
-
您是否认为适当的测试覆盖率(即使 LOC 比率为 2.5:1)是在浪费时间?如果是这样,您打算如何进行测试?您是否有其他测试方法(例如测试/QA 人员)?
标签: unit-testing testing automated-tests