A
Ant
Jack said:Niet!
Da! Well perhaps not *all* situations/configurations, but those where
we expect the software to be used.
You either test, or you declare the software to be unqualified on
platform X. Easie Peasie. Surrender is not an option.
Sure. But exhaustive testing under all system conditions and software
configurations, even on a single platform, is usually impractical. For
example we assume that X-GUI widget, supplied by Sun, MS, Borland, or
whoever, will behave according to the documentation. Little do we know
that under a particular window arrangement, unusual data set, or some
other circumstance, the thing doesn't perform as expected. We don't
have the source, and are unable to check the code. There are a
potentially infinite number of scenarios in which we can black-box
test this, or any other component.
Of course. But you just don't ship code for platform X, if you haven't
checked that it works on that platform. Why else would I be running an
Oracle database server? Certainly not for fun. Oracle sucks.
I don't understand the Oracle reference.
Point taken. Java isn't what it is sold as.
Ok, but I am also thinking about other languages.
You have to test on every platform; and if you are selling the code to
$BIGCORP, then you also have to test in whatever environment they want
to run it in.
Yes, absolutely. And then later they install service pack N for their
OS, and wonder why it no longer works!
Java is not magic. It's just another programming language.
Threads in particular are dangerous; MP hardware seems to throw up
special difficulties with threading.
If our application is for a modern general purpose OS, it's running
concurrently with other programs in a multi-threaded environment, even
if ours is only a single thread of execution. Hopefully we can test it
together with all the other apps the customer says will be running to
ensure there are no surprises.