我想遵循以下内容来测试涉及复杂计算的应用程序:
- 如何使用测试自动化工具来测试计算?(使用自动化工具如 QTP 或开源工具)
- 如何在测试计算时确定覆盖率,如何设计测试用例?
提前致谢,Testmann
我想遵循以下内容来测试涉及复杂计算的应用程序:
提前致谢,Testmann
有时,您必须估计预期的结论,然后从程序运行中填充测试用例。
只要你确信它是正确的,这并不是什么大罪。如果代码更改破坏了代码,这些测试将立即让您知道。此外,如果您正在测试一个子集,那么信任度就不是那么大了。
和覆盖?至少覆盖每个分支一次(即任何 if 或循环语句)。覆盖每个阈值,它的两侧(对于整数除法,将 -1、0 和 1 作为分母)。然后添加一些更好的措施。
我们必须在我们构建的应用程序中测试一些非常复杂的计算。为此,我们使用了一个名为 FitNesse 的工具,它是一个 wiki 测试工具(也是开源的)。当您以表格样式格式提供数据时,它的效果非常好。
我们在 C# 中有一些代码可以执行一些非常复杂的计算。所以我们所做的是在 FitNesse 中编写了一个测试工具,然后我们为它提供了大量的测试数据。我们非常努力地涵盖所有情况,因此我们使用了一种内部真值表来确保我们获得了所有可能的数据输入组合。
FitNesse 测试工具对我们来说非常宝贵,因为随着时间的推移,计算的复杂性会因需求的变化而发生变化。我们能够确保计算的正确性,因为我们的 FitNesse 测试充当了一个非常好的回归套件。
要测试现有代码,您应该假设代码(大部分)是正确的。所以你只需给它一些数据,运行它并记录结果。然后在测试用例中使用记录的结果。
当您进行下一次更改时,您的输出也应该更改并且测试将失败。将新结果与您预期的结果进行比较。如果存在差异,那么你错过了一些东西 -> 编写另一个测试来弄清楚发生了什么。
这样,您可以建立关于未知系统的专业知识。
当您要求覆盖时,我假设您无法为实际计算创建覆盖数据。在这种情况下,只需确保执行所有计算并为它们提供多个输入。这应该让你知道如何进行。