规范,一致性,兼容性,测试...它们是什么一回事呢?
有时候这一切条件似乎很混乱。 或者它不如说他们通常甚至总是这样。
特别是当不同的个人和公司以不同的方式了解他们周围的情况。 因此,让我们从头开始。
有大量的标准规格或我们身边。 韦伯斯特字典描述标准, 例如设立的机关或某事,自定义一个模型,或一般的同意 。 所以基本上这是规则,其他人在使用清单必须服从。
让我们创建一个计算机语言。 所有的第一个规范是必要的,这将描述整个概念模型,告诉什么可以被作为一个开发人员编写的程序,如何将行为,什么是编制,执行和后创建所有这些必要的文件等 - 这是it,人都阻挡不了那里。 如果这个想法是不够好几个其他公司可能希望创建自己的实现:菲编译器和执行环境。 但他们必须遵守的规范。 否则,相同的程序将运行在一个并运行不同,甚至失败的其他执行。 规定由指定的专递执行所有被称为一致性 。
为什么会这样重要?
那么,让我们说,这门新的语言是用于创建股票交换计划。 想象一下,这是写在美国,在纽约证券交易所以及测试和使用。 它是那么好,这在世界各地购买了许可证,并开始使用自己的语言实现这一新计划的其他国家。 如果执行不服从的规范,同样的程序可能与客户的钱不同的事情。 基本上这可能出售股票交流计划时,商业代理,推行“购买”按钮,或购买钢材代替水果。
良好的问题可以是:“为什么不同的实现? 让我们创建一个并使用它。“。 有不同的答案。 有几家公司可能想使用此不同的平台(Solaris操作系统,Linux,Windows)和设备(台式电脑,移动电话,掌上电脑,学生计算器等语言)。 其他人想要他们的需要优化算法,铁执行这些大型数据库程序等将是10倍的速度。
关键的一点是,几个不同的实现必须完全相同的工作,并根据该规范。 如果他们这样做,他们被称为兼容 。 坏的部分是,没有人可以肯定的。 这就是为什么核查机制是必要的。 通常它是一个测试套件,验证一致性和兼容性。 而在这种情况下,说是错误的东西几乎是兼容或99%兼容。 有可能是或否。
让我们走向一个例子。 Sun微系统发明Java语言。 为了更精确的几个不同版本的Java市场创建。 最有名的是 , Java SE中和 。 并为他们每个人是一个单独的规范。 Sun微系统有其自己的实现,这是最常用的。 然而,语言是那么好,有不少其他公司和它们的实现。 出于兼容性和一致性的目的有TCKs( 测试一致性工具包 )。 TCK的是一种产品,其中包括多项测试,这是正确的,如果按一个实现从规范的规则检查。
我的打算是让一个什么样的规格,一致性,兼容性和TCK的是,为什么他们是如此的重要思想。
断言 , 相容性 , 一致性 , 执行 , 爪哇 , Java语言 , Java SE中 , 语言 , Linux操作系统 , Solaris操作系统 , 规格 , 规格 , 太阳 , 太阳微系统 , TCK的兼容性测试 , 一致性测试套件 , 测试 , 视窗

