我在一家大公司工作,负责一个带有数千个junit测试的大型Java应用程序。自从我担任这个职位以来,已经有200到300个失败的测试(可能是多年失败的测试)。这些测试既旧又脆弱,并且杂乱无章,通常以实时沙盒数据结尾。
我的目标是100%通过测试,这样我们就可以打破单元测试失败的基础,但是直到解决了失败的测试之后我才能做到。我的预算很少,因为维护预算主要用于支持,但是我的团队已经确定并修复了低挂的水果测试(主要是配置/本地资源问题),而我们的测试只有30-40个非常丑陋。
对最佳实践有何看法?我认为测试不是有价值的,但是我也不知道他们正在测试什么,或者为什么他们不钻研就无法工作,这需要我们花费很多时间和金钱。
我想我们应该用我们知道的任何东西记录破损测试的状态,然后完全删除或忽略破损测试,并输入一个较低优先级的错误/工作项来调查和修复它们。然后,我们将达到100%的水平,并开始从其他测试中获得真正的价值,如果我们有维护/重构的意外之财,我们将能够再次进行选择。
最好的方法是什么?
编辑:我认为这是一个不同于该问题的问题,因为我对我们应该编写的测试有明确的方向,但是我继承了遗留失败的测试,以便在当前的大量测试变得有意义之前解决这些问题。