让它简单吗?

2plus2 Make it simple? 规范是重要的 - 这句话是大家都清楚。 一种广泛使用的产品,没有一个规范的技术或语言是没有用的。 一个没有一个TestSuite规范是危险的。 一个没有标记的TestSuite和考验是不可能的。 这个过程相当复杂。 不过有一些方法可以简化的标记阶段。

至于Java语言规范 (JLS的)和 Java虚拟机规范 (JVM中)他们在FrameMaker中写的。 后来规范是出口到HTML和PDF。 标记嵌入到HTML版本。 我的看法是,标记信息应该被置于(或连接)的起源文字。 在我们的情况下,它是FrameMaker中的文件。 我不知道这是有可能的话,但我猜它是。 如果没有,也许FrameMaker中是不是最好的解决办法。 因此,我们将大大减少时间和转移旧标记和标记了新的案文需要努力争取。 而且在写作的规范下一次修订与TCK的团队撰文标记连同所有chenged和新论断。 我想说的最佳途径是写作的规范和标记过程是在同一时间内完成。 这是合理的撰文指出测试应该测试什么报表开发。




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

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

有时候这一切条件似乎很混乱。 或者它不如说他们通常甚至总是这样。 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 打印此职位