我想按照以下步骤来测试涉及复杂计算的应用程序:

  1. 如何使用测试自动化工具进行测试计算?(使用QTP等自动化工具或开源工具)
  2. 测试计算时如何确定覆盖率,如何设计测试用例?

预先感谢Testmann

有帮助吗?

解决方案

我们必须在我们构建的应用程序中测试一些非常复杂的计算。为此,我们使用了一个名为 FitNesse 的工具,它是一个 wiki 测试工具(也是开源的)。当您以表格样式格式提供数据时,它的效果非常好。

我们有一些 C# 代码可以执行一些非常复杂的计算。所以我们所做的就是在 FitNesse 中编写一个测试工具,然后我们为其提供大量测试数据。我们非常努力地涵盖所有情况,因此我们利用了一种内部真值表来确保我们获得数据输入的每种可能的组合。

FitNesse 测试工具对我们来说非常宝贵,因为随着时间的推移,由于需求的变化,计算的复杂性也发生了变化。我们能够确保计算的正确性,因为我们的 FitNesse 测试充当了非常好的回归套件。

其他提示

有时,您必须估计预期的结论,然后从程序运行中填充测试用例。

只要你确信它是正确的,这并不是什么大罪。如果代码更改破坏了代码,这些测试将立即让您知道。另外,如果您正在测试一个子集,那么信任的范围就不那么大了。

为了覆盖?至少覆盖每个分支一次(即任何 if 或循环语句)。覆盖每个阈值及其两侧(对于整数除法,分母为 -1、0 和 1)。然后再添加一些以达到良好的效果。

要测试现有代码,您应该假设代码(大部分)是正确的。所以你只需给它一些数据,运行它并记录结果。然后在测试用例中使用记录的结果。

当您进行下一次更改时,您的输出也应该发生变化,并且测试将失败。将新结果与您的预期进行比较。如果存在差异,那么您就遗漏了某些内容 -> 编写另一个测试来弄清楚发生了什么。

通过这种方式,您可以积累有关未知系统的专业知识。

当您要求覆盖范围时,我假设您无法为实际计算创建覆盖范围数据。在这种情况下,只需确保执行所有计算并为其提供多个输入即可。这应该会让您知道如何继续。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top