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

If I had realized that you made this into a meditation, then Re^12: Corner cases are not always "code smell" would have been a response to this node rather than being buried deep in that thread.

To clarify one point, if you create a private API to allow tests of private functions, I consider that to be white-box testing. Those are tests that cover internal aspects of behaviour that nobody else should rely on, which might change in future versions.

I feel that people who include private functions as part of the specification either have or are in great danger of missing the entire point of modularity. Loose coupling means that you pretend that you don't know about privates.