Frequently Asked QuestionsFor other questions and answers see the Free and Open Source Java FAQ.
Q: What is the OpenJDK Quality team?
The quality team is a portion of the OpenJDK project focused on quality aspects of the OpenJDK platform. This begins with various forms of testing, test development, and tool development. While quality is a part of every OpenJDK development process, some on the team have this as their primary focus. Quality assessment of software like the OpenJDK platform is itself a challenging software engineering project.
Q: What sort of tests and test suites exist today?
There are four teams producing test suites for the OpenJDK project. These are:-
- The TCK/JCK team who produce the Java Compatibility Kit. This is the TCK for the "platform JSR" (such as the Java SE 6 JSR) and which is the primary means of testing conformance with the platform specification. This TCK is not being released under an open source license (see the Java Opensource FAQ for more details).
- There is a unit and regression test suite developed by the Java SE engineering team. Some of these tests are being released with the OpenJDK source release.
- There are performance and benchmarking tests developed and performed by the performance engineering team.
- There are functional tests developed by the Software Quality Engineering (SQE) team. These are developed in parallel with development of Java SE and OpenJDK new features and bug fixes. These tests are not being released at this time.
It is likely to occur within calendar year 2007. More information will be available when it is ready.
Q: How do I contribute functional tests?
This will be done similarly to the rest of the OpenJDK project. It will involve signing the Sun Contributor Agreement (SCA) and following other protocols which are yet to be determined.
Q: I have a test suite I'd like to contribute, what do I do?
Please contact the quality team for more information. It will involve signing the SCA.
Q: In what areas of Java quality will my contribution be most effective?
Some areas of particular interest include:
- Areas which have the greatest incidence of bugs can be improved through developing tests related to the bugs.
- Areas which are being reimplemented to clear encumbrances will require thorough testing. The current (encumbered) code has undergone years of development, testing and refinement, and the newly implemented unencumbered code will also require a period of testing and refinement before it reaches the same level of quality.
- Areas, specific platforms, locales, browsers, etc which are not in Sun's supported platform matrix. These receive minimal or no testing by Sun.
The OpenJDK project source code is used as the basis of many commercial products. Improvements in quality made with the OpenJDK project source will, in time, improve the quality of the commercial derivative products.
Q: What do I do when I find a bug?
Report it through bugs.sun.com. If you are uncertain whether you've found a bug the OpenJDK project has several discussion lists to which you can bring your observations.
Q: How do I give you other (non-bug) feedback?
The OpenJDK project has several discussion lists to which you can bring your observations.