我写了一些多线程批处理来处理数据。
当我完成实现并再次测试不同的数据集时,每个数据都有大约100行,一切都按预期工作。但是,当它实际移至prd时,某些操作将失败。诸如死锁,空指针异常,数据约束卷和错误的输出等。
我的问题是如何确保您的代码有效?我用示例数据进行了测试,但是我真的不能对数百万个数据进行测试,对吗,这很耗时吗?但是,如果我不这样做,由于某些在测试过程中没有发生的错误,我的测试代码将失败。
人们是否使用某种实践来验证或常见?
对此需要一些指导原则。
答案 0 :(得分:0)
根据我与大型公司(包括硅谷)的合作经验,我会说从一开始就使用最佳实践并坚持使用,例如:
同样重要的是,也要使其在真实条件下运行(也就是在生产环境中进行测试...好吧,我们将其称为公开测试版)。在那里用您拥有的一切进行攻击。其中包括您所有的黑客工具和成群的野生猴子。
即使是最大的公司在其软件上投入巨资,也始终会存在一些其他隐藏的bug或安全性问题(并且可能会在以后解决的已知问题)。因此,请确保您有一些事后验尸程序,例如堆栈跟踪,应用程序日志,系统日志,屏幕截图等。
在当今的软件复杂性中,正确性和稳定性非常昂贵。对于小型项目,可以稍作努力(取决于失败人数,或者今天更重要的是资金损失,如果出现空指针的话)