【问题标题】:How to test the correct implementation of special polynomials?如何测试特殊多项式的正确实现?
【发布时间】:2016-03-15 08:52:57
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: java unit-testing math testing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2013-01-20
      • 2012-06-09
      相关资源
      最近更新 更多