gpt4 book ai didi

unit-testing - 如何测试科学软件?

转载 作者:行者123 更新时间:2023-11-28 19:38:52 25 4
gpt4 key购买 nike

我相信软件测试确实非常重要,尤其是在科学领域。然而,在过去的 6 年里,我从未遇到过任何接受定期测试的科学软件项目(其中大部分甚至没有版本控制)。

现在我想知道您如何处理科学代码(数值计算)的软件测试。

在我看来,标准的单元测试经常会错过重点,因为没有确切的结果,所以使用 assert(a == b) 可能会因为“正常”而有点困难数值错误。

所以我期待着阅读您对此的想法。

最佳答案

我也在学术界,我编写了要在我们的集群上执行的量子力学模拟程序。我对测试甚至版本控制也有同样的看法。我的情况更糟:在我的例子中,我使用 C++ 库进行模拟,而我从其他人那里获得的代码是纯粹的意大利面条代码,没有继承,甚至没有函数。

我重写了它,还实现了一些单元测试。你是正确的,你必须处理数值精度,这可能会根据你运行的架构而有所不同。尽管如此,单元测试是可能的,只要您考虑到这些数字舍入误差。您的结果不应取决于数值的舍入,否则您的算法的稳健性会遇到不同的问题。

总而言之,我对我的科学项目使用了单元测试,这确实让人对结果更有信心,尤其是在最终发布数据方面。

关于unit-testing - 如何测试科学软件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com