Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^2: (OT) Black- vs. white-box testing

by tirwhan (Abbot)
on Oct 25, 2005 at 15:59 UTC ( [id://502768]=note: print w/replies, xml ) Need Help??


in reply to Re: (OT) Black- vs. white-box testing
in thread (OT) Black- vs. white-box testing

Tests written against an implementation rely on internals of the code which are not part of the interface. As a very simple example, say you have a module which takes input A and B, merges that data into a data structure C, then performs some calculations on it and gives you back D. If you were testing against the interface(black-box), you'd write tests which put in A and B and check whether you get the correct D out. If you were to write a test against the implementation(white-box), you'd also check whether C conforms to your expectations or whether the algorithm to turn C into D works a particular way. If later the module writer decides to change the implementation and do without the intermediate C (or change it in some way), the test breaks.

  • Comment on Re^2: (OT) Black- vs. white-box testing

Replies are listed 'Best First'.
Re^3: (OT) Black- vs. white-box testing
by blazar (Canon) on Oct 25, 2005 at 17:46 UTC
    Then I agree with OP that such a practice (white-box tests) are, in general, a CodeSmell. If one considered the data structure C to be important enough to warrant a test, then he should refactor, or enrich the interface (spec) so as to include it too.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://502768]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-25 01:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found