Components Have Test Buddies
Most large software systems are architected as component-based systems. In such systems, components are developed and tested separately. As components cooperate for providing services, testing of a component also reveals defects in other components. In this paper we study the role testing of other components plays in finding defects in a component by analyzing defect data of an earlier version of Windows. Our analysis shows that testing of other components often is the largest source of finding defects in a component. The analysis also shows that though many components reveal defects in a component, often a small set of components – the Test Buddies – exists whose testing reveals the vast majority of the defects found by testing other components. The Test Buddies of a component are those with a heavy interaction with the component and represent the high priority customers for testing. The Test Buddy information for a system can be determined by the test data of an earlier release, and then can be used in different ways to improve the testing.
KeywordsEarly Release Defect Data Quality Control Process Role Testing Test Script
Unable to display preview. Download preview PDF.
- 1.Beydeda, S., Gruhn, V.: An integrated testing technique for component-based software. In: International Conference on Computer Systems and Applications. IEEE Press, Los Alamitos (2001)Google Scholar
- 2.Rex Black Managing the Testing Process. Microsoft Press (1999)Google Scholar
- 3.Brown, N.: Industrial-strength management strategies. IEEE Software (July 1996)Google Scholar
- 5.Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering (2002)Google Scholar
- 6.Harrold, M.J., Liang, D., Sinha, S.: An approach to analyzing and testing component-based systems. In: ICSE Workshop Testing Distributed Component-Based Systems (1999)Google Scholar
- 7.Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Transactions on Software Engineering (2001)Google Scholar
- 8.Onoma, A.K., Tsai, W.T., Poonawala, M.H., Suganuma, H.: Regression testing in an industrial environment. Communications of the ACM (1998)Google Scholar
- 9.Salomon, D., Russinovich, M.E.: Inside Microsoft Windows 2000, 3rd edn. Microsoft Press (2000)Google Scholar
- 10.Srivastava, A., Thiagarajan, J.: Effectively prioritizing tests in development environment. ACM SIGSOFT Software Engineering Notes (2002)Google Scholar
- 12.Weyuker, E.J.: Testing Component-Based Software: A cautionary Tale. IEEE Software (5), 54–59 (1998)Google Scholar
- 13.Wu, Y., Pan, D., Chen, M.H.: Techniques for Testing Component-Based Software. In: Proc. of ICECCS, pp. 222–232 (2001)Google Scholar