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