繁体   English   中英

如何测试特殊多项式的正确实现?

[英]How to test the correct implementation of special polynomials?

我需要在Java中实现一些特殊多项式的计算(语言不是很重要)。 这些计算为多个具有固定系数的基本多项式的加权和。

每个基本多项式有 2 到 10 个系数,通常考虑 10 个基本多项式,总共有 20-50 个系数。

基本上计算没什么大不了的,但我担心错别字。 我只有一个打印文档作为模板。 所以我想为计算实施单元测试。 问题是:我如何获得可靠的测试数据。 我确实有另一个应该计算这些函数的软件,但这个过程很复杂,而且容易出错——我必须缩放输入值,通过软件中的一些菜单选择来生成输出,然后将其粘贴到我的测试代码。

我想没有办法使用外部软件来生成一些测试数据,但也许您有一些建议可以使这种类型的测试过程更安全或最小化所需的测试用例数量

我还担心提供合适的输入值:根据自变量的值,某些项对输出的贡献很小,而对于其他值,它们可能占主导地位。

我期望(并且需要避免)的错误类型是:

  • 系数中的错别字
  • 应用于错误功率的系数(即a_7*x^6而不是a_7*x^7 - 只是为了演示,我不是这样计算而是使用霍纳的方案)
  • 错一错误(即缺少零阶或最高阶项)

由于您有一个 10 次多项式,因此在 11 个不同的点上进行测试应该可以确定。

然而,已经在一个随机化的点x=1.23004进行了测试以给出一个想法(远离像 2/ x=1.23004 /5 这样的小分数),如果有错误,很可能会显示差异,因为它是错误多项式和真实多项式之间的差异不太可能在这个地方有根。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM