规范,一致性,兼容性,测试...它们是什么一回事呢?

有时候这一切条件似乎很混乱。 或者它不如说他们通常甚至总是这样。 abstract Specification, conformance, compatibility, tests... What are they all about? 特别是当不同的个人和公司以不同的方式了解他们周围的情况。 因此,让我们从头开始。

有大量的标准规格或我们身边。 韦伯斯特字典描述标准, 例如设立的机关或某事,自定义一个模型,或一般的同意 所以基本上这是规则,其他人在使用清单必须服从。

让我们创建一个计算机语言。 所有规范首先是必要的,这将描述整个概念模型,告诉什么可以作为一个程序开发人员编写,将如何表现,将是什么编制,执行和在创建所有必需的文件,等等 - 就是这样,人都阻挡不了那里。 如果这个想法是不够好几个其他公司可能希望创建自己的实现:菲编译器和执行环境。 但他们必须遵守的规范。 否则,相同的程序将运行在一个并运行不同,甚至失败的其他执行。 规定由指定的专递执行所有被称为一致性

为什么会这样重要? money coins Specification, conformance, compatibility, tests... What are they all about? 那么,让我们说,这门新的语言是用于创建股票交换计划。 想象一下,这是写在美国,在纽约证券交易所以及测试和使用。 它是那么好,这在世界各地购买了许可证,并开始使用自己的语言实现这一新计划的其他国家。 如果实现不服从的规范,同样的程序可能与客户的钱不同的事情。 基本上这可能出售股票交流计划时,商业代理,推行“购买”按钮,或购买钢材代替水果。

良好的问题可以是:“为什么不同的实现? 让我们创建一个并使用它。“。 有不同的答案。 有几家公司可能想使用此不同的平台(Solaris操作系统,Linux,Windows)和设备(台式电脑,移动电话,掌上电脑,学生计算器等语言)。 其他人想要他们的需要优化算法,铁执行这些大型数据库程序等将是10倍的速度。

关键的一点是,几个不同的实现必须完全相同的工作,并根据该规范。 如果他们这样做,他们被称为兼容 坏的部分是,没有人可以肯定的。 这就是为什么核查机制是必要的。 通常它是一个测试套件,验证一致性和兼容性。 而在这种情况下,说是错误的东西几乎是兼容或99%兼容。 有可能是或否。

no bug2 Specification, conformance, compatibility, tests... What are they all about? 让我们走向一个例子。 Sun微系统发明Java语言。 为了更精确的几个不同版本的Java市场创建。 最有名的是 Java ME的 Java SE中 Java EE的 并为他们每个人是一个单独的规范。 Sun微系统有其自己的实现,这是最常用的。 然而,语言是那么好,有不少其他公司和它们的实现。 出于兼容性和一致性的目的有TCKs( 测试一致性工具包 )。 TCK的是一种产品,其中包括多项测试,这是正确的,如果按一个实现从规范的规则检查。

我的打算是让一个什么样的规格,一致性,兼容性和TCK的是,为什么他们是如此的重要思想。




  • 分享/书签
Print This Post 打印此职位

99% -是不是够?

99% 今天是一个伟大的日子。 我会尽量解释原因。 正如我在我的介绍员额提到我们的团队是创建几个不同的TCK的。 该地区是我的工作是所谓的郎 - 我开发的Java语言测试。 很久以前,有超过2年后,我们开始工作 JLS的3规格 我们必须解决这往往在规格变化(我答应写更多有关所发生的许多问题)。 我们的团队正在整理JCK了6a中,郎测试是本JCK了一部分。 今天,我运行脚本的覆盖面,我们终于可以说,我们有99%JLS的三断言覆盖率。 为了更准确,我们有99.4%。 这就是说,我们写在JLS的3测试为99%,我们有sentances潜在检验的标志。 是不是很酷? 我敢打赌,它是!

这项工作当然还没有结束,也不会如此-有很多原因,需要更多的测试:

  • 深度报道的改善 - 更多的是需要一些断言测试;
  • 有sentances是不可测的,但有几个原因,我们没有标记为潜在的可检验他们;
  • JLS的4会有很快,我们开始做这个工作,应该尽快。

不同的人有可能在一个所有权问题相反的答案。大多数人会回答说:“当然。” 事实上,99%几乎是100%。 什么是100% - 这是一个完美。 99%看起来不错,这是伟大的。 但我们必须明白这个数字代表什么,什么可以改进。 我认为“是的,这是伟大的,巨大的,巨大的,但没有,这还不够,我想要更多,甚至超过100%”,这就是为什么我打算建立一个深入报道计算脚本。

对所有Sun开发谁也JCK了朗努力下,谁帮助人们(特别是编译器团队感谢),当然也非常感谢所有谁使用Java开发 :-)

Java世界变得更加兼容和安全!




  • 分享/书签
Print This Post 打印此职位

你好,世界。

我会阅读网志。 我开始读他们更多的工作。 我为什么要这样做呢? 嗯.. 我是一个信徒,信息共享确实使他人的工作更有趣。 不只是工作,但人的生命整体。 分享知识和思想是实现社区建设的一大步。 博客允许出版的想法,意见,想法,给读者的关注。 虽然读者可以打开一个讨论使用评论主题的对话。
我想创造我的个人博客很久以前,但我想我终于做到了。
我作为一个工作组中,创建一个非常重要的产品的软件工程师。 本产品不一样良好的Java或Solaris已知。 我想说的软件工程师在这个巨大的世界最不知道。 但是没有这个产品就没有我们所熟悉的Java。 至少不会像Java的好,受欢迎和广泛的传播,因为它是和我们希望它是。 如果没有这种产品不会有沃拉(写一次到处运行)。 是的,我说的兼容性。 而且该产品是一种用于Java的TCK(技术兼容性工具包)。 两个词的TCK是一个测试套件,它可以确保Java的实施是否符合规范。 我的下几组作品的TCK的。 但最主要的是为Java SE平台。
有几种不同的领域,JCK了(对Java SE的TCK):空气污染指数,Java语言和VM。
我的领域我工作2年以上的,是“Java语言”。 我写的编译器和运行测试,以确保新的和其他公司的行为完全实现,因为它是在JLS的(Java语言规范)说。
在这个博客,我会尝试分享我的知识,我的意见和想法对我的工作。
注:英语不是我的母语。 这就是为什么我想道歉,(可能出现的错误,我相信他们有很多已经)在我的博客怪异sentances。 我会尽力做到最好。




  • 分享/书签
Print This Post 打印此职位