----- Original Message ----- From: "Davanum Srinivas" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, March 12, 2003 10:32 Subject: Re: Map/HashMap with .NET (was Re: cvs commit: xml-axis/java/src/org/apache/axis/encoding/ser MapDeserializer.java MapSerializer.java)
> FYI. Ran "ant clean all-tests" :) I have this theory, that however much you test, you will still ship with what turns out to be a blazingly obvious defect. And whenever you ship a point release you fix the previous defect, but introduce another critical showstopper. As an example, the recent ant1.5.3 drop turned out to produce files that werent readable by winzip. Everything else worked, jar and the windowsXP viewer all worked, but not winzip. Yet this (one line) defect didnt get caught in the beta/RC phase, or in the gump, even though it was there. Three days after 1.5.3 ship, we start getting support calls. Axis1.0 had the Java1.4+servlets bug. I dont know what the sequel will be, but I am sure it is there. It is like Fred Brook's description of the OS/360 projects continual bug chase: the number of defects stayed constant, but their positions changed. OSS is meant to fix that, many eyeballs and so on. Plus we can do a faster turnaround time in closed source (which is why we fix .NET-Axis, interop, and not the other way around). But from my experience, too many end users steer clear of RC drops yet will pull down a release and run with it, even though from an OSS project perspective there is little difference between the two, or often even nightly builds. Yet the unit tests and the functional tests we can run is a lot more limited than the real world. (FYI, the ant test coverage is only 40%: http://codefeed.com/clover/report-ant-all/; I dont know what axis' is) When Axis1.1 ships, we will get complaints about some showstopper or regression that we should have noticed. I dont think this change is it, but I know it is out there, somewhere. And I dont see how we can fundamentally alter our processes to catch it before we ship it, if the end-user testing that finds it only surfaces when we ship 'release' code. -Steve
