Unit vs. System Testing

THE testing perspective on CBSD reflects a stubborn bias toward unit testing of software. Testing small programs is such a satisfactory process under such good intellectual control, in strong contrast to testing large systems, as to suggest that only unit testing can be made to work. Behind this hypothesis is the belief that testing is intrinsically no more than a craft, which talented people can successfully accomplish in limited circumstances, but which lacks a satisfactory engineering basis, which will never ‘scale up.’ There is no solid evidence supporting this belief that testing will never become routine engineering. It hasn’t happened in almost 60 years of trying, but of course there might be a breakthrough tomorrow. (Or, less exciting but with many historical precedents, the advance of technology may provide a brute-force ‘solution’ that isn’t a breakthrough but workswell enough that system testing ceases to be a real problem.)