Re: System Test
gk wrote On 11/07/06 11:40,:
Hi,
I know Unit Test which the developer does.
However i come accross some more tests which i dont understand.
can you tell whats System Test ? i am confused with these 3 testing
below
System Test , User Acceptance Test(UAT) , System Integration Test (SIT)
Are all these same ? please explain.
Tests differ in their scope and in their purposes.
Let's suppose you have a library of a hundred classes,
every one of them thoroughly unit-tested to ensure (as far
as testing can ensure) that it meets its specification. Now
build an application by combining these hundred classes, all
known to work correctly in isolation. Will the application
work correctly? Would you like to buy a bridge?
System tests try to expose the problems that arise when
correctly-functioning parts are combined and then interact in
unforseen ways. Integration testing does the same sort of
thing, but "system" testing is usually of the complete system
while "integration" testing may be of smaller sub-systems.
Acceptance testing -- Well, gk, you've hired me to build
you a system that delivers some kind of service according to
some kind of specification, and voila! here it is, fresh from
my Quality Assurance department, all tested and ready to go.
Give me the ten million dollars, and it's all yours.
If you're a prudent person, gk, you might want to verify
for yourself that the system works as intended, and you might
even want to do so *before* paying me the ten mil. So you've
had your lawyers insert some language into our contract that
says you don't have to pay until the system passes your test.
But I'm also a prudent person, and I see immediately that you
can keep dreaming up fanciful tests ad infinitum to avoid
paying me, and in effect to get your system for free! So I
had my lawyers insist that the test be spelled out in the
contract, along with criteria for success and failure: once
the system passes the agreed-upon test, you owe me my money.
That's an acceptance test: A test the system must pass before
you will "accept" it as meeting the specification.
N.B : However, there are two more terms i came across also ....black
box and white box (i know what it means but is this a synonyms of any
of these in the above) ?
These refer not to the goals of the testing, but to their
methods. A "black box" is opaque; you can see the outside but
not the inner workings. A black box test is a test you can
perform from the "outside" of the system, without needing to
know how the system is built internally. Roughly speaking, it's
"testing to the specification."
A "white box" or "clear box" test relies on being able to
observe and perhaps even modify the system's internals. You
might measure the CPU consumption of the encryption module, or
the amount of memory used by the video-decimation routine. You
might test the system's fault resistance by deliberately causing
malfunctions in selected parts.
Black-box test: How quickly can your car accelerate from
zero to sixty mph?
White-box test: What kinds of engine wear can we deduce
by examining the tiny bits of metal in the crankcase oil?
wow....so many tests!!!
Wow...so many bugs!
--
Eric.Sosman@sun.com