2013-12-12 33 views
0

我必须检查软件与系统(操作系统,设备,浏览器,客户端)的兼容性。只有一些系统被支持。我们有兼容系统的所有4个参数组合。鉴于某些系统的参数,我必须检查其兼容性。检查有效组合的算法

最好的我可以想到,我分配不同的操作系统值0-9,设备值100,200,... 900,类似的浏览器1000,2000,... 9000和客户端。保持所有有效添加的缓存并检查来自该缓存的给定系统。

有没有更好的方法?在上述方法中,我可以有可扩展性问题。建议我一些类似的算法。

+0

什么样的可扩展性问题? –

+0

假设os计数超过10,那么我必须相应地更改每个值。 –

+1

好吧,无论是根据每个显式组合来表达白名单,还是按照规则表达它。没有确定“兼容性”*先验*的算法。 –

回答

0

使用散列表。实际上,每种语言都将它们与方法一起构建在一起,以将它们序列化为文件。

0

您可以创建一些代表您的类的实例的对象,然后对该对象进行散列并将散列与工作样本的散列进行比较。这应该解决您的可伸缩性问题。

1

要绝对确定某种组合会起作用,您必须对其进行测试。如果你有很多组合来检查你不能检查每一个组合,你可以对可能出错的情况做出假设,并找到在这些假设下给你最有用的测试的方案。

如果您认为通过组合两种选择总是可以复制错误(例如,Windows +设备总是出现问题,无论浏览器和客户端如何),那么您可以找到一种方案来测试两种选择的每种组合,而无需测试每种组合一切 - 见http://en.wikipedia.org/wiki/All-pairs_testing