Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

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

by tirwhan (Abbot)
on Oct 25, 2005 at 15:59 UTC ( #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?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2021-02-27 19:27 GMT
Find Nodes?
    Voting Booth?

    No recent polls found