Jacks:Java的兼容性测试 开放源码之路 - 编程入门网
案例通过了,哪些又失败了。但不用害怕,Jacks 包括了一系列记录和测试结果分析特性,能够随时间跟踪测试结果。这是一项关键特性,因为它为 Java 编译器开发者提供了一种跟踪错误修正状态和可能回归的方法。
如何编写 Jacks,以及为什么使用 Tcl 当实现例如 Jacks 这样的测试套件时,脚本语言是个很自然的选择,而使用 Tcl 也有以下几个原因: Tcl 是开放源码,因此在今后的一段时间内仍然会继续存在。 易于安装,不需要编译脚本。 易于读写,脚本语言远比 C/C++ 更易于掌握。 易于使用字符串处理和常规规则表达式特性。 高度可移植,在比 Java 多的平台上运行。 过去十年中成功地在几千个组织中使用过 具有讽刺意味的是,它曾是 Sun 项目 :) Mo DeJong 说,“Jacks 最了不起的一个特性是自生成文档。” 在 Jacks 主页上,您可以找到到达测试案例索引页面的链接,这些页面列出了所有可用的测试案例。它以几种有用的方式进行索引和交叉引用。可以方便地通过名称查找测试案例,也可以通过现有测试来发现某个 JLS 章节的内容是多么完善。Tcl 高度动态的语言特性使自记录测试案例的实现更容易。 到目前为止,Jacks 支持以下几种 Java 编译器: JDK 1.3(1.1 和 1.2 也可以使用,但已经过时了) Jikes,IBM 的开放源码 Java 编译器 Kaffe,利用了 Kopi 编译器 GCJ,到 gcc 的 Java 前端 随处改进 Java 编译器 Jacks 最初着重只为 Jikes 项目提供编译器测试。原来的目标是要替换为 Jikes 创建的自制测试系统,但这个初衷由于太难建立和使用而被放弃了。人们很快发现,如果测试套件变得更常规一些,就可以为其它 Java 编译器项目使用。这样将会导致已提交测试案例在数量上的增加。至少,让其它 Java 专家评估一下正确性测试案例也并无大碍。 Jikes 项目自然大大利用鉴了 Jacks,但 GCJ 和 Kopi 编译器项目又如何呢?Tom Tromey,Red Hat 的常任 Java 领导者,已经意识到了 Jacks 开发对于 GCJ 项目的作用。“Jacks 对于 GCJ 项目已经有了实际意义。每当我在进行前端编译器更改时就会运行 Jacks,并定期使用 Jacks 查找 GCJ 中的错误。添加测试是桩小事。框架非常易于使用,考虑也很周到。” 在第一次运行了 Jacks 后,Kopi 编译器的项目经理 Thomas Graf 也成了一个拥戴者。“第一次运行产生了 169 个失败的测试。在基于对某些失败测试的分析而应用一些修正后,失败的测试数为 147 个。这些结果非常振奋人心(对于 Jacks:)。结论是:Jacks 测试套件对于提高编译器的质量来说确实是一种非常有价值的工具!” |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |