2

我们有一个应用程序现在有一个 64 位目标,以及旧的 32 位目标。我的问题涉及我们的单元测试。我们是否也应该在两者中编译和运行我们的单元测试?我们有没有机会通过这种方式发现缺陷?我是不是太偏执了?

4

2 回答 2

3
  1. 如果该语言暴露了 32 位和 64 位模式之间的差异,那么您当然应该对两者进行单元测试。与仅测试一个平台相比,所需的人力资源不到两倍,因此很划算:)。

  2. 如果您的语言没有公开 32 位和 64 位之间的差异(例如,您在该语言中只有无界整数),您仍然应该对这两个平台进行单元测试。您会在平台无关语言的平台相关实现中发现错误,或者确保没有任何明显影响您的代码的错误。在这种情况下,第二组测试的额外人力成本为零,预言机与第一组相同。

编辑:再次考虑案例 1,也许您应该编写代码,以便它在两个平台上给出相同的结果,即使您的语言暴露了 32 位和 64 位之间的差异。在这种情况下,两个系列测试的预言都是相同的。

于 2010-01-22T14:47:33.687 回答
1

我相信它们都必须为每个夜间构建运行。对于日常集成构建,尽管只运行一组测试就足够了。

于 2010-01-22T14:49:21.280 回答