AdoptOpenJDK 公开发布了一个测试套件,旨在确保每个 AdoptOpenJDK 版本的功能正确性、性能和整体效率。
AdoptOpenJDK Quality Assurance(AQA)的目标是让发布的版本更符合企业客户的期望,为希望不付出额外成本就可以保持 Java 最新的组织提供一致的体验。虽然 Java 是免费的,但从 Java 11 开始,Oracle JRE 成了需要商业许可才能使用的商业产品。为了避开这些变更的用户已经转向其他 JRE,比如 AdoptOpenJDK,或者公共 GPL 构建版——这两个都是免费的。
AdoptOpenJDK 是基于完整版 OpenJDK 源代码构建的,而这个新的质量保证计划提供了比 Java Compatibility Kit(JCK)更全面的验证。除了基本的一致性测试之外,它还提供了性能、安全性和可伸缩性方面的细节。例如,在 4 月份,Docker提供的Java版本在功能上虽然是兼容的,但没有包含一系列安全补丁,导致它容易被攻击。
AQA 的第一次迭代提供了 30,000 多个测试,其中大多数都可以在开发人员的笔记本上运行。一些“特殊”测试(比如多字节字符集)被排除在外,因为它们需要特殊的硬件。这些测试旨在鼓励 OpenJDK 开发人员在提交代码之前先运行测试,而不是让持续集成服务器运行测试。那些特殊测试的目的是为了找出与特殊配置或硬件有关的问题,比如导致2008年在土耳其发生的谋杀/自杀事件的字符编码问题。
AQA 还提供了一系列性能测试,以确保每个版本都能保持良好的性能。与旨在比较不同 Java 版本性能的SpecJBB和Renaissance不同,AQA 测试是自引用的,旨在防止版本出现回归,比如变慢或消耗额外的资源。AQA Jenkins测试套件已经可以运行成功,需要 15 分钟或更少的时间。测试套件包括了自定义基准测试,以及来自流行的开源项目(如 Kafka 和 Jerry)的性能测试。扩展测试覆盖范围是为了防止 JDK 在其他项目中速度可能会下降,尽管在运行自己的测试时可能很快。
大多数 Java 用户不会直接与 AQA 发生交互,不过下载使用AdoptOpenJDK二进制文件的用户会更容易感受到这种影响。
原文链接:
AdoptOpenJDK Introduces Quality Assurance Program
评论