Date Added: Aug 2010
Software testing attempts to reveal software faults by executing the program on input values and comparing the outputs from the execution with expected outputs. Testing software is easier when testability is high, so increasing testability allows the detection of faults to be done more efficiently. Component-based software is often constructed from third party software components. When this is done, the reused components must be retested in the new environment to ensure that they integrate correctly into the new context. However, the "Black box" nature of reused components, although offering great benefits otherwise, implicitly reduces their testability.