One of the First Java Applications
Curious how much Java is a test-driven technology ?
Few words for a background.
The Java TM Compatibility Kit (JCK) is
a test suite, used to
verify if the Java standard is correctly implemented. The first JCK
came out together with the first JDK from SUN, now this effort evolved
into the industry-wide Java
The JavaTest TM harness is a test
monitor, used in first versions of JCK, then across multiple Java
Technology Compatibility Kits (TCK), now evolved into a general
source test harness.
How it started
With permission of Jonathan
Gibbons, who was
around when Java was born, here is his story of the JavaTest childhood:
JavaTest started round about JDK 1.0.2, JCK 1.0.2a was
applet-based and did not use JavaTest; JavaTest was
introduced in JCK 1.0.2b.
It definitely was not the first application written in Java,
but it is true that testing was important to Java from the beginning.
JavaTest is sufficiently old that we had to develop many GUI widgets
ourselves, and one of the early JavaTest developers ( href="http://research.sun.com/people/prinzing/">Tim Prinzing)
on to become a significant member in the Swing team. It is probably
reasonable to say that Tim pioneered light-weight components.
You can see that testing is one of keys that
brought Java platform to where it is now.
Java's way of compatibility testing, that is having high quality
TCK required to pass to get Java logo, is how Write Once Run
achieved, it is the cost of application portability and
On the road
Inspired by the conversation at
Herron's Blog, I was
looking for analogy to illustrate the value
of compatibility testing
in the Java ecosystem, here it is - Java is
compatibility testing is its pavement.
are vehicles and the hard cover on the road makes it
possible to drive
For Java ME platform, its
is a freedom to
number of wheels, engine, use a bicycle or a truck. Another
part, the 'dark side', is where the road cover has holes, caused by
bugs in specification and implementations, test coverage problems.
Services are built
around the road to take care of vehicles and holes, like href="http://java.sun.com/products/javadevice/index.jsp">JDTS
and Java Verified,
while the road has its pavement (TCKs),
differentiating it from deserts, forests and swamps.