Component users need to customize components they obtain from providers, because providers usually develop components for general use. Although the customization is accomplished by modifying the interface of a component, faults from customization appear when the implementation part of a component and the interfaces interact. The implementation part is a black-box, whose source code is not available to a component user, while the interface is a white-box, whose source code is available for customization. Therefore, customization faults should be tested using both the black-box part and the white-box part of a component. This paper proposes a new technique to test customization faults using software fault injection and mutation testing, and the technique is tailored to Enterprise JavaBeans. Test cases are selected by injecting faults not into the entire interface but into specific parts of the component's interface. The specific parts that are chosen control the effectiveness of the test cases. An empirical study to evaluate the technique is reported.
- Component-based software development
- Enterprise JavaBeans
- Mutation testing
- Software testing
- Test case effectiveness